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

找不到框架mapkit

  •  1
  • JOM agenthunt  · 技术社区  · 16 年前

    我正在使用 XCOD3.3.1 在项目中,其中 基本SDK是iPhone设备3.0 iPhone OS部署目标是iPhone OS 2.0 换句话说,是向后兼容的应用程序。

    问题是 MapKit框架 . 它被添加为 弱链接库 但是这个应用程序并没有链接到“device-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 回复  |  直到 16 年前
        1
  •  1
  •   David Maymudes    16 年前

    要在2.2.1上运行应用程序,不需要在该菜单中选择2.2.1,只需将“活动SDK”设置为3.0或更高。

        2
  •  1
  •   cdespinosa Martin Cote    16 年前

    试试 MailComposer 来自Apple的示例项目,它使用messageui框架执行类似的操作。您可能需要将基本SDK设置为2.2.1而不是2.0。

        3
  •  1
  •   JOM agenthunt    16 年前

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

    问题: 我想创造一个 向后兼容的应用程序 它可以在iPhoneOS2.x和3.x设备上运行。如果可用,它将使用3.x特定功能,例如mapkit。

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

    很混乱,一开始看起来完全不符合逻辑,但这就是它的工作方式!