我得到:由于未捕获的异常'NSInvalidUnarchiveOperationException'终止应用程序,原因:'无法实例化名为MKMapView的类'

Her*_*ker 6 iphone objective-c mapkit ios

当然我用谷歌搜索并在stackoverflow中使用搜索.我发现了一些类似的讨论:

无法实例化名为MKMapView的类

http://forums.bignerdranch.com/viewtopic.php?f=49&t=490

NSInvalidUnarchiveOperationException:无法解码类的对象(UITableViewCellContentView)

......还有那么多的副本:)

但是,我没有使用SDK 3.2但5.0(其中一个链接的讨论表明它在SDK 3.2的某些测试版中是错误的).

其他讨论和答案表明框架MapKit未正确包含在内.我按照这些说明尝试了几种方法.

我仍然收到此错误.它被打破了

    [super loadView];
Run Code Online (Sandbox Code Playgroud)

在我自己的视图控制器中

- (void)loadView {
Run Code Online (Sandbox Code Playgroud)

方法.视图本身是在IB中构建的.除了其他项目之外还有一个MKMapView.

我在两个xcode项目中使用MKMapView.两者都是在xcode 3.2中启动的,现在已迁移到xcode 4.在其中一个项目中,代码工作正常,在另一个项目中,我得到了这个运行时错误.我没有发现这些项目的设置之间有任何重大差异可以解释这种不同的行为.

当前的解决方法是删除任何与Map View相关的代码(和IB项).但最后我宁愿包含那个地图视图,因为它确实有用:)

任何建议表示赞赏.

赫尔曼

Tom*_*ift 8

转到目标设置 - 不是项目级别,而是目标级别.单击Build Phases,然后展开Link Binary with Libraries.确保列出了MapKit.framework,如果没有则添加它.