【发布时间】:2011-10-09 14:28:48
【问题描述】:
如果您愿意,我现在正在创建一个可以与 CoreData 一起使用的框架。该框架还具有 CoreData 之外的功能。如何将所有 CoreData 特定代码包装在 IfDef 中,检查 CoreData 框架是否可用?
【问题讨论】:
-
所以您希望您的库在编译时而不是运行时做出使用 CoreData 的决定?这意味着如果您分发一个库文件,您将拥有多个版本,并且如果您编译代码,您必须记住在构建设置中设置定义或在构建过程中尽早设置。
-
#ifdef _COREDATADEFINES_H怎么样? -
听起来正好相反 - 他想在运行时决定是否使用 Core Data(基于其可用性和用户确认)。
-
我担心我可能不得不发布两个独立的框架。现在我用包含的 NSManagedOjectContext 类别编译它,当我将它包含到项目中时,除非我包含核心数据框架,否则会出现编译器错误。如果包含 CoreData,我想发布一个包含 NSManagedObjectContext 类别的 .framework,如果不包含则不发布。不幸的是,由于框架是预编译的,我担心我可能不得不发布两个不同的框架。
标签: objective-c ios core-data conditional-compilation ios-frameworks