2016-01-13 32 views
0

我从命令行构建和打包一个mac store应用程序。这会生成一个.dSYM文件,我使用dsymutil从应用程序中的二进制文件中提取出来,然后我们对.app进行编码,然后使用productbuild对其进行打包。使用Application Loader上传调试符号

通过我们的团队这个.pkg它成功安装,并被Application Loader的预先检查接受,它出现在iTunes连接构建列表。

问题是,在iTunes中的构建细节连接'包含符号'是'否'。

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

因此,关于如何将构建上传到iTunes Connect的任何想法 '包含符号'是'是'?


看着xcode中,它似乎创建一个内部称为“Symbolication”这似乎表明它是productbuild的责任,而不是加载应用程序文件夹中的.pkg文件。

回答

0

XCode发布每个构建的日志并将其存档,通过检查这些我们可以看到它使用'符号'工具从dSYM输出中提取符号,然后使用(未公开的)象征性标志。

日志文件名为:

IDEDistribution.critical.log 
IDEDistribution.standard.log 
IDEDistribution.verbose.log 

在/ var /文件夹中的 'xcdistributionlogs' 结尾的目录中/

所以,你想要做的事,如:

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