Xcode CI - 上传到 Fabric 的机器人脚本出错 "Failed to Detect Build Environment"
Xcode CI - Bot script for uploading to Fabric gives error "Failed to Detect Build Environment"
正在尝试设置一个 Xcode CI 机器人来构建我的应用并将其上传到 Fabric 以进行 Beta 分发。
该机器人可以很好地构建和存档应用程序,但在 Fabric 上传脚本上失败。有什么建议吗?
日志:
IPA Path: /Users/XcodeServer/Library/Caches/XCSBuilder/Integration-c7216425c354c42adb04283fc31b6348/ExportedProduct/MyApp.ipa
2016-11-17 12:40:23.967 uploadDSYM[55991:2048496] Fabric.framework/run 1.6.2 (205)
2016-11-17 12:40:23.972 uploadDSYM[55991:2048496] Launched uploader in validation mode
error: Fabric: Failed to Detect Build Environment
脚本:
IPA_PATH="${XCS_PRODUCT}"
echo "IPA Path: ${IPA_PATH}"
"${XCS_PRIMARY_REPO_DIR}"/MyApp/Pods/Fabric/run <API> <KEY> -ipaPath "${IPA_PATH}" -emails me@email.com
解决了。我使用了错误的脚本 (在设置 Fabric 时从应用程序的构建阶段提取)。您必须使用 crashlytics 脚本:
"${XCS_PRIMARY_REPO_DIR}"/MyApp/Pods/Crashlytics/submit <API> <KEY> -ipaPath "${IPA_PATH}" -emails me@test.com
我在 Post-集成脚本触发器中使用此脚本
"${XCS_PRIMARY_REPO_DIR}/Pods/Crashlytics/submit" <API> <KEY> -ipaPath "${XCS_PRODUCT}"
在 Xcode 服务器 10
中测试
# Make the the encoding is correct
export LANG=en_US.UTF-8
# Remove & Copy assets
rm -r ${XCS_SOURCE_DIR}/ipa
cp -R ${XCS_OUTPUT_DIR}/ExportedProduct/Apps/ ${XCS_SOURCE_DIR}/ipa/
# Release the archive
${XCS_PRIMARY_REPO_DIR}/Pods/Crashlytics/submit <API> <Key> -ipaPath ${XCS_SOURCE_DIR}/ipa/AppName.ipa -groupAliases groupName -notifications YES
在我的例子中,Xcode 服务器在存档后删除所有资产。
所以我在脚本中添加了一个'copy'命令。
正在尝试设置一个 Xcode CI 机器人来构建我的应用并将其上传到 Fabric 以进行 Beta 分发。
该机器人可以很好地构建和存档应用程序,但在 Fabric 上传脚本上失败。有什么建议吗?
日志:
IPA Path: /Users/XcodeServer/Library/Caches/XCSBuilder/Integration-c7216425c354c42adb04283fc31b6348/ExportedProduct/MyApp.ipa
2016-11-17 12:40:23.967 uploadDSYM[55991:2048496] Fabric.framework/run 1.6.2 (205)
2016-11-17 12:40:23.972 uploadDSYM[55991:2048496] Launched uploader in validation mode
error: Fabric: Failed to Detect Build Environment
脚本:
IPA_PATH="${XCS_PRODUCT}"
echo "IPA Path: ${IPA_PATH}"
"${XCS_PRIMARY_REPO_DIR}"/MyApp/Pods/Fabric/run <API> <KEY> -ipaPath "${IPA_PATH}" -emails me@email.com
解决了。我使用了错误的脚本 (在设置 Fabric 时从应用程序的构建阶段提取)。您必须使用 crashlytics 脚本:
"${XCS_PRIMARY_REPO_DIR}"/MyApp/Pods/Crashlytics/submit <API> <KEY> -ipaPath "${IPA_PATH}" -emails me@test.com
我在 Post-集成脚本触发器中使用此脚本
"${XCS_PRIMARY_REPO_DIR}/Pods/Crashlytics/submit" <API> <KEY> -ipaPath "${XCS_PRODUCT}"
在 Xcode 服务器 10
中测试# Make the the encoding is correct
export LANG=en_US.UTF-8
# Remove & Copy assets
rm -r ${XCS_SOURCE_DIR}/ipa
cp -R ${XCS_OUTPUT_DIR}/ExportedProduct/Apps/ ${XCS_SOURCE_DIR}/ipa/
# Release the archive
${XCS_PRIMARY_REPO_DIR}/Pods/Crashlytics/submit <API> <Key> -ipaPath ${XCS_SOURCE_DIR}/ipa/AppName.ipa -groupAliases groupName -notifications YES
在我的例子中,Xcode 服务器在存档后删除所有资产。
所以我在脚本中添加了一个'copy'命令。