2010-09-14 90 views
2

我刚刚更新xcode到版本4.0。我的应用程序中的很多框架现在都以红色突出显示,它们似乎不见了。即MapKit.framework缺少框架iOS 4.0

4.0是不是向后兼容3.1.3?

问候, 斯蒂芬

回答

1

如果您的项目正在与3.1.3好,然后执行以下操作:1. 在Xcode左侧窗格中,选择项目名称,点击右键(控制单击),然后选择“获取信息”。 2.在Build选项卡中,将Base SDK更改为iPhone Device 4.0(您最新下载的SDK) 3.同样,在选择“Project”菜单 - > Edit active target后重复上述步骤。

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

0

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

现在,您的应用程序将运行在运行该版本或更高版本iOS的任何设备上。但有一个新的皱纹。如果将代码添加到使用4.x中引入的类或方法的项目中,则在Simulator中不会有任何警告,但在3.x设备调用时会崩溃。您必须使用测试设备运行时版本的代码来打包这些调用,并且只在运行时版本支持这些调用时才进行调用。

这里全部详细讨论:Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs,其中包含关于如何最好地对这些运行时检查进行编码的讨论的链接。