Crash in a production application

Hi,


I am currently on an app that is available for users through the AppStore for a while. Begining of this week the available version was 1.36.1 and everything was fine. An internal version was made available (1.37.0) through TestFlight and some (not all) of our internal tester encounter an issue while upgrading from the production version. The application was behaving like it was crashing. I am using the word behaving because of no logs or crash logs available on the phone and also none through our crash report tool. There was no way for those internal testers to make the app not crash (killing the app, soft and hard reset). The only way for them to have a functional application was to delete the application and download it again from TestFlight.


After spending a while to investigate that issue build 1.37.0 was pushed to all users (AppStore). We didn't have any complaints (that doesn't mean it was all good, but still). A decision was taken to do a 1.37.1 that was a clone of 1.36.1 (except for Cocoapods dependency and Xcode version) and release it in case there was any problem with the actual version. When that version was made available to the customers we started receiving complaints by some users that were the exact step that we initially encounter with the 1.37.0 build in Testflight. And again the only way for those to have it fix was to remove the application and re-install it.


So with all that in mind, what could possibly be the problem? A problem with the upgrade from AppStore? A problem with the binary itself, even though it always works from a brand new installation? If the problem is from the binary how could I investigate it and track it if I don't have any call stack.


Also, another useful information is the following: I had the chance of having one of the phones while doing the defect behavior, the problem is that even the application was behaving like crashing it was still showing in the application that is still running. I tried to attach to it through Xcode but the application wasn't showing in the list of available ones.


Thanks, any help on that would be really appreciated.

Accepted Reply

This thread has been deleted

The short of TN2285 is that an ad-hoc install often better replicates a store install, so try that if possible.


You can check basic ticket status via the Member Center, but in my experience, it's mostly post-event.


Also, I've seen from 2 days to 2 weeks response, but it may help to keep in mind that we are 10 days off WWDC, and the engrs. may be in the process of re-gaining traction w/the queue, etc. Patience is our friend 😉


Good luck.

Replies

Could it come from corrupted user defaults ?


Did you try this pattern:

- download and install an older version on a "clean" iPhone

- do not launch it

- upgrade to new version


Does it crash as well ?

Thanks, Claude31 for your answer.


Everything points me in that direction too (User defaults). The problem is that the reproduction of this problem (through Testflight and AppStore release) is really low (less than 15%). I have tried 5 times on 2 different phones the exact same pattern you describe and it didn't crash yet. I am planning to continue with the same tests but it looks good. In any case what would cause the problem and how you would solve it? Detect an update and removing all the user defaults? It would be a really bad experience but less bad than a crash...

If you can't sort it yourself, and TN2285 (2014, so be aware some details may no longer apply) [ https://developer.apple.com/library/archive/technotes/tn2285/_index.html ] doesn't shed light, you may want to burn a support ticket w/DTS via the Member Center.