我可能在这里做一些非常愚蠢的事情,就像我以前做过的那样,它奏效了,现在......
创建了一个新的 iPad 项目,在详细信息视图中我添加了一个 MKMapView,将 MapKit.framework 添加到项目中,将属性 / 等添加到标题中。去运行项目并获得一个 SIGABRT
****由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 MKMapView 的类”**
我找到了 http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/,但就像我说的,我已经添加了框架。我错过了什么?
我也遇到了这个问题,但是按照链接中第 2 步的说明,我能够通过它(顺便说一句,谢谢):
将 MapKit 框架添加到项目中。 (Control + 单击框架文件夹 -> 添加 -> 现有框架)
我刚刚搜索了 MapKit.framework,将其添加到项目中,错误就消失了。
我还没有添加任何地图代码(尽管我确实在 IB 中连接了 MapViewDelegate),但到目前为止它工作正常!
单击您的项目以显示项目设置。在 Targets 下,单击您的项目,从上方工具栏中选择“Build Phases”。在“Link binary With Libraries”选项卡下,您将看到项目中包含的框架列表。单击“+”按钮并将 MapKit 库从显示的列表中添加到您的项目中。
对于 Xcode 6.1:
选择您的项目
在一般选项卡中,查找链接框架和库(最后一个)
按 + 按钮
搜索 MapKit.framework
最后添加
简单的方法!
适用于 Xcode 7.2 版以上
就我而言,从功能中选择 MAPS 会自动将您的框架链接到您的项目,您所要做的就是检查 Capabilities -> Maps 中的 Maps 按钮。
这是随附的屏幕截图。干杯!!
https://i.stack.imgur.com/U78vD.png
对于 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 之后也是如此。看起来地图更新不会飞,因为我的手机上还有谷歌地图。更新我手机的操作系统后,异常消失了。
https://i.stack.imgur.com/uNR3R.png
WebKit
与 MKMapView
有什么关系?
不定期副业成功案例分享