我是OC编程的新人。现在我参与了一个框架开发项目。 我知道框架作为一个库,它包含一组方法。它不是可以在设备上运行的应用程序。 实际上,我们的框架将与客户的应用程序协同工作。当客户的应用程序崩溃时,我们想调查框架内发生的事情。 所以我想要' DSYM'我们框架的文件,而不是应用程序。 据我所知,任何iOS应用程序都确实对应了DSYM'但是我没有找到“DSYM'我们的框架。
iOS框架项目是否有DSYM'?如果确实有,我怎样才能获得它? 顺便说一句,我正在使用 Xcode 8.1 。 谢谢!
答案 0 :(得分:1)
是的,您可以为动态框架生成dSYM。有一些相关的构建设置可控制是否以及在何处生成这些文件:
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym,
DWARF_DSYM_FOLDER_PATH = "$(CONFIGURATION_BUILD_DIR)",
DWARF_DSYM_FILE_NAME = "$(PRODUCT_NAME).dSYM"
很显然,您可以在Xcode(project.pbxproj
文件)的项目构建设置中将其设置为所需的值,也可以将其设置为xcodebuild
的参数(取决于生成框架的方式)。
答案 1 :(得分:0)
根据我的观察,仅为使用 Release 配置构建的iOS动态框架生成 .dSYM 文件。
构建成功后,可以在这些路径中找到调试符号文件,分别用于设备和模拟器:
lblWord = ""
LengthofWord = Len(EnterWord) - 1
For iLetter = 0 To LengthofWord
lblWord = lblWord & "____ "
Next
End Sub
Sub GuessLetter(stGuess As String)
LengthofWord = Len(EnterWord) - 1
lblWord = ""
Dim stGuess As String
stGuess = Me.txtGuess.Text
If Mid(EnterWord, iLetter, 1) = stGuess Then
bFound = True
If bFound = True Then
Me.lblWord.Caption = stGuess
Else
Me.lblWord.Caption = lblWord & lblWord(iLetter, 1)
End If
Next
lblWord = lblWord
,其中
<Build_Root>/build/Release-iphoneos/<Product_Name>.framework.dSYM
<Build_Root>/build/Release-iphonesimulator/<Product_Name>.framework.dSYM
通常是<Build_Root>
目录中的子目录;
Derived Data
是您框架的名称。
答案 2 :(得分:-2)
DSYM(调试SYMbols)文件通常存储应用程序的调试符号。如果应用程序崩溃任何符号替换为适当的方法名称,以便它可以帮助开发人员以可读的形式。为此,您可以使用崩溃日志,并且可以在安装了应用程序的iPhone中找到它们。每个应用和设备都有自己的崩溃日志。
另请查看此链接,它可能会对您有所帮助。
Upload Symbols for iOS Framework
希望这些可以帮助您或指导正确的方向。