'NSInvalidUnarchiveOperationException',原因:'无法实例化名为MKMapView的类'

suj*_*406 17 storyboard mkmapview ios

我正在使用storyboard进行一个项目(第一次使用故事板).在一个viewcontroller中有一个带有mapview的视图和一个包含原型单元的tableview.我已经包含了mapkit框架,mapkit标头被导入到相应的viewcontroller中.但我得到了这个奇怪的错误.我检查了许多帖子,所有都指向不包括框架的情况.但我已经包括一切仍然得到这个问题.我清理和建立但仍然这个问题.任何建议

*** 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
Run Code Online (Sandbox Code Playgroud)

Ed *_*llo 57

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

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

  • 单击左窗格中的项目文件,然后单击Build Phases.
  • 用Libraries打开Link Binary
  • 如果您没有看到MapKit.framework,则需要通过单击加号来添加它.


Wil*_* T. 9

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

在此输入图像描述


suj*_*406 5

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