使用Application Loader上传调试符号

时间:2016-01-13 13:28:47

标签: macos mac-app-store application-loader productbuild

我正在从命令行构建和打包mac商店应用程序。这导致我使用dsymutil从应用程序中的二进制文件中提取的.dSYM文件,然后我们对.app进行编码,然后使用productbuild对其进行打包。

将这个.pkg传递给我们的团队,它成功安装,并被Application Loader的预检查接受,它出现在itunes connect build列表中。

问题在于itunes中的构建细节连接'包括符号'是'否'。

使用Application Loader似乎没有任何上传.dSYM调试符号的选项。

那么,关于我们如何将构建上传到iTunes Connect的任何想法 '包括符号'是'是'?

查看xcode,它似乎创建了一个.pkg文件,其中包含一个名为' Symbolication'这似乎表明它是productbuild的责任,而不是Application Loader。

1 个答案:

答案 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