Я пытаюсь создать CoreDataKit, используя статическую библиотеку.
Содержит:
- xcdatamodel или файл модели
- NSManagedObject или Entity (
Поскольку в статической библиотеке могут быть только объектные файлы, следовательно, файл модели не может быть частью статической библиотеки.
Чтобы это произошло, я создал отдельный пакет, содержащий только файл модели, и скопировал этот пакет в мой xcodeпроект, использующий эту ссылку ( основные данные в статической библиотеке для iPhone )
Теперь при загрузке сущности Person
let personEntity = NSManagedObject(entity: entity, insertInto: context) as! Person
Я получил ошибку ниже:
Unable to load class named 'MyStaticLibraryModels.Person' for entity 'Person'. Class not found, using default NSManagedObject instead.
и исключение:
Could not cast value of type 'NSManagedObject_Person_' (0x600000243b40) to 'ONCoreDataKit.Person' (0x105d71a68).
Другой подход может заключаться в использовании каркаса, который может содержать файл модели и может быть динамически загружен.
Поскольку загрузка динамического каркаса может занять некоторое времядополнительное время я заинтересован в создании статической библиотеки для более быстрого доступа.