Подтвердить что ты не робот

"NSInvalidUnarchiveOperationException", причина: "Не удалось создать экземпляр класса с именем MKMapView"

Я делаю проект с использованием раскадровки (первый раз использую панель рассказов). В одном из viewcontroller есть представление с mapview и tableview, содержащее прототипы ячеек. Я включил структуру mapkit, а заголовки mapkit импортированы в Соответствующий viewcontroller.Но я получаю эту wierd error.I проверил со многими сообщениями, и все указывают на случай, когда фреймворк не включен. Но я включил все и все еще получаю эту проблему .i очищен и построен, но все же эта проблема. предложения

*** 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
4b9b3361

Ответ 1

Это может показаться простым, но в папке проекта этого приложения файлы mapkit были скопированы, я удалил его из этой папки через finder и добавил mapkit again.now его work.thanks для комментария @Craig

Ответ 2

Убедитесь, что MapKit.framework добавлен в ваш проект.

Чтобы проверить/добавить инфраструктуру MapKit в ваш проект:

  • Нажмите на свой файл проекта на левой панели, затем нажмите Фазы сборки.
  • Откройте Link Binary с библиотеками
  • Если вы не видите MapKit.framework, вы хотите добавить его, нажав на значок плюс.

Ответ 3

В Swift с использованием более новой версии Xcode вам нужно включить эту функцию только в настройках проекта, и ошибка исчезнет.

введите описание изображения здесь

Ответ 4

Я видел эту проблему при создании расширения WatchKit для iOS. В дополнение к связанным двоичным файлам мне также пришлось добавить файл в скомпилированные источники.