【发布时间】:2011-02-25 13:42:16
【问题描述】:
我刚刚使用Process for linking static ObjC libraries in XCode 此处的问题和答案中链接到的文档向我的项目添加了一个链接库。
我碰巧知道该库使用 CoreData 对象,例如 NSManagedObject,尽管在该库的 xcode 项目中没有添加 CoreData 框架并且它构建时没有错误。但是,当我构建我的应用程序时,它会出现几个错误,例如:
Undefined symbols:
"_OBJC_CLASS_$_NSManagedObject", referenced from:
_OBJC_CLASS_$_AClass in library.a(AClass.o)
所以看到所有提到 CoreData 对象的错误,我将 CoreData 框架添加到我的应用程序并成功构建。 所以现在我尝试从我的应用程序中删除 CoreData 框架,并将其添加到库项目中,然后它们都构建了,但它失败了。
那么当我在我的项目中添加了 coredata 但在库项目中没有添加,并且只有库使用它时,为什么它会起作用?
(以及为什么库构建时不需要 coredata 框架?)
【问题讨论】:
标签: objective-c xcode static-libraries