提供自定义输出目录时,xcodebuild链接器失败

时间:2015-04-15 20:41:44

标签: ios xcode linker cocoapods xcodebuild

使用xcodebuild将iOS应用程序构建到自定义目录时出现问题。

如果我使用命令构建,那么一切都很顺利:

xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyAppScheme -sdk iphoneos -configuration Release ONLY_ACTIVE_ARCH=NO 

...但我希望将.app.dSYM文件保存在特定目录中(例如./build)。所以,我尝试添加:

CONFIGURATION_BUILD_DIR=./build

OBJROOT=./build SYMROOT=./build

作为xcodebuild参数。然后我收到了此错误(输出来自xctool,因为它更具可读性,但使用xcodebuild时出现相同的错误:

  

✗链接MyApp

     

(...)

     

ld:找不到-lPods-MyApp-SomePodName

的库      

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

当我使用Cocoapods时,我的工作区包含应用程序的项目和" Pods"项目。我尝试在使用Cocoapods的其他几个项目上使用xcodebuild,并且在尝试提供自定义输出目录时,我总是会收到此错误(SomePodName因项目的依赖项而异)。请注意,在CONFIGURATION_BUILD_DIROBJROOTSYMROOT参数被跳过时,它可以正常运行。

我想知道最近是否有任何改变,因为我很确定我过去可以使用xcodebuild构建自定义目录。目前,Travis-CI仍然可以毫无问题地完成这项任务,但在尝试使用本地机器时我没有运气。

提供CONFIGURATION_BUILD_DIROBJROOTSYMROOT可能不是指定自定义输出目录的完美方式。我不确定问题是否直接连接到Cocoapods,但错误始终与某个pod库有关。

任何提示都将受到赞赏。

我的环境:

  • OS X 10.10.3
  • Xcode 6.3
  • xctool 0.2.3
  • cocoapods 0.36.3

更新:问题已解决

看起来xcodebuild需要CONFIGURATION_BUILD_DIROBJROOTSYMROOT参数的绝对路径。

提供绝对路径解决了问题:

CONFIGURATION_BUILD_DIR=/Users/me/Dev/MyApp/build

0 个答案:

没有答案