App crash on launch Apple reject - ios

I have test and submit my app to Apple Store but Apple reject and response my app crash on launch. I have test my app on many model iPhone and iPad it's working normal, Have anyone can tell me why?
Crash log Apple send to me:
"bug_type":"109","os_version":"iPhone OS 11.2.5 (15D60)","incident_id":"F2C32C7F-63B2-4D96-8D90-1AF644DC5179","name":""}
Incident Identifier: F2C32C7F-63B2-4D96-8D90-1AF644DC5179
CrashReporter Key: 31ed20e652158d2a96b6662d50b1000ce2837b82
Hardware Model: iPad5,1
Device Model: J96AP
Process: gamebaionline [5995]
Path: /private/var/containers/Bundle/Application/872913FE-A768-4837-81EB-F76C427CFBED/gamebaionline.app/gamebaionline
Version: 0 (2.0.5)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd.development [1]
Date/Time: 2018-03-03 07:05:30.9221 -0800
Launch Time: 2018-03-03 07:05:23.9926 -0800
OS Version: iPhone OS 11.2.5 (15D60)
Baseband Version: n/a
UDID: 3ab61350a5372c6a81b3d6b6ac3e5a8c7d1cd04c
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 11
Application Specific Information:
* Terminating app due to uncaught exception 'NSGenericException', reason: '* Collection was mutated while being enumerated.'
terminating with uncaught exception of type NSException
abort() called.
Now i can't test with iOS 11.2.5 because Apple not allow signing in iOS version 11.2.5 or downgrade version to 11.2.5. Please help me.

Collection was mutated while being enumerated.
This mean that you have some data structure (like dictionary or array) and you iterate over elements and in same moment modify this structure, for example remove some elements. I suppose you to check all iteration that you do on very start. Or use symbolic breakpoint to find it. Note, that such crash can be a little bit tricky, because i guess some operation like remove or so may be not performed. Because of this you may or may not have crash on start

I solved mine by doing the following,
1. Symbolicate the error logs received from Apple.
2. Delete the app completely from you actual device and run a build from Xcode on it, this time it will crash and show you the lines where the bugs are!!!

Related

How do I view crash from iTunes Connect in Xcode?

I have an app that is running with React-Native that doesn't crash on react-native run-ios, neither when I run it on Xcode, but when I upload it to iTunes Connect, the build is refused because of a crash.
The problem is that I cannot see the crash on Xcode > Window > Organizer > Crashes, because I cannot make it crash with a device or a simulator.
Does somebody know how to import a crash that comes from iTunes Connect to Xcode ?
Here is my crash log :
{"app_name":"mdef","timestamp":"2017-12-11 11:40:02.33 -0800","app_version":"1.2.0","slice_uuid":"3ff1d45d-3b65-325e-8df9-5b0ccf7550b7","adam_id":1246228626,"build_version":"66","bundleID":"com.mdef.mymatchup","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.2 (15C114)","incident_id":"A6BCA3E0-DBB1-4E24-82F1-7B418F023CB0","name":"mdef"}
Incident Identifier: A6BCA3E0-DBB1-4E24-82F1-7B418F023CB0
CrashReporter Key: 972854c2d639e93f8277daa382921f72f9e8d379
Hardware Model: xxx1
Process: mdef [12142]
Path: /private/var/containers/Bundle/Application/07E05B5A-9B60-4A2E-BE1B-895E72344FC5/mdef.app/mdef
Identifier: com.mdef.mymatchup
Version: 66 (1.2.0)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.mdef.mymatchup [5622]
Date/Time: 2017-12-11 11:40:02.1820 -0800
Launch Time: 2017-12-11 11:40:01.1784 -0800
OS Version: iPhone OS 11.2 (15C114)
Baseband Version: n/a
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 1
Application Specific Information:
abort() called
Filtered syslog:
None found
Last Exception Backtrace:
(0x185cbe364 0x184f04528 0x185cbe2ac 0x104a8ff40 0x104a8dc04 0x185cc5cd0 0x185ba456c 0x185ba901c 0x104aa10b8 0x104ae0dd8 0x104ae0b38 0x18563aa54 0x18563aa14 0x18564496c 0x1856452fc 0x185645d20 0x18564e03c 0x1858e2f1c 0x1858e2b6c)
First of all in organiser crash logs will imported automatically if there will be any crash occurs on live app version.
Here you mentioned that your uploaded binary rejected due to crash issue. So they have provided you crash logs. Now that crash logs will not be imported into Xcode because App is not live yet.
So my suggestion is to resolve crash issue using this crash logs & lets get approval of application & make it live on app store. So after that if any user gets crash issue you will get list of it on Xcode -> Organiser.
Edit :
If you are not able to find out or detect the crash log than you should ask apple review team to provide more details regarding that crash issue
They can provide device & OS details to regenerate the crash also they can provide you steps to reproduce the crash.
If everything works than you should try & re upload new binary. You will surely get approval after this ways
For more better crash issues with detailed analysis you can use this crashlytics tool : https://fabric.io/kits/ios/crashlytics
Hope it will help you.
Thanks...
You can use analytic tools like fabric Crashlytics. whenever your app crashes on any device, Crashlytics will give you a detailed report about the crash on the dashboard with exact line number and details of the user's device.
Read this blog written by Bruno Barbieri about integrating Crashlytics in your react native app.
Or you can see crash manually from Xcode organizer.
read this to know more about checking crash reports from Xcode.
Solved ! I have fixed my problem by downgrading React-Native from 0.51.0 to 0.49.5, and I have no more crashes.

