【问题标题】:Why does my Xcode project compile only when it's in a workspace?为什么我的 Xcode 项目只有在工作区中才能编译?
【发布时间】:2016-04-22 14:56:24
【问题描述】:

我有一个 Xcode 项目 P2,它是我有另一个项目 P1 的工作区的一部分。

当我构建 P1 时,它会创建一个 Cocoa Touch 框架。在 P2 中,我添加了 P1 创建的框架,方法是 常规-->链接框架和库-->选择 P1.framework。

然后我构建了 P2 项目,它使用集成的 P1.framework 成功编译。所以,这一切都很好。

现在我没有打开工作区并从工作区构建 P2 项目,而是通过单击 p2.xcodeproj 文件直接打开 P2 项目。我可以在其中看到p1.framework 文件。

但是,现在当我尝试构建 P2 时,它给出了错误:

没有找到框架 P1。 clang:错误:链接器命令失败 退出代码为 1(使用 -v 查看调用)。

谁能帮我理解为什么直接从p2.xcodeproj文件打开P2会报错?

【问题讨论】:

    标签: ios xcode xcode-project


    【解决方案1】:

    为了使p1.framework正确链接,其中引用p1.framework 的项目必须可见。

    这可能是因为您最初使用标准 Xcode UI 从工作区中的 P1 项目中选择了 p1.framework。 Xcode 不直接引用p1.framework,而是通过 P1 项目。这很有用,因为它允许您随心所欲地修改P1(更改构建目标等),同时允许其他项目使用p1.framework

    一个更简单的类比可能是考虑文件夹别名。这就像您通过文件夹别名引用文件,然后删除该文件夹。自然会出现错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 2012-02-08
      • 2020-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多