17

我正在使用故事板做一个项目(第一次使用故事板)。在一个视图控制器中,有一个带有 mapview 的视图和一个包含原型单元格的 tableview。我已经包含了 mapkit 框架,并且 mapkit 标头被导入到相应的视图控制器中。但是我遇到了这个奇怪的错误。我检查了很多帖子,所有帖子都指向不包括框架的情况。但是我已经包含了所有内容,但仍然遇到这个问题。我清理并构建了但仍然是这个问题。任何建议

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named MKMapView'




#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>


@interface CategoryDetailViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,MKMapViewDelegate>
@property (weak, nonatomic) IBOutlet MKMapView *mapview;

@property (weak, nonatomic) IBOutlet UITableView *tableView;

@end
4

4 回答 4

57

确保将 MapKit.framework 添加到您的项目中。

验证/添加 MapKit 框架到您的项目:

  • 单击左侧窗格中的项目文件,然后单击Build Phases
  • 使用库打开链接二进制文件
  • 如果您没有看到MapKit.framework,您需要通过单击加号来添加它。
于 2014-03-25T00:50:20.883 回答
9

在使用较新版本 Xcode 的 Swift 中,您只需在项目设置中打开此功能,错误就会消失。

在此处输入图像描述

于 2016-09-05T17:18:29.403 回答
5

听起来可能很简单,但在此应用程序的项目文件夹中复制了 mapkit 文件,我通过 finder 将其从该文件夹中删除并再次添加了 mapkit。现在它正在工作。感谢@Craig 的评论

于 2013-08-29T01:23:26.493 回答
1

I saw this problem when building a WatchKit extension for iOS. In addition to the linked binary I also had to add a file to Compiled Sources.

于 2015-01-15T16:54:49.807 回答