Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 与接口生成器的弱链接_Iphone_Xcode_Interface Builder - Fatal编程技术网

Iphone 与接口生成器的弱链接

Iphone 与接口生成器的弱链接,iphone,xcode,interface-builder,Iphone,Xcode,Interface Builder,应用程序使用3.x SDK功能,但需要在2.x设备中运行。解决方案似乎使用了“弱链接”,我确实使用了,但应用程序仍然无法为iPhone 2.2.1“未找到框架映射工具包”进行“编译” 编译目标“设备3.0-调试”是可以的,甚至安装在运行2.2.1的iPodtouch上!只要我不使用MapKit激活视图,运行正常,如果我激活视图,则会崩溃 我使用Interface Builder创建了一个视图,并在其上拖动了一个MkMapView对象。据我所知,这是对MapKit的唯一引用,所以问题是:当我使用弱

应用程序使用3.x SDK功能,但需要在2.x设备中运行。解决方案似乎使用了“弱链接”,我确实使用了,但应用程序仍然无法为iPhone 2.2.1“未找到框架映射工具包”进行“编译”

编译目标“设备3.0-调试”是可以的,甚至安装在运行2.2.1的iPodtouch上!只要我不使用MapKit激活视图,运行正常,如果我激活视图,则会崩溃


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

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

以下是检查地图工具包是否可用的方法:

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

没人知道?太简单的问题?太难了?我是否试图以一种“错误”的方式来做这件事,这是IB不应该做的事情吗?