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