框架未找到MapKit

时间:2009-12-16 11:50:10

标签: iphone xcode linker mapkit

我在项目中使用 Xcode 3.2.1 ,其中 Base SDK是iPhone Device 3.0 iPhone OS部署目标是iPhone OS 2.0 换句话说,是向后兼容的应用程序。

问题是 MapKit Framework 。它被添加为弱链接库,但应用程序只是没有链接“设备 - 2.2.1”目标。我的想法已经用完......我还能做些什么但是将图书馆标记为“弱”链接?它过去常常起作用,但现在不再起作用了。

这是命令行的一部分,对我来说很好看:

-framework Foundation -framework UIKit -framework CoreGraphics
 -weak_framework CoreLocation -weak_framework MapKit

错误提示:

ld: framework not found MapKit
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.0 failed with exit code 1

3 个答案:

答案 0 :(得分:1)

要在2.2.1上运行您的应用,您无需在该菜单中选择2.2.1,只需将“Active SDK”设置为3.0或更高版本。

答案 1 :(得分:1)

尝试Apple的MailComposer示例项目,该项目与MessageUI框架类似。您可能需要做的是将Base SDK设置为2.2.1而不是2.0。

答案 2 :(得分:1)

只是澄清问题和解决方案:

问题:我想创建一个向后兼容的应用程序,它可以在iPhone OS 2.x和3.x设备上运行。当可用时,它将使用3.x特定功能,例如MapKit。

解决方案:将您的“Base SDK设置为iPhone设备3.0”“iPhone OS部署目标设置为iPhone OS 2.0”。连接你的iPhone OS 2.x设备(我的是iPod Touch,我拒绝升级到最新的iPod软件版本)并在左上角选择目标为“Device - 3.0” - 即使是您连接的设备完全不兼容!

非常混乱,起初看起来完全不符合逻辑,但这就是它的工作方式!