代码之家  ›  专栏  ›  技术社区  ›  JOM agenthunt

与接口生成器的弱链接

  •  0
  • JOM agenthunt  · 技术社区  · 15 年前

    应用程序使用3.x sdk功能,但需要在2.x设备中运行。解决方案似乎是使用了“弱链接”,我也这么做了,但应用程序仍然无法为iPhone2.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 回复  |  直到 15 年前
        1
  •  2
  •   Nikolai Ruhe    15 年前

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

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

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