cocoapods命令行构建失败

JRV*_*JRV 10 cocoapods xcode5

我刚刚在我的项目中添加了cocoapods,但无法让我的构建脚本再次运行.我使用此命令进行构建:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=./build
Run Code Online (Sandbox Code Playgroud)

但是,当我执行构建时,它会失败并显示错误消息ld: library not found for -lPods.

如果我在没有SYMROOT设置的情况下构建,它可以正常工作.但我更希望保持SYMROOT参数,以便我可以像以前一样保持我的归档逻辑.

到目前为止,我的结论是,因为SYMROOT已设置,xcodebuild无法找到构建的Pods库.我怎样才能解决这个问题?

编辑:

我在构建之后调查了文件结构:

  1. 如果我没有设置SYMROOT,则文件夹中有一个带有二进制文件(Library/Developer/Xcode/DerivedData/MyProject-eegsyonkmltdqhggwyqytoqbwath/Build/Products/)的libPods.a文件.
  2. 如果我如上所述设置SYMROOT,则./build中不存在libPods.a文件

因此,似乎没有正确设置pod文件的构建输出.这是xcodebuild中的一个问题,还是有一种方法可以确保将pod文件构建到此文件夹中?

下图显示了两个目录中的构建输出的比较,以使其更清晰: 构建输出的比较

小智 42

而不是使用 xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=./build

试试这一行:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=$(PWD)/build
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你.

这里的解释.

  • 它确实有效.唯一的区别是./build被替换为$(PWD)/ build.所以它发送一个绝对路径到xcodebuild而不是相对路径.有些东西烂了...... :-) (2认同)