我正在从命令行构建和打包mac商店应用程序。这导致我使用dsymutil从应用程序中的二进制文件中提取的.dSYM文件,然后我们对.app进行编码,然后使用productbuild对其进行打包。
将这个.pkg传递给我们的团队,它成功安装,并被Application Loader的预检查接受,它出现在itunes connect build列表中。
问题在于itunes中的构建细节连接'包括符号'是'否'。
使用Application Loader似乎没有任何上传.dSYM调试符号的选项。
那么,关于我们如何将构建上传到iTunes Connect的任何想法 '包括符号'是'是'?
查看xcode,它似乎创建了一个.pkg文件,其中包含一个名为' Symbolication'这似乎表明它是productbuild的责任,而不是Application Loader。
答案 0 :(得分:0)
XCode发布每个构建的日志并将其归档,通过检查这些日志,我们可以看到它使用了'符号'用于从dSYM输出中提取符号的工具,然后使用(未记录的) - 符号标记将这些符号打包到productbuild。
调用日志文件:
IDEDistribution.critical.log
IDEDistribution.standard.log
IDEDistribution.verbose.log
在以' xcdistributionlogs'结尾的目录中在/ var / folders /
中所以你想做类似的事情:
dsymutil myapp.app/Contents/MacOS/myapp -o myapp.app.dSYM
# TargetSymbolFolder must exist prior to calling symbols
mkdir TargetSymbolFolder
# Args are lifted from the xcode logs
symbols -noTextInSOD -noDaemon -arch all -symbolsPackageDir TargetSymbolFolder myapp.app.dSYM/Contents/Resources/Dwarf/myapp
...other build steps, codesign and such
# symbolication is undocumented, again it is from xcode logs
productbuild --symbolication TargetSymbolFolder --component myapp.app /Applications myapp.pkg
如果您现在使用pkgutil打开创建的.pkg,您可以在pkg中看到Sybolication文件夹
pkgutil --expand myapp.pkg myapp.pkg.expanded