我可能在这里做了一些非常愚蠢的事情,因为我之前已经完成了它现在有效了......
创建了一个新的iPad项目,在详细信息视图中我添加了一个MKMapView,将MapKit.framework添加到项目中,将属性/等添加到标题中。去运行项目并获得带有
的SIGABRT****由于未捕获的异常'NSInvalidUnarchiveOperationException'而终止应用程序,原因:'无法实例化 名为MKMapView的类'**
我找到了http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/,但就像我说的那样,我已经添加了框架。我错过了什么?
答案 0 :(得分:375)
我也遇到了这个问题,但是我按照你的链接中的第2步的说明进行了操作(顺便说一句,谢谢):
- 将MapKit框架添加到项目中。 (控制+单击框架 文件夹 - >添加 - >现有框架)
醇>
我刚刚搜索了MapKit.framework,将其添加到项目中,错误就消失了。
我还没有添加任何地图代码(虽然我在IB中连接了MapViewDelegate),但到目前为止工作正常!
答案 1 :(得分:28)
单击您的项目以进行项目设置。在“目标”下,单击您的项目,从上方工具栏“构建阶段”中进行选择。在“使用库链接二进制文件”选项卡下,您将看到项目中包含的框架列表。单击“+”按钮,将MapKit库从显示的列表添加到项目中。
答案 2 :(得分:26)
答案 3 :(得分:15)
在Xcode 7.2版之上工作并测试到Verion xCode 10 beta版
就我而言,从功能中选择MAPS会自动将您的框架链接到您的项目所有您需要做的就是检查功能 - >中的地图按钮。地图强>
附上截图。的干杯!! 强>
答案 4 :(得分:9)
对于xCode 4.2:
Click on your project name ->targets ->building Phase ->link binary with library
-> click on + sign ->select mapKit.framework ->click add
答案 5 :(得分:3)
当我在模拟器上构建和运行时,我注意到我收到了此消息(在本文中提到的原始消息之上):
ld:警告:忽略文件 /Users/peter/programming/iPhone/iNspector/MapKit.framework/MapKit, 文件是为不支持的文件格式而构建的,而不是 被链接的架构(i386)
然后我就连接了我的iPhone,在设备上构建并运行,地图也正常工作。
所以似乎MapKit框架无法在386架构上编译,它需要设备。
答案 6 :(得分:3)
关于@ futureshocked的输入,我也遇到了
Id:警告:忽略文件/blah.../MapKit,文件是为不支持的文件格式构建的,而不是所链接的体系结构(i386)
问题。
**检查以确保在将MapKit
框架添加到项目中时未将其复制到本地项目目录中。我不小心这样做了,XCode给了我上面的错误。所以我将它从我的项目目录(在Finder中)中删除,重新编译,一切都恢复正常。
如果您的项目中没有框架,请按照answer above中的说明继续重新链接。
找到一个关于MapKit入门的好教程:
http://www.youtube.com/watch?v=X-3jM24EIGM&feature=related
答案 7 :(得分:3)
我尝试部署到5.1手机(使用XC 4.5)时也收到此错误,即使将部署目标更改为5.1也是如此。看起来地图更新不会飞,因为我的手机上仍然有谷歌地图。更新手机的操作系统后,异常消失了。
答案 8 :(得分:2)