Я только что добавил связанную библиотеку в свой проект, используя вопрос здесь Процесс связывания статических библиотек ObjC в XCode и документа, на который есть ссылка в ответе.
Я знаю, что знаюбиблиотека использует объекты CoreData, такие как NSManagedObject
, хотя в проекте библиотеки xcode платформа CoreData не добавлена и она создается без ошибок.Однако, когда я собираю свое приложение, оно сталкивается с несколькими ошибками, такими как:
Undefined symbols:
"_OBJC_CLASS_$_NSManagedObject", referenced from:
_OBJC_CLASS_$_AClass in library.a(AClass.o)
Таким образом, видя, как все ошибки упоминали объекты CoreData, я добавил инфраструктуру CoreData в свое приложение, и оно успешно собралось.Итак, теперь я попытался удалить CoreData Framework из моего приложения и добавил его в проект библиотеки, и они построили оба, и это не удалось.
Так почему же это работает, когда я добавил coredata в мой проект, но не в проект библиотеки,и только библиотека использует его?
(и почему библиотека собирается без необходимости использования каркаса coredata?)