2009-11-13 108 views
0

应用弱联用3.X SDK功能,但需要在2.x设备上运行。该解决方案似乎是用“弱链接”,我照做了,但应用程序仍然无法编译* *为iPhone 2.2.1:“框架没有找到MapKit”。与Interface Builder中

编译目标“设备3.0 - 调试”就行了,甚至在我的iPod Touch上运行2.2.1安装!只要我没有使用MapKit激活视图,运行就OK,如果我这样做会崩溃。

我创建使用界面生成器的图,拖它的MKMapView对象。据我所知,这是MapKit唯一的参考,所以问题是:当我使用弱链接,我可以在IB使用相关的UI元素呢?我应该只在XCode中完成所有这些吗?猜对了,但能够上安装并运行“3.0”应用程序“2.2.1”设备混淆了我......

+0

没人知道?太容易的问题?太难了?我是否试图以“错误”的方式来做这件事,这是不应该用IB来做的吗? – JOM 2009-11-14 22:13:06

回答

2

你不应该载入包含3.0对象只像一个的MKMapView 2.0设备上的笔尖文件。这意味着,你必须从代码中检查你在nib中使用的框架/类的可用性。如果它们不可用,则不得加载笔尖。

这是你可以检查地图套件可供选择:

if (NSClassFromString(@"MKMapView") != NULL) { 
    // load nib, map kit is available 
} else { 
    // do something else, map kit is not there 
}