iOS Question My First iOS app fails review - crashed

cwt

Active Member
Licensed User
Longtime User
My first iOS app is crashing during the Apple review process. I have never had this problem. Apparently, it crashes immediately for Apple. I have tested in debug and installed the release version on my test iPhone and it always works for me, running both the debug version and the release version. I am using B4i v6.80

I am at a loss here - the crash report from Apple does not tell me anything - I do not know what to look for. I have attached the crash report to this posting. They had 6 crash logs for me and all appeared the same and were created about 1 minute apart each.

If anyone can look at the attached crash log and point me in the right direction I will be forever grateful.

Below is a synopsis of what Apple says:

Guideline 2.1 - Performance - App Completeness

We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.

Next Steps

To address the crash in your app, follow these steps:

1. Fully symbolicate the crash report. See Adding Identifiable Symbol Names to a Crash Report for an explanation of the symbolication process.
2. Match the crash report to a common pattern. Based on the pattern, take specific actions to further investigate the crash. See Identifying the Cause of Common Crashes.
3. Test your app on a device to ensure that it now runs as expected.
4. Once you’ve addressed the crash, create and submit a new build to the App Store for review.
 

Attachments

  • apple crash log.txt
    72.9 KB · Views: 125
Last edited:

cwt

Active Member
Licensed User
Longtime User
After doing a little research I see I need to symbolicate the crash log. I do not have a mac and no access to XCode, so how can I symbolicate my crash log to see what is going on in more detail? Unfortunately I could not find any online services to do this, if they even exist.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
Maybe you should have some beta testers to test the app before launch to production.
 
Upvote 0

cwt

Active Member
Licensed User
Longtime User
Have you tested it in release mode after you previously uninstalled the app?
Have you tested it in airplane mode?

Yes - I have done several clean installs in release mode and have tested each in airplane mode. All work flawlessly for me. And the Apple Review people verified the app crashes on load. Because I have the crash logs from Apple, I am trying to figure out a way to symbolicate the crash logs without having access to xcode. Any suggestions as to how to do this?
 
Upvote 0

cwt

Active Member
Licensed User
Longtime User
Maybe you should have some beta testers to test the app before launch to production.
I have crash reporting added to my app but the app crashes on load so any beta testers would never get the chance to send me the crash report. That is assuming the app would crash for the beta tester - the app works perfectly for me in both debug and release modes, with or without airplane mode turned off. I am testing via hosted builder on an iPhone 8 running iOS v14.3
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Upvote 0

cwt

Active Member
Licensed User
Longtime User
The steps required are listed here: https://www.b4x.com/android/forum/threads/symbolicating-a-crash-report.69145/
You should symbolicate the stack trace. You need the original IPA (inside Archive.zip) for this.

It requires a Mac. You can use a service such as this one: https://www.macincloud.com/
As this is your first app, I can try to help you. Send me the IPA and the crash report.
Yes, this is my first app and I would very much like you to help me out here. I could probably figure this out myself if I had a way to symbolicate the crash report but I do not. I will send you the files via email. Thanks much.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
This is what I got:

+[B4ICustomViewWrapper build:::] (in CommPayPro) + 1164
-[B4ISpanMark attribute] (in CommPayPro) + 4
-[ResumableSub_main_SendReportsIfNeeded resume::] (in CommPayPro) + 832
-[b4i_lead_remove_records _deleteleads:::::::] (in CommPayPro) + 5928
0x19e3928f4
0x19e269df8
-[B4IViewWrapper Parent] (in CommPayPro) + 20
-[B4IViewWrapper SetShadow:::::] (in CommPayPro) + 120
-[B4IMediaPlayer Initialize::::] (in CommPayPro) + 460
0x1a0d3d320
0x1a0d3f388
0x1a0d44de4
0x1a039af20
0x1a0909054
0x1a039bab8
0x1a039b4c0
0x1a039b8c8
0x1a039b104
0x1a03a3650
0x1a08156c4
0x1a092177c
0x1a03a3348
0x1a01ca84c
0x1a01c91c0
0x1a01ca474
0x1a0d42f84
0x1a083eef0
0x1ae04e3bc
0x1ae079d04
0x1ae05d4a0
0x1ae0799c8
0x19df81db0
0x19df85738
0x1ae0a2250
0x1ae0a1ee0
0x1ae0a2434
0x19e30976c
0x19e309668
0x19e308960
0x19e302a8c
0x19e30221c
0x1b5e06784
0x1a0d40fe0
0x1a0d46854
-[b4i_animatedcounter _class_globals] (in CommPayPro) + 924
0x19dfc26b0)
 
Upvote 0

cwt

Active Member
Licensed User
Longtime User
This line:

[b4i_lead_remove_records _deleteleads:::::::] (in CommPayPro) + 5928

is a code module that is manually triggered by the user well after the app has been logged into. Because Apple is reporting the app crashes on launch, this does not make sense at all. I am sure I sent you the correct crash report. But I have subscribed to MacinCloud.com so I now have access to a mac and xcode so I can symbolicate the logs myself.

Question: All 6 crashes during the review happended on Thread 0. I assume this is the launch of the app, correct? Typically, when does Thread 0 terminate? When will another thread be started, or is the entire running of the app happening on a single thread?
 
Upvote 0

cwt

Active Member
Licensed User
Longtime User
Are you 100% sure that the IPA is the same one as the one submitted to Apple?

thread-0 = main thread. All your code runs on this thread.
No - I sent you a regenerated IPA but nothing had changed in the app - does that make a difference?
 
Upvote 0

cwt

Active Member
Licensed User
Longtime User
It can make a difference.

Based on my experience with Apple, when they say that the app crashes it really crashes. And you should be able to reproduce it. Maybe with a different iOS version or platform (iPad / iPhone).

You should keep the archive.zip submitted to apple until you get the result.
I develope and test my app on an iPhone 8 running ios 14.3

per the crash reports Apple used - "Hardware Model iPhone11,8" and "OS Version: iPhone OS 14.3 (18C66)" so it looks like they used the same OS I am testing on and also used an iPhone11 and iPhone8 for testing.

I believe I have the same archive I used for the Apple upload if you would like to look at it for me. I am spending a lot of time figuring out how to use XCode to make the crash logs meaningful. Never used a MAC before and am running it via RDP

I have no doubt the app crashed for Apple and once I can get the 6 crash logs symbolicated I should be able to figure out what the problem is. I have been using B4A for 8 years and find publishing an Android app to be much less stressful than being in the Apple ecosphere, lol.
 
Upvote 0

cwt

Active Member
Licensed User
Longtime User
I have another Archive other than the one I sent you and I think it is the same Archive from my uploaded app.
 
Upvote 0
Top