提供framework(静态库,Relocatable Object File)给第三方App调用,如何在App的崩溃日志里,定位framework造成的崩溃并将其符号化?

我写了一个framework(静态库,Relocatable Object File),提供给第三方App调用;我拿不到第三方App的符号表(dSYM文件)。第三方App在调用framework时发生了崩溃,即崩溃是由framework导致的;但在查看崩溃日志时,只能看到第三方App的堆栈调用信息,而看不到framework的痕迹。

我可以拿到framework的dSYM文件,但在崩溃堆栈中没有看到framework的痕迹,因此framework的dSYM文件派不上用场;又因为没有第三方App的dSYM文件,因此崩溃日志里的堆栈调用信息是一堆地址,可读性很低。

在这种情况下,应该如何操作,才能在崩溃日志里,定位由framework导致的崩溃,并将其符号化呢?

静态的framework要一把符号给主App集成,就能定位到。

没有dSYM的话,,,只能还原下符号看看崩溃在哪个函数,崩溃原因是什么。

主App如果在集成后把符号strip掉,且不提供dSYM的话,crash log能不能符号化呢?

应该是无法符号化的。

没有办法符号化,除非你能读懂内存地址
@AloneMonkey 我这里有个需求,我们提供SDK给app用,SDK打包时关掉了debug symbols,我能否单独提供一个dSYM文件或者其他有用文件给app,这样崩溃的时候可以符号化然后定位问题,麻烦解答下,谢谢

不能,要带符号文件 link到主app里面的

@AloneMonkey ok,谢啦:cookie:

@AloneMonkey @snakeninny 请问下如何生成 .framework.dSYM 文件

您好 @AloneMonkey 方便详细讲一下吗, 我开发了一个 framework 供别人使用, 对方要求提供 .framework.dSYM 文件, 但是我只不知道如果提供给他. 谢谢