iOS app crashes with EXC_CRASH (SIGKILL) when launched via TestFlight, but runs fine from Xcode

I'm running into a strange issue whereby an app I'm building crashes shortly after launching as an archived build from TestFlight, but runs without issue when running on the same device directly from Xcode. The application doesn't appear to be terminating fully - if I double-tap the home button, I see what looks like an image of the application in the background from midway through a run, even though the new session crashed long before it would have gotten to the displayed screen. If I then bring the application back to the foreground, it returns to its loading screen and then shuts down again, with a log that looks like this:
Incident Identifier: 983F8E4E-EFE0-4C93-8F46-D223FD86DF14
CrashReporter Key: 3515df1d8c55a27394a78b6efee5f83946ed9a99
Hardware Model: iPhone7,2
Process: FileProvider [218]
Path: /private/var/containers/Bundle/Application/89708FF4-E848-4F49-BC0D-B2DC9EF536C6/Drive.app/PlugIns/FileProvider.appex/FileProvider
Identifier: com.google.Drive.FileProviderExtension
Version: 4.2017.25202 (4.2017.25202)
Code Type: ARM-64 (Native)
Role: Unspecified
Parent Process: launchd [1]
Coalition: com.google.Drive.FileProviderExtension [368]
Date/Time: 2017-06-30 22:59:01.2937 -0700
Launch Time: 2017-06-30 22:59:00.7649 -0700
OS Version: iPhone OS 10.3.2 (14F89)
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace <0xF>, Code 0xdead10cc
Triggered by Thread: 0
...Any thoughts on what I should be investigating to understand what's going on here?
App is built in C++ using the Cocos2d-x framework.
Thanks!
_Kevin
Figured out what was going on, if not yet exactly why. Some of the details posted above turned out to be red herrings as I investigated further. What initially appeared to be a difference in behavior between an archived build and a build launched directly from Xcode was actually a difference in behavior between a debug build and a release build.
The solution was to create a new scheme in Xcode to run a release build (Product->Scheme->Manage Schemes in Xcode 8.3), duplicate my default mobile scheme, and then set the new scheme's Run->Info->Build Configuration to Release.
Once I ran a release build with Xcode attached, I found an error (probably an incorrectly-initialized variable but I'm still investigating) that occurred in release builds only.
The reason why crash logs weren't being generated appears to have been that the error was causing an assertion to trip (the CC_ASSERT macro in Cocos2d-x), so iOS considered the app shutdown to be a legitimate termination and didn't log it as a crash.

XCODE keeps crashing. Deals with auto layout

I clicked to turn off auto layout. And now I click the check box to turn it on, and xcode immediately crashes..Every time. I'm pretty sure that all tableviews have a datasource. I can't work on the project! Please help.
Process: Xcode [5748]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 5.0 (3332.25)
App Item ID: 497799835
App External ID: 38302662
Code Type: X86-64 (Native)
Parent Process: launchd [144]
User ID: 501
Date/Time: 2013-09-30 00:12:40.236 -0400
OS Version: Mac OS X 10.8.5 (12F37)
Report Version: 10
Interval Since Last Report: 62599 sec
Crashes Since Last Report: 13
Per-App Interval Since Last Report: 4441 sec
Per-App Crashes Since Last Report: 13
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 5A1413
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch- 3742/IBPlugin/Utilities/IBObjectMarshalling.m:670
Details: Failed to compute auto layout status IBUIDatePicker, IBUILabel, IBUITableViewCell, and IBUITableViewCellContentView.
Interface Builder encountered an error communicating with the iOS Simulator. If you choose to file a crash report or radar for this issue, please check Console.app for crash reports for "Interface Builder Cocoa Touch Tool" and include their content in your crash report.
Exception name: NSInternalInconsistencyException
Exception reason: UITableView dataSource is not set
I just faced this problem and removing all of the File Owner's Outlets and Referencing Outlets did the trick.
Note: Firstly, as I couldn't turn off autoLayout graphically as Xcode crashed just by trying to view the .xib, I managed to do it following AbuYusuph's suggestion.
I was able to fix this issue by deleting the symlinks I had from the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ to the /Users/xxx/Library/Developer/Xcode/iOS DeviceSupport. I hope this will help.
I just remade an entire viewController and it works now. Not really answering the question. I am thinking it's just a glitch

Illegal Instruction: 4 for iOS

I have currently updated an app and pushed to App Store. After the approval process, it can be downloaded from AppStore.
The issue is, "some" of the users report that they cannot switch on the app, either update or download from scratch.
Some of the devices they use:
iPod Touch (5th Generation)
iPhone 5
iPad 2 ''newly added''
The console log shows like this:
UIKitApplication:{app-identifier} exited abnormally with signal 4: Illegal Instruction: 4
I have also got the crash report like this:
Incident Identifier: 1912AA89-01F4-4BFE-8BD8-2D8EB3B4B988
CrashReporter Key: 4e0582bb30455ff2c12665099359dfddd3ec9bab
Hardware Model: iPod5,1
Process: 'app_name' [551]
Path: /var/mobile/Applications/C589BCAA-B833-4708-93CA-CDD2ABCBA38A/'app_name'.app/'app_name'
Identifier: 'app_name'
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-07-16 15:45:42.278 +0800
OS Version: iOS 6.1.3 (10B329)
Report Version: 104
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x00000000e7f5e2fa
Highlighted Thread: 0
I cannot find much information on the Internet related to Illegal Instruction: 4, some of those are listed here and here.
They lead me to suspect the case is due to:
compiler issue
new CPU
like A6 / A6x
armv7s
Does anyone know the reason?
Apple did not give any comment, after doing the Support request.
We uploaded the new ipa with all the same settings to iTunes Store again, and ask for Expedited Review. Apple approves the app in one day. Then, problem no longer exists.

App rejected due to non reproducible bug: possible reasons?

One of our apps recently got rejected for the second time, because "We found that your app failed to launch on iPad running iOS 6.0.1, on both Wi-Fi and cellular networks".
The crash log provided by Apple starts with:
Incident Identifier: CE8868A8-1C68-4161-91AD-DB50D3D5780B
CrashReporter Key: 83b816533ead866666681b87f5736242d8aac2ff
Hardware Model: xxx
Process: Test Skis [29192]
Path: /var/mobile/Applications/890E8D9C-6A17-4EA6-9A06-5503B3D35888/Test Skis.app/Test Skis
Identifier: Test Skis
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-04 19:24:52.667 -0800
OS Version: iOS 6.0.1 (10A523)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0
My question is not about how to fix the problem in our specific code, but a more general one: we have been unable to reproduce the crash using the same binary (making an Ad Hoc version), device, and OS version as the one Apple is supposedly using.
How is it possible that such a crash occurs on the Apple reviewer's device, and not ours? Are Apple reviewers' devices configured in a non standard way that could explain the difference?
I have found another question on Stack Overflow mentioning a similar issue, which has not been answered as well: Apple rejected app due to a crash which is not reproducing
My guess would be your ad-hoc build configuration is not identical to your release/distribution configuration in some way.
I had the same problem, and Apple sent me a crash report to look at. I learnt how to symbolicate them, but the relevant lines of code in my app would not symbolicate. So I tried making some other changes and resubmitted, resulting in the same rejection.
Finally I requested them to send more details because I tested with two devices and on the simulator. And today I saw that they 'Developer removed from sale' and then 'Ready for sale'. So I guess my app is good to go, without any change from my side.
It looks like you are trying to instantiate a nib (name unknown, since the exception reason is missing in the crash report) and it isn't present. Make sure all nibs required by the app are actually part of the build you send to Apple.

Resources