2012-04-06 58 views
-1

我有一些共享代码,我想在我的Xcode项目中重复使用。最简单的方法是使用共享框架。我必须公开标题才能在我的项目中重用该框架。可可框架角色

现在:由于框架必须复制到最终产品中,是否有自动防止公共标题被复制的方法?当然,我可以手动做到这一点,但一个自动化的伎俩将是惊人的:)

谢谢

+0

如果你所要做的只是“重用”代码而不是创建一个自定义的.framework绝对不是最简单的方法。 – 2012-04-06 19:28:12

+0

你会建议什么? SCM回购? – user732274 2012-04-06 19:31:19

+0

这是个人消费吗? iOS或Mac OS X?能够仅支持Xcode 4和更新版本,还是需要支持Xcode 3? – 2012-04-06 19:35:38

回答

0

IIRC,你可以做一切与框架。框架可以安装在系统范围内,也可以安装在应用程序包中。如果您还没有阅读它,请参阅文档:Embedding a Private Framework in Your Application Bundle

基本上,您将制定两种框架变体,一种用于开发客户端应用程序,另一种用于嵌入这些应用程序中。在Xcode中,您可以:

  • 无论是创建了两个框架的目标,改变头文件通缉(公共或私营)角色
  • 或使用PUBLIC_HEADERS_FOLDER_PATH建立两个创建配置不同的值设置。 (说,“发展”和“部署”)。这样您的头文件将以不同的位置结束。

我没有这样做很长一段时间,但我没有嵌入式框架,特别美好的回忆。你准确地重用了哪些类型的代码?这是常用的通用代码吗?或者它是一个完整的,一致的项目?

如果您只是想重用通用代码,那么最好使用简单的老派.a静态库和头文件夹,或者更好,static framework。 (这只是一个框架包内的静态库)

+0

非常感谢,我会阅读更多关于这些技巧:) – user732274 2012-04-06 20:35:25

+1

好吧,我终于设法做到这一点:我将所有框架的头文件保留为“私有”,因此它们不会被复制到最终的包中。在那些引用该框架的项目中,我只需通过将标题搜索路径(在项目设置中)设置为框架构建文件夹来导入它的标题。 – user732274 2012-04-06 23:33:03