使用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_DIR
,OBJROOT
和SYMROOT
参数被跳过时,它可以正常运行。
我想知道最近是否有任何改变,因为我很确定我过去可以使用xcodebuild
构建自定义目录。目前,Travis-CI仍然可以毫无问题地完成这项任务,但在尝试使用本地机器时我没有运气。
提供CONFIGURATION_BUILD_DIR
,OBJROOT
或SYMROOT
可能不是指定自定义输出目录的完美方式。我不确定问题是否直接连接到Cocoapods,但错误始终与某个pod库有关。
任何提示都将受到赞赏。
我的环境:
看起来xcodebuild
需要CONFIGURATION_BUILD_DIR
,OBJROOT
和SYMROOT
参数的绝对路径。
提供绝对路径解决了问题:
CONFIGURATION_BUILD_DIR=/Users/me/Dev/MyApp/build