无法实例化名为 MKMapView 的类

我可能正在做一些非常愚蠢的事情,就像我以前做过的那样,它起作用了,而现在..。

创建了一个新的 iPad 项目,在详细视图中我添加了一个 MKMapView,将 MapKit.Framework 添加到项目中,将属性/等添加到头部。运行该项目并获取 SIGABRT

由于未捕获异常“ NSInvalidUnarchive veOperationException”终止应用程序,原因: “无法实例化 类名为 MKMapView’* *

我找到了 http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/,但是,正如我所说的,我已经添加了框架?

58865 次浏览

我也遇到过这种情况,但是我能够通过按照你链接中的步骤2的说明来克服它(顺便说一句,谢谢) :

  1. 将 MapKit 框架添加到项目中 文件夹-> 添加-> 现有框架)

我只是搜索了 MapKit 框架,将它添加到项目中,错误就消失了。

我还没有添加任何地图代码(虽然我有一个在 IB 中连接的 MapViewCommittee) ,但是到目前为止它工作得很好!

当我在模拟器上构建和运行的时候,我注意到我得到了这个信息(在本文提到的原始信息之上) :

Ld: 警告: 忽略文件 /用户/peter/编程/iPhone/iNspector/MapKit.Framework/MapKit, 文件是为不受支持的文件格式生成的,该格式不是 正在链接的体系结构(i386)

然后我只需要连接我的 iPhone,构建并在设备上运行,地图就可以工作了。

所以看起来 MapKit 框架不能在386架构上编译,它需要设备。

关于@future 震惊的输入,我还看到了

警告: 忽略文件/bla.../MapKit,文件是为不支持的文件格式构建的,这种格式不是被链接的体系结构(i386)

问题。

* * 检查以确保在将 MapKit框架添加到项目时没有将其复制到本地项目目录中。我不小心做到了这一点,XCode 给了我上面的错误。所以我将它从我的项目目录(在 Finder 中)中删除,重新编译,一切恢复正常。

如果您的项目中没有框架,请继续并按照 上面的回答中的说明重新链接。

找到了一个很好的开始使用 MapKit 的教程:
Http://www.youtube.com/watch?v=x-3jm24eigm&feature=related

对于 xCode 4.2:

Click on your project name ->targets ->building Phase ->link binary with library
-> click on + sign ->select mapKit.framework ->click add

在尝试部署到我的5.1手机(使用 XC 4.5)时,即使在将部署目标更改为5.1之后,我也收到了这个错误。看来我手机上还有谷歌地图所以地图更新没用了。在更新了我的手机操作系统之后,异常消失了。

单击您的项目以带来项目设置。在“目标”下,单击项目,从上面的工具栏“构建阶段”中选择。在“链接二进制库”选项卡下,您将看到项目中包含的框架列表。单击“ +”按钮并将 MapKit 库从显示的列表添加到您的项目中。

对于 Xcode 6.1:

  • 选择您的项目
  • 在常规选项卡中,查找 链接框架和库(最后一个)
  • 按 + 键
  • 搜索 MapKit 框架
  • 最后加上

慢慢来!

可以在 Xcode 7.2版之上工作

就我而言,从功能中选择 MAPS 会自动将你的框架链接到你的项目,你所要做的就是检查 能力-> 地图中的 MAPS 按钮。

这是所附的截图

enter image description here

请在构建阶段导入 WebKit。 You need to import the WebKit