是否有.framework的DSYM文件(除app之外)?

时间:2016-12-25 15:00:50

标签: objective-c

我是OC编程的新人。现在我参与了一个框架开发项目。 我知道框架作为一个库,它包含一组方法。它不是可以在设备上运行的应用程序。 实际上,我们的框架将与客户的应用程序协同工作。当客户的应用程序崩溃时,我们想调查框架内发生的事情。 所以我想要' DSYM'我们框架的文件,而不是应用程序。 据我所知,任何iOS应用程序都确实对应了DSYM'但是我没有找到“DSYM'我们的框架

iOS框架项目是否有DSYM'?如果确实有,我怎样才能获得它? 顺便说一句,我正在使用 Xcode 8.1 。 谢谢!

3 个答案:

答案 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中找到它们。每个应用和设备都有自己的崩溃日志。

另请查看此链接,它可能会对您有所帮助。

Read Crash Report

Upload Symbols for iOS Framework

希望这些可以帮助您或指导正确的方向。

相关问题