我有一个脚本,可以在 Xcode 中实际构建之前进行一些预处理。有没有办法知道 Xcode 何时进行“构建和存档”?我想做一个“svn commit”作为存档步骤的一部分。我转储了构建期间存在的环境变量,但它们对于存档来说与正常构建相同。
还有什么可以检查来判断是否正在构建存档?
还有其他方法可以在构建存档之前自动进行提交吗?我不想为每个构建都进行提交,因为这会使 svn 树更难在 IMO 中导航。
我使用的是 Xcode 3.2.5。
谢谢! 标准
最佳答案
我想避免命令行构建和存档,因为我读到它不会构建嵌入配置文件的 .ipa 文件。使用它可以更轻松地将其发送给测试人员。
我所做的如下:
我有 4 种配置。调试、发布、临时发布和应用商店发布。
我使用“调试”和“发布”来构建而不进行提交。当我想发送给 Beta 测试人员时,我使用 Ad Hoc,并使用 App Store 进行最终测试和 App Store 提交。
这是我添加到预构建脚本中的代码。
# Get the version number from the .plist file
VER_NUM=`cat "${SRCROOT}/${INFOPLIST_FILE}" | grep -A 1 CFBundleVersion | grep string | sed 's/]*>//g' | sed 's/^[ ]*//'`
# Check build type to see if svn commit should be done
if [ "${BUILD_STYLE}" == "App Store Distribution" ]
then
SVN_COMMIT=yes
fi
if [ "${BUILD_STYLE}" == "Ad Hoc Distribution" ]
then
SVN_COMMIT=yes
fi
if [ "${SVN_COMMIT}" == "yes" ]
then
echo "Commiting the project to SVN"
BUILD_TIME=`date`
svn commit -m "\"Version ${VER_NUM} for ${BUILD_STYLE} ${BUILD_TIME}\""
fi
这是我对这个问题的快速而肮脏的回答。必须有一个更优雅的解决方案,但这目前可行。如果 Apple 添加一个环境变量来表明它是一个存档版本,就可以解决这个问题。
关于iphone - 如何判断 Xcode 是否在脚本中执行 "build and archive"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4556842/