我有一个脚本在Xcode中实际构建之前进行一些预处理。有没有办法告诉Xcode何时进行“构建和存档”?我想在归档步骤中执行“svn commit”。我转储了构建期间存在的环境变量,但它们与正常构建的存档看起来相同。
还可以检查其他任何可以判断是否正在构建存档的内容吗?
在构建存档之前自动执行提交的任何其他方法?我不想为每个构建做一次提交,因为这会使svn树更难以导航IMO。
我正在使用Xcode 3.2.5。
谢谢! 规范
答案 0 :(得分:3)
我想避免命令行构建和存档,因为我读到它没有构建一个嵌入了配置文件的.ipa文件。使用它可以更轻松地将它发送给测试人员。
我做的是以下内容:
我有4种配置。调试,发布,特别发布和App Store发布。
我使用Debug和Release来构建而不进行提交。当我想发送给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只是添加一个环境变量来表明它是一个可以解决它的归档版本。
答案 1 :(得分:0)
我建议您使用Xcode GUI中的独立脚本来获取每日构建系统。这将使svn commit
触发构建和存档以及分发。您可以使用xcrun
命令运行构建和存档,如下所述: