iOS Tutorial Symbolicating app crash reports

Erel

B4X founder
Staff member
Licensed User
Longtime User
Please try the following steps:
1. Close the IDE.
2. Unzip the attached file and copy it to B4i installation folder (replace the previous file).
3. Now when you build your app in release mode the ipa file will include the dsym file (which is a Mac package).
You should remove this package from the ipa file before submitting it to Apple.

With the dsym package you can symbolicate the crash log as explained in the link you posted.
 

Attachments

  • project.pbxproj.zip
    2.7 KB · Views: 431

Pendrush

Well-Known Member
Licensed User
Longtime User
OK, this is how I do.
I have use attached project.pbxproj.zip, compile release app, run in on iPad, app crash, on iPad click on settings -> privacy -> diagnostic & usage -> diagnostic & usage data, then find LatestCrash-yourappname.ipa, click on it and copy all text from there. Send text on your email. Download email and copy all text in a txt file and give file name YourApp.crash. Copy folders from mac AppName.app and AppName.dSYM to my win computer. Then run http://sourceforge.net/projects/ioscrashlogstool/ click on File -> Search in folder, and find folders where you copy all files from above. You will get something like

Last Exception Backtrace:
0 <unresolved> 0x239aefea <unresolved>
1 <unresolved> 0x31d9ac86 <unresolved>
2 <unresolved> 0x239aef30 <unresolved>
3 AppNAME 0x104090 -[B4IFile OpenInput::]
4 AppNAME 0x10e038 -[B4IBitmap Initialize::]
5 AppNAME 0xd9f1e -[b4i_pgtest_show] (b4i_pgtest.m:1140)
6 <unresolved> 0x239b3660 <unresolved>
7 <unresolved> 0x238de488 <unresolved>
8 AppNAME 0xf8980 +[B4I runDynamicMethod:method:throwErrorIfMissing:args:]
9 AppNAME 0xf8136 -[B4I raiseEvent:event:params:]
10 AppNAME 0xf7e5e ___33-[B4I raiseUIEvent:event:params:]_block_invoke
11 <unresolved> 0x323052de <unresolved>
12 <unresolved> 0x323052ca <unresolved>
13 <unresolved> 0x32308d2a <unresolved>
14 <unresolved> 0x23974604 <unresolved>
15 <unresolved> 0x23972d04 <unresolved>
16 <unresolved> 0x238bf1fc <unresolved>
17 <unresolved> 0x238bf00e <unresolved>
18 <unresolved> 0x2b09b1fc <unresolved>
19 <unresolved> 0x27063a54 <unresolved>
20 AppNAME 0xbd850 main(int, char**) (main.m:16)
21 <unresolved> 0x32326aaa <unresolved>

Look line number 5 AppNAME 0xd9f1e -[b4i_pgtest_show] (b4i_pgtest.m:1140) 1140 is error line.
now browse folder on MAC \\MAC\xxxx\b4iBuild\UploadedProjects\your_id\B4iProject\ and find file b4i_pgtest.m and go to line 1140
in my case this is

//BA.debugLineNum = 123;BA.debugLine="PlaySlicica.Initialize(File.DirAssets, \"station_play.png\")";
[self._playslicica Initialize:[[self.__c File] DirAssets] :mad:"station_play.png"];
File station_play.png don't exist in Assets Folder in my case.

Thank you Erel for "hack".
 
Last edited:

Pendrush

Well-Known Member
Licensed User
Longtime User
I have two issues:

1. When I compile app1 (release) and then compile app2 (release) and then app3 (release), in app3.IPA(zip) /payload/ I can see app1.dSYM, app2.dSYM and app3.dSYM, I have try to restart server, even reboot local mac but without success, all ever compiled apps (release) are inside payload folder with dSYM extension.

2. When revert to original project.pbxproj.template, release compilation also include dSYM folders from that compiled app and all apps compiled before.
 
Top