如何在终端上从 xcarchive 导出 dsym 文件
Posted
技术标签:
【中文标题】如何在终端上从 xcarchive 导出 dsym 文件【英文标题】:How to export dsym file from xcarchive on terminal 【发布时间】:2019-01-23 07:22:30 【问题描述】:我正在 Jenkins 上获取存档和 IPA。我想在构建后将我的 dsym 上传到 Fabric。如您所知,xcodebuild
在 xcarchive/dSYMs 文件夹中生成 dsym。
我如何获得存档:
/usr/bin/xcodebuild -quiet -workspace My_Project.xcworkspace -scheme My_Project_Test -sdk iphoneos -configuration Release archive -archivePath CONFIGURATION_BUILD_DIR=$WORKSPACE/build/My_Project_Test.xcarchive
我如何获得 IPA:
/usr/bin/xcodebuild -exportArchive -archivePath CONFIGURATION_BUILD_DIR=$WORKSPACE/build/My_Project_Test.xcarchive -exportOptionsPlist My_Project/Resources/Test/Test_ExportOptions.plist -exportPath CONFIGURATION_BUILD_DIR=$WORKSPACE/build
获取 dsym 的示例代码(目前不工作):
ditto -c -k --keepParent -rsrc "$WORKSPACE/build/My_Project_Test.app.dSYM" $WORKSPACE/build/My_project_Test-$PRODUCT_VERSION-$PRODUCT_VERSION-dSYM.zip
上传代码:
$WORKSPACE/Pods/Fabric/upload-symbols -a xxxxxxxxxxxx -p ios -- build/My_Project_Test.app.dSYM
我的问题是如何使用同上代码或相同代码从 xcarchive 导出 dsym 文件。
【问题讨论】:
您可以使用 Fastlane 让您的整个 CI/CD 工作更轻松。 【参考方案1】:我发现我们可以直接访问xcarchive
文件。这样下面的代码就可以压缩 dsym 文件了。
ditto -c -k --keepParent -rsrc "$WORKSPACE/build/My_Project_Test.xcarchive/dSYMs/My_Project_Test.app.dSYM" $WORKSPACE/build/My_Project_Test-$PRODUCT_VERSION-$PRODUCT_VERSION-dSYM.zip
【讨论】:
这是完美的。如果您不想要输出的 zip,请省略-c -k
。如果您想要存档中的所有 dSYM,请从源路径中删除 /My_Project_Test.app.dSYM
。以上是关于如何在终端上从 xcarchive 导出 dsym 文件的主要内容,如果未能解决你的问题,请参考以下文章