iphone - 如何判断 Xcode 是否在脚本中执行 "build and archive"?

标签 iphone xcode archive xcodebuild

我有一个脚本,可以在 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/

相关文章:

passwords - 解压脚本密码

iphone - MapKit 支持 Google 街景吗

ios - SwiftyJSON 不适用于 socket.io

ios - dyld : Library not loaded: @rpath/libswiftCore. dylib - Xcode 7 错误

python-3.x - 无法为 bz 提取 shape_predictor_68_face_landmarks.dat

sql - 软删除或硬删除有利于电子商务

ios - 在 Objective C 中调用父类(super class)方法的时机是否重要?

iphone - 如何动态更改 UITableView 的 UISwitch?

iphone - 如何从iPhone应用程序存储和查询远程数据?

ios - FBSDKLog : Cannot use the Facebook app or Safari to authorize, fb(app id) 未注册为 URL Scheme