错误:无法加载 AX 捆绑包:MapKitFramework.axbundle。帮助?

Posted

技术标签:

【中文标题】错误:无法加载 AX 捆绑包:MapKitFramework.axbundle。帮助?【英文标题】:ERROR: unable to load AX Bundle: MapKitFramework.axbundle. Help? 【发布时间】:2011-01-08 08:41:12 【问题描述】:

我在 iPad 应用程序中使用 MapKit,在 Xcode 3.2.5 中将 Base SDK 设置为 ios 4.2。当我在 iPad Simulator 4.2 中运行该应用程序时,该应用程序运行良好。当我在 iPad Simulator 3.2 中运行它时,它在启动时崩溃并出现以下错误:

错误:无法加载 AX 捆绑包: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/AccessibilityBundles/MapKitFramework.axbundle

我做错了什么?

【问题讨论】:

【参考方案1】:

如果您的基础 SDK 设置为 4.2,那么对于以前的版本,所有赌注都将被取消。如果您以这种方式设置项目,您可能会将所需的最低目标也设置为 4.2,在这种情况下,程序将无法安装在 4.2 之前的设备上,因此不需要针对 3.2 模拟器进行测试真的值得花时间和精力。如果您回滚到较低版本的基础 SDK,您将与 3.2 模拟器兼容,但可能会失去更高版本框架的更高级功能。

【讨论】:

感谢您的回答。听起来你在说,即使我将目标设置为 3.2(我有),它仍然无法在 3.2 模拟器中工作。是对的吗? SDK 4.2 中不支持 3.2 Simulator 吗? 我的猜测是应该仍然具有向后兼容性,但老实说,我从来没有尝试过。但是,如果您在 3.2 sim 中使用仅在 4.2 中可用的 API 功能,或者针对 3.2,您的应用程序要么 a) 无法编译 b) 编译时会出现警告(这很可能),要么 c) 将崩溃。通常,只针对最新版本的框架是最安全的,除非您有充分的理由不这样做? 再次感谢。我实际上并没有使用仅在 4.2 中可用的功能。我遇到的唯一问题是 MapKit 框架,它在 3.2 中可用。如果我删除它,我可以在 3.2 模拟器中运行该应用程序。问题是我需要支持 3.2、4.2 和 MapKit,而 3.2 模拟器无法处理。 只是为了确认一下:您的 iOS 部署目标设置为 iOS 3.2,您的基础 SDK 设置为 4.2,对吗?这将在构建选项卡下的项目设置中。如果是这种情况,请尝试从头开始重新安装 SDK。我已经尝试过这些设置,一切似乎都很好。 (另外,如果你有一台 iPad 进行测试,运行 3.2,那也是一个很好的起点)【参考方案2】:

我在 3.2 设备上运行我的应用程序,发现我使用的是 CLLocationCoordinate2DMake,它仅适用于 iOS 4.0 及更高版本。我用以下代码替换了对 CLLocationCoordinate2DMake 的调用:

    CLLocationCoordinate2D coord;
    coord.latitude = lat;
    coord.longitude = lng;

问题解决了!它现在在 iPad Simulator 3.2 中运行。

【讨论】:

以上是关于错误:无法加载 AX 捆绑包:MapKitFramework.axbundle。帮助?的主要内容,如果未能解决你的问题,请参考以下文章

运行路径搜索路径原因:无法加载捆绑包“MySecondFramework”,因为它已损坏或缺少必要的资源

捆绑包 UITests 无法加载,因为它已损坏或缺少必要的资源。尝试重新安装捆绑包

作曲家无法加载包无效的版本字符串

无法加载捆绑包“MyProjectUITests”,因为它已损坏或缺少必要的资源。尝试重新安装捆绑包

仅在 iPhone 4 上无法加载名称为“MainWindow”的捆绑包 [...] 中的 NIB

无法加载 UITest 包