无论如何,.framework产品都是红色的

时间:2013-05-05 02:54:26

标签: ios xcode frameworks xcode4 socketrocket

我正在尝试将this框架添加到项目中。我按照这些说明写了这封信:

  1. 将SocketRocket.xcodeproj添加为应用程序的子项目或工作区。
  2. 将SocketRocket.framework添加到链接库
  3. 如果您没有Framework的“复制文件”步骤,请创建一个
  4. 将SocketRocket.framework添加到“复制文件”步骤。
  5. 我确保只打开了一个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. 将其设置为亲戚,选择我自己,然后选择高级并选择遗产。
    2. 为设备构建
    3. build for-> archiving
    4. 构建发布
    5. 如果我在一个单独的xcode实例中打开SocketRocket.xcodeproj并尝试构建它,那么这四个产品中有3个是红色的。产品包括:libSocketRocket.a,SRWebSocketTests.octest,TestChat.app和SocketRocket.framework。第一个是白色,而后三个是红色。

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

      请帮助!我正在使用xcode 4.6。

2 个答案:

答案 0 :(得分:1)

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

我的工作区包含两个项目作为兄弟:SocketRocket和myProject。

我添加了SocketRocket作为git子模块。

到目前为止,Christoph的回答对我有用:

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

然后修复路径。

答案 1 :(得分:0)

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