与Interface Builder的链接较弱

时间:2009-11-13 08:24:09

标签: iphone xcode interface-builder

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

编译目标“Device 3.0 - Debug”即可,甚至安装在运行2.2.1的iPod Touch上!只要我没有使用MapKit激活视图就运行正常,如果我这样做就会崩溃。

我使用Interface Builder创建了一个视图,在其上拖动了一个MkMapView对象。据我所知,这是对MapKit的唯一引用,所以问题是:当我使用弱链接时,我可以在IB中使用相关的UI元素吗?我应该只在XCode中完成所有这些吗?猜对了,但能够在“2.2.1”设备上安装和运行“3.0”应用程序会让我感到困惑......

1 个答案:

答案 0 :(得分:2)

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

您可以通过以下方式查看地图套件是否可用:

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