Iphone iOS 4.0中缺少的框架

Iphone iOS 4.0中缺少的框架,iphone,xcode,Iphone,Xcode,我刚刚将xcode更新为4.0版。我的应用程序中的许多框架现在以红色突出显示,它们似乎缺失了。i、 e.MapKit.framework 4.0是否与3.1.3不向后兼容 问候,, Stephen如果您的项目能够很好地使用3.1.3,请执行以下操作: 1.在XCode左窗格中,选择项目名称,右键单击(控制单击)并选择“获取信息”。 2.在Build选项卡中,将基本SDK更改为iPhone设备4.0(您最新下载的SDK) 3.同样,在选择“项目”菜单->编辑活动目标后也重复上述步骤 然后关闭XCo

我刚刚将xcode更新为4.0版。我的应用程序中的许多框架现在以红色突出显示,它们似乎缺失了。i、 e.MapKit.framework

4.0是否与3.1.3不向后兼容

问候,,
Stephen

如果您的项目能够很好地使用3.1.3,请执行以下操作: 1.在XCode左窗格中,选择项目名称,右键单击(控制单击)并选择“获取信息”。 2.在Build选项卡中,将基本SDK更改为iPhone设备4.0(您最新下载的SDK) 3.同样,在选择“项目”菜单->编辑活动目标后也重复上述步骤

然后关闭XCode并重新启动XCode。 您的所有框架现在都可用。

但是此更改(本身)将阻止您的应用程序加载到3.1.x设备上。这是因为新设置“iOS部署目标”(与4.x SDK一起引入)将默认为与您刚才设置的基本SDK相同的值。您必须将此新设置(位于“部署”组中)更改为应用程序支持的最早iOS设备

现在,您的应用程序将在运行该版本或更高版本iOS的任何设备上运行。但是有一条新的皱纹。如果您向项目中添加使用4.x中引入的类或方法的代码,那么在模拟器中不会收到任何警告,但当被3.x设备调用时,它会崩溃。您必须使用测试设备运行时版本的代码包装此类调用,并且仅在运行时版本支持这些调用时才进行调用

这里详细讨论了这一切:,其中包括有关如何最好地编写这些运行时检查的讨论的链接