XCode:${BUILD\u PRODUCTS\u DIR}在Scheme Post Action脚本中错误地转换到调试目录
我有一个简单的脚本,它在XCode方案中的Post操作下运行,如下所示:XCode:${BUILD\u PRODUCTS\u DIR}在Scheme Post Action脚本中错误地转换到调试目录,xcode,Xcode,我有一个简单的脚本,它在XCode方案中的Post操作下运行,如下所示: cp -fr ${BUILT_PRODUCTS_DIR}/MyApp.app /tmp/MyApp.app 奇怪的是,当我通过这个命令行运行命令行构建时: /usr/bin/xcodebuild -workspace MyWorkspace -scheme MyScheme -configuration Release clean build ${builded\u PRODUCTS\u DIR}变量正在转换到调试目录
cp -fr ${BUILT_PRODUCTS_DIR}/MyApp.app /tmp/MyApp.app
奇怪的是,当我通过这个命令行运行命令行构建时:
/usr/bin/xcodebuild -workspace MyWorkspace -scheme MyScheme -configuration Release clean build
${builded\u PRODUCTS\u DIR}变量正在转换到调试目录而不是发布目录,我收到以下错误:
cp: /Users/me/Library/Developer/Xcode/DerivedData/MyProject-afslklkwadvqqggjrlcuycyeyxfv/Build/Products/Debug/MyApp.app: No such file or directory
更奇怪的是,在环境变量列表中,它指向了正确的发布位置:
setenv BUILT_PRODUCTS_DIR /Users/me/Library/Developer/Xcode/DerivedData/MyProject-afslklkwadvqqggjrlcuycyeyxfv/Build/Products/Release
这看起来像是一个XCode错误,我能想到的唯一解决办法是硬编码“Release”目录,这是一个非常糟糕的主意
有人知道发生了什么吗
更新:
我找到了一个解决方法,如果我将方案中的运行构建配置更改为“Release”,它将修复环境变量以指向发布位置
但是我不知道为什么Build\u PRODUCTS\u目录应该与运行配置相关,所以我愿意用其他方法来解决这个问题。我也遇到了同样的问题。我做了一次彻底的清理,删除了DerivedData文件夹,并重新启动了Xcode——然后它就消失了。。。再也不会回来了
编辑:另一个想法
删除调试方案(或重命名)怎么样?如果出于某种原因,它正在查找debug,它将无法找到它。可能无法解决问题,但可以指出原因。我真的希望这能解决问题,但没有):还有其他想法吗?