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