Macos 使用应用程序加载程序上载调试符号

Macos 使用应用程序加载程序上载调试符号,macos,mac-app-store,application-loader,productbuild,Macos,Mac App Store,Application Loader,Productbuild,我正在从命令行构建和打包mac store应用程序。这将产生一个.dSYM文件,我使用dsymutil从应用程序中的二进制文件中提取了该文件,然后我们对.app进行代码设计,然后使用productbuild对其进行打包 将此.pkg传递给我们的团队,它将成功安装,并被应用程序加载器的预检查所接受,并显示在itunes connect构建列表中 问题是itunes connect中的构建详细信息中的“包含符号”是“否” 使用应用程序加载器,似乎没有任何选项可以上载.dSYM调试符号 那么,关于如何

我正在从命令行构建和打包mac store应用程序。这将产生一个.dSYM文件,我使用dsymutil从应用程序中的二进制文件中提取了该文件,然后我们对.app进行代码设计,然后使用productbuild对其进行打包

将此.pkg传递给我们的团队,它将成功安装,并被应用程序加载器的预检查所接受,并显示在itunes connect构建列表中

问题是itunes connect中的构建详细信息中的“包含符号”是“否”

使用应用程序加载器,似乎没有任何选项可以上载.dSYM调试符号

那么,关于如何将构建上传到iTunes Connect的想法呢 “包含符号”是否为“是”



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

XCode为每个构建和归档发布日志,通过检查这些日志,我们可以看到它使用“symbols”工具从dSYM输出中提取符号,然后使用(undocumented)--symbolication标志将这些与productbuild打包

日志文件称为:

IDEDistribution.critical.log
IDEDistribution.standard.log
IDEDistribution.verbose.log
在/var/folders中以“XCDributionLogs”结尾的目录中/

所以你想做一些类似的事情:

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

我使用了
myapp.app.dSYM/Contents/Resources/Dwarf/*.dylib
来表示所有框架。但是
productbuild--symbolication
不会生成symbolication文件夹。还有别的选择吗?