【问题标题】:.framework product is red no matter what.framework 产品无论如何都是红色的
【发布时间】:2013-04-29 03:47:07
【问题描述】:

我正在尝试将this 框架添加到项目中。我已严格按照以下说明进行操作:

  1. 将 SocketRocket.xcodeproj 添加为应用的子项目或工作区。
  2. 将 SocketRocket.framework 添加到链接库
  3. 如果您没有框架的“复制文件”步骤,请创建一个
  4. 将 SocketRocket.framework 添加到“复制文件”步骤。

我确定我只打开了一个 xcode 实例,然后将 SocketRocket.xcodeproj 文件拖到我的项目中。我将 .framework 文件添加到链接库,创建了复制文件构建阶段,然后将 .framework 添加到复制文件构建阶段。

这是我尝试构建时遇到的错误:

clang:错误:没有这样的文件或目录:'/Users/adamhickey/Library/Developer/Xcode/DerivedData/websockettest-fcuhfltporfkitgubwcjukxogzas/Build/Products/Debug-iphonesimulator/SocketRocket/SocketRocket'

非常正确:该目录不存在。

在构建阶段,SocketRocket.framework 在 Link Binary With Libraries 下是红色的。在 SocketRocket 子项目的 products 文件夹中也是红色的。

我已经用谷歌搜索这个错误几个小时了,我尝试过的大部分事情都指向我改变 Xcode->preferences-locations 中的构建位置。我试过了:

  1. 将其设置为 relative,选择我自己的,然后转到高级并选择 legacy。
  2. 为设备构建
  3. 为->归档而构建
  4. 为发布而构建

如果我在单独的 xcode 实例中打开 SocketRocket.xcodeproj 并尝试构建它,四个产品中有 3 个是红色的。产品有:libSocketRocket.a、SRWebSocketTests.octest、TestChat.app、SocketRocket.framework。第一个是白色的,最后三个是红色的。

我假设如果我可以在单独的项目中构建 .framework 文件,这将解决我的整体问题。但是,我所做的一切似乎都没有任何效果。

请大家帮忙!我正在使用 xcode 4.6。

【问题讨论】:

  • 你好,我也遇到了同样的问题,你找到解决办法了吗? :(

标签: ios xcode frameworks xcode4 socketrocket


【解决方案1】:

我在为 libSocketRocket.a 配置时遇到了类似的问题。

我的工作区包含两个同级项目:SocketRocket 和 myProject。

我将 SocketRocket 添加为 git 子模块。

到目前为止,克里斯托夫的回答对我有用:

What's the correct way to configure XCode 4 workspaces to build dependencies when needed?

将 libSocketRocket.a 位置从相对于组更改为相对于构建产品。

搜索包含已构建静态库的路径,例如:

/Users/myName/xcode-build/myProject-eegkidwlennrekbsinvncwxqybol/Build/Products/Debug-iphoneos/libSocketRocket.a

然后修复路径。

【讨论】:

    【解决方案2】:

    在您的主项目中,在构建阶段,创建对该 SocketRocket 项目的依赖项。您应该会看到 .a 出现在那里以及链接阶段。如果您仍然无法使其工作,请创建一个小型演示项目,尝试将其链接并将其压缩并放在 DropBox 上,然后使用位置编辑问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 2020-07-30
      • 2023-04-07
      • 1970-01-01
      • 2022-11-04
      相关资源
      最近更新 更多