【问题标题】:Xcode & iPhone - Best way for reusing code within multiple projects?Xcode & iPhone - 在多个项目中重用代码的最佳方式?
【发布时间】:2011-09-29 01:10:08
【问题描述】:

在项目中重用代码的最佳方式是什么?

假设我实现了一个 UI 元素,我希望它可以在我的 iphone 和 ipad 应用程序中使用,而无需复制代码并拥有 2 个副本。

【问题讨论】:

    标签: iphone xcode code-reuse subproject


    【解决方案1】:

    只需创建一个项目,其中包含您在 XCode 中的所有共享代码,并在您的 iPhone 和 iPad 应用程序项目中引用该项目。简单明了。

    【讨论】:

    • 我希望它像你提到的那样简单。你能解释一下如何在另一个项目中引用一个项目吗?它只是拖放还是在构建设置中?
    • 只需将共享项目拖放到您的组和文件导航器窗口中,然后取消选中“复制文件”即可。
    • +1 评论和答案。您可能希望将其添加到主要答案中。
    • 我认为如果您不必再次更改此代码,这是一个很好的方法。否则这可能会很困难。
    • 这不起作用,我的主项目无法识别子项目中的类。我尝试执行 #import "myFile.h" 却得到 "myFile.h not found"
    【解决方案2】:

    对我来说,我会创建一个静态库项目,其中包含 Xcode 中的共享代码(在您的示例中为 UI 元素)。

    然后当我需要在 iPhone 或 iPad 应用程序项目中使用库时,我可以通过将项目拖放到 Project Navigator 中来引用静态库项目并配置正确的依赖项、使用的库和标题搜索路径.通过这种方式,您始终拥有单一来源的库源代码,以便于维护和修改。

    当然,您实际上可以将静态库编译为二进制并将其链接到您的项目,但是当您在静态库中发现错误并需要切换到另一个项目来纠正错误时,它就不太灵活,然后执行编译并复制二进制库文件。

    我刚刚写了一篇关于如何将静态库项目链接到 Xcode 4.3.2 上的 iOS 项目的文章(链接如下)。这可能对您解决遇到的 header not found 问题很有用。希望对您有所帮助。

    http://vicidi.wordpress.com/2012/04/11/linking-an-ios-static-library-project-in-another-project-in-xcode-4-3-2/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 2021-07-24
      相关资源
      最近更新 更多