We have submitted two apps recently (one new app, and one which was an update of an already published app) and got the two rejected by the iOS app review team for the following reason:
Guideline 2.1 - Performance Your app crashed on iPad or iPhone running iOS 11.2.5 connected to an IPv6 network during our review.
Before submitting the apps we extensively tested them with testflight on 4 different devices and iOS versions and experienced no crash at all. We are unable to reproduce the crash the iOS app review team experience
Our dev environment is the same for the two apps, may be this is the cause of the crash : Unity 2017.2.1f1 with Vuforia (this is an augmented reality app), XCode 9.2 (latest version)
Hereafter you will find the crashlog for the new app,( the updated app had an identical crashlog...), they are very similar:
The two crashlogs are very similar:
{"app_name":"ournewappname","timestamp":"2018-03-01 17:04:56.02 -0800","app_version":"1.0.1","slice_uuid":"af7e5c57-c2bc-3c91-8e1e-559acfccdb7f","adam_id":0,"build_version":"1","bundleID":"fr.ourcompany.ournewappname","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.2.5 (15D60)","incident_id":"002164F5-FD42-4A49-BF58-E8C1CB773010","name":"ournewappname"}
Incident Identifier: 002164F5-FD42-4A49-BF58-E8C1CB773010
CrashReporter Key: 6fa54cb83ccb006df1d056599e75f6797f1ac664
Hardware Model: iPad5,1
Device Model: J96AP
Process: ournewappname [4216]
Path: /private/var/containers/Bundle/Application/752BA8CA-A7AE-4823-976E-1D5DEBD34B2E/ournewappname.app/ournewappname
Identifier: fr.ourcompany.ournewappname
Version: 1 (1.0.1)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd.development [1]
Coalition: fr.ourcompany.ournewappname [1066]
Date/Time: 2018-03-01 17:04:55.8059 -0800
Launch Time: 2018-03-01 17:04:54.7575 -0800
OS Version: iPhone OS 11.2.5 (15D60)
Baseband Version: n/a
UDID: a728c3d680bc84aaaddc473d254d3c02a764955f
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000088
VM Region Info: 0x88 is not in any region. Bytes before following region: 4301520760
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 0000000100640000-0000000100644000 [ 16K] r-x/r-x SM=COW ...ealtwrarcard]
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Triggered by Thread: 0
Filtered syslog:
Timestamp Thread Type Activity PID
2018-03-01 17:04:54.8314 -0800 0xfd29 1024 0x0 4216 AssertionServices: BKSWorkspace created.
2018-03-01 17:04:54.9677 -0800 0xfd29 1024 0x0 4216 AccessibilitySettingsLoader: Loading settings loader: (system: 0)
2018-03-01 17:04:54.9790 -0800 0xfd29 1024 0x0 4216 AccessibilitySettingsLoader: AXSettingsLoader told to start
2018-03-01 17:04:54.9967 -0800 0xfd29 1024 0x0 4216 UIAccessibility: Starting accessibility server
2018-03-01 17:04:55.1193 -0800 0xfd29 1024 0x0 4216 UIAccessibility: Started AXRuntime server: 0
2018-03-01 17:04:55.1239 -0800 0xfd29 1024 0x0 4216 UIAccessibility: (null): Loading synchronously
2018-03-01 17:04:55.1262 -0800 0xfd29 1024 0x0 4216 UIAccessibility: Main bundle finished loading: load type: 0 - is system app server: 0 (<UIApplication: 0x113d0adb0>)
2018-03-01 17:04:55.2735 -0800 0xfd3c 1024 0x0 4216 FrontBoardServices: [FBSScene] [fr.ourcompany.ournewappname] Created client agent: <UIApplicationSceneClientAgent: 0x1c401d120>
2018-03-01 17:04:55.2742 -0800 0xfd3c 1024 0x0 4216 FrontBoardServices: [FBSScene] [fr.ourcompany.ournewappname - AirPlay] Created client agent: <UIApplicationSceneClientAgent: 0x1c001d3f0>
2018-03-01 17:04:55.7238 -0800 0xfd29 1024 0x0 4216 UIKit: View did appear: <SplashScreenController: 0x113d6d690> 1
2018-03-01 17:04:55.7253 -0800 0xfd29 1024 0x0 4216 UIAccessibility: Did post notification. notification: (1001) error:0 data:(null)
2018-03-01 17:04:55.7334 -0800 0xfd29 1024 0x0 4216 UIAccessibility: Did post notification. notification: (4002) error:0 data:{
controllerClass = SplashScreenController;
event = ViewDidAppear;
}
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 ournewappname 0x0000000100b3e9d8 0x100640000 + 5237208
1 ournewappname 0x000000010065339c 0x100640000 + 78748
2 ournewappname 0x0000000100653740 0x100640000 + 79680
3 CoreFoundation 0x00000001811c513c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 (CFNotificationCenter.c:661)
4 CoreFoundation 0x00000001811c46dc _CFXRegistrationPost + 420 (CFNotificationCenter.c:163)
5 CoreFoundation 0x00000001811c4440 ___CFXNotificationPost_block_invoke + 60 (CFNotificationCenter.c:1060)
6 CoreFoundation 0x0000000181241e24 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1408 (CFXNotificationRegistrar.m:163)
7 CoreFoundation 0x00000001810fad60 _CFXNotificationPost + 380 (CFNotificationCenter.c:1057)
8 Foundation 0x0000000181b27348 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 (NSNotification.m:543)
9 UIKit 0x000000018ad28a20 +[UIScreen _FBSDisplayConfigurationConnected:andNotify:] + 280 (UIScreen.m:599)
10 UIKit 0x000000018aa51060 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 292 (UIApplication.m:3094)
11 UIKit 0x000000018ae66dbc -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 364 (UIApplicationSceneClientAgent.m:41)
12 FrontBoardServices 0x00000001838f61f0 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 364 (FBSSceneImpl.m:460)
13 FrontBoardServices 0x00000001838feaf8 __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 224 (FBSWorkspace.m:606)
14 libdispatch.dylib 0x0000000180bb2a14 _dispatch_client_callout + 16 (object.m:502)
15 libdispatch.dylib 0x0000000180bba200 _dispatch_block_invoke_direct$VARIANT$mp + 288 (queue.c:3025)
16 FrontBoardServices 0x000000018392a7f8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 (FBSSerialQueue.m:164)
17 FrontBoardServices 0x000000018392a49c -[FBSSerialQueue _performNext] + 404 (FBSSerialQueue.m:196)
18 FrontBoardServices 0x000000018392aa38 -[FBSSerialQueue _performNextFromRunLoopSource] + 56 (FBSSerialQueue.m:232)
19 CoreFoundation 0x00000001811db77c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1982)
20 CoreFoundation 0x00000001811db6fc __CFRunLoopDoSource0 + 88 (CFRunLoop.c:2017)
21 CoreFoundation 0x00000001811daf84 __CFRunLoopDoSources0 + 204 (CFRunLoop.c:2053)
22 CoreFoundation 0x00000001811d8b5c __CFRunLoopRun + 1048 (CFRunLoop.c:2920)
23 CoreFoundation 0x00000001810f8c58 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
24 GraphicsServices 0x0000000182fa4f84 GSEventRunModal + 100 (GSEvent.c:2245)
25 UIKit 0x000000018a8515c4 UIApplicationMain + 236 (UIApplication.m:3956)
26 ournewappname 0x0000000100645980 0x100640000 + 22912
27 libdyld.dylib 0x0000000180c1856c start + 4
Thread 1:
0 libsystem_pthread.dylib 0x0000000180e5ab68 start_wqthread + 0
Thread 2:
0 libsystem_pthread.dylib 0x0000000180e5ab68 start_wqthread + 0
Thread 3 name: Dispatch queue: com.apple.frontboardservices.workspace.client
Thread 3:
0 CoreFoundation 0x00000001810f3d6c CFDataGetBytePtr + 88 (CFInternal.h:714)
1 Foundation 0x0000000181b3296c bytesInEncoding + 200 (NSStringEncodings.m:155)
2 Foundation 0x0000000181b3296c bytesInEncoding + 200 (NSStringEncodings.m:155)
3 CoreFoundation 0x0000000181104f6c -[__NSCFString UTF8String] + 80 (CFObject.m:228)
4 BaseBoard 0x0000000183703ee8 BSSerializeStringToXPCDictionaryWithKey + 44 (BSXPCSerialization.m:171)
5 BaseBoard 0x0000000183703ce8 BSSerializeBSXPCEncodableObjectToXPCDictionary + 52 (BSXPCSerialization.m:86)
6 BaseBoard 0x0000000183703ca4 BSCreateSerializedBSXPCEncodableObject + 56 (BSXPCSerialization.m:51)
7 BaseBoard 0x0000000183703d88 BSSerializeBSXPCEncodableObjectToXPCDictionaryWithKey + 40 (BSXPCSerialization.m:59)
8 FrontBoardServices 0x00000001838f929c -[FBSWorkspaceSceneClientSettingsChangedEvent encodeWithXPCDictionary:] + 84 (FBSWorkspaceSceneClientSettingsChangedEvent.m:52)
9 BaseBoard 0x0000000183703ce8 BSSerializeBSXPCEncodableObjectToXPCDictionary + 52 (BSXPCSerialization.m:86)
10 BaseBoard 0x0000000183703ca4 BSCreateSerializedBSXPCEncodableObject + 56 (BSXPCSerialization.m:51)
11 BaseBoard 0x0000000183703d88 BSSerializeBSXPCEncodableObjectToXPCDictionaryWithKey + 40 (BSXPCSerialization.m:59)
12 BaseBoard 0x0000000183720a30 +[BSXPCMessage messageWithPacker:] + 96 (BSXPCMessage.m:33)
13 BaseBoard 0x000000018371db08 -[BSBaseXPCClient _sendMessage:withReplyHandler:waitForReply:waitDuration:] + 132 (BSBaseXPCClient.m:187)
14 FrontBoardServices 0x0000000183918710 -[FBSWorkspaceClient _queue_sendMessage:withEvent:withResponseEvent:ofType:] + 144 (FBSWorkspaceClient.m:300)
15 libdispatch.dylib 0x0000000180bb2a54 _dispatch_call_block_and_release + 24 (init.c:994)
16 libdispatch.dylib 0x0000000180bb2a14 _dispatch_client_callout + 16 (object.m:502)
17 libdispatch.dylib 0x0000000180bbc96c _dispatch_queue_serial_drain$VARIANT$mp + 528 (inline_internal.h:2500)
18 libdispatch.dylib 0x0000000180bbd2fc _dispatch_queue_invoke$VARIANT$mp + 340 (queue.c:5302)
19 libdispatch.dylib 0x0000000180bbdd20 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 404 (queue.c:5920)
20 libdispatch.dylib 0x0000000180bc603c _dispatch_workloop_worker_thread$VARIANT$mp + 644 (source.c:2529)
21 libsystem_pthread.dylib 0x0000000180e5af1c _pthread_wqthread + 932 (pthread.c:2207)
22 libsystem_pthread.dylib 0x0000000180e5ab6c start_wqthread + 4
Thread 4:
0 libsystem_pthread.dylib 0x0000000180e5ab68 start_wqthread + 0
Thread 5 name: com.apple.uikit.eventfetch-thread
Thread 5:
0 libsystem_kernel.dylib 0x0000000180d27568 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000180d273e0 mach_msg + 72 (mach_msg.c:103)
2 CoreFoundation 0x00000001811db108 __CFRunLoopServiceMachPort + 196 (CFRunLoop.c:2613)
3 CoreFoundation 0x00000001811d8cd4 __CFRunLoopRun + 1424 (CFRunLoop.c:2969)
4 CoreFoundation 0x00000001810f8c58 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
5 Foundation 0x0000000181b2d594 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 (NSRunLoop.m:367)
6 Foundation 0x0000000181b4c9ac -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 (NSRunLoop.m:411)
7 UIKit 0x000000018b3bb7a8 -[UIEventFetcher threadMain] + 136 (UIEventFetcher.m:437)
8 Foundation 0x0000000181c2f0f4 __NSThread__start__ + 996 (NSThread.m:1181)
9 libsystem_pthread.dylib 0x0000000180e5c2b4 _pthread_body + 308 (pthread.c:740)
10 libsystem_pthread.dylib 0x0000000180e5c180 _pthread_start + 312 (pthread.c:799)
11 libsystem_pthread.dylib 0x0000000180e5ab74 thread_start + 4
Thread 6:
0 libsystem_pthread.dylib 0x0000000180e5ab68 start_wqthread + 0
Thread 7 name: GC Finalizer
Thread 7:
0 libsystem_kernel.dylib 0x0000000180d480f0 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x0000000180e5ece4 _pthread_cond_wait$VARIANT$mp + 640 (pthread_cond.c:579)
2 ournewappname 0x00000001012e86a8 0x100640000 + 13272744
3 ournewappname 0x00000001012cd658 0x100640000 + 13162072
4 ournewappname 0x00000001012e5400 0x100640000 + 13259776
5 ournewappname 0x00000001012e8df0 0x100640000 + 13274608
6 libsystem_pthread.dylib 0x0000000180e5c2b4 _pthread_body + 308 (pthread.c:740)
7 libsystem_pthread.dylib 0x0000000180e5c180 _pthread_start + 312 (pthread.c:799)
8 libsystem_pthread.dylib 0x0000000180e5ab74 thread_start + 4
Thread 8 name: BatchDeleteObjects
Thread 8:
0 libsystem_kernel.dylib 0x0000000180d275a4 semaphore_wait_trap + 8
1 libdispatch.dylib 0x0000000180bb4f04 _dispatch_sema4_wait$VARIANT$mp + 24 (lock.c:134)
2 libdispatch.dylib 0x0000000180bb58b4 _dispatch_semaphore_wait_slow + 140 (semaphore.c:143)
3 ournewappname 0x0000000100d546b8 0x100640000 + 7423672
4 ournewappname 0x0000000100cd40dc 0x100640000 + 6897884
5 ournewappname 0x0000000100d53c8c 0x100640000 + 7421068
6 libsystem_pthread.dylib 0x0000000180e5c2b4 _pthread_body + 308 (pthread.c:740)
7 libsystem_pthread.dylib 0x0000000180e5c180 _pthread_start + 312 (pthread.c:799)
8 libsystem_pthread.dylib 0x0000000180e5ab74 thread_start + 4
Thread 9 name: AsyncReadManager
Thread 9:
0 libsystem_kernel.dylib 0x0000000180d275a4 semaphore_wait_trap + 8
1 libdispatch.dylib 0x0000000180bb4f04 _dispatch_sema4_wait$VARIANT$mp + 24 (lock.c:134)
2 libdispatch.dylib 0x0000000180bb58b4 _dispatch_semaphore_wait_slow + 140 (semaphore.c:143)
3 ournewappname 0x0000000100c3c530 0x100640000 + 6276400
4 ournewappname 0x0000000100c3c074 0x100640000 + 6275188
5 ournewappname 0x0000000100d53c8c 0x100640000 + 7421068
6 libsystem_pthread.dylib 0x0000000180e5c2b4 _pthread_body + 308 (pthread.c:740)
7 libsystem_pthread.dylib 0x0000000180e5c180 _pthread_start + 312 (pthread.c:799)
8 libsystem_pthread.dylib 0x0000000180e5ab74 thread_start + 4
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000048 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000101f8b03c
x4: 0x0000000000000010 x5: 0x0000000000000001 x6: 0x0000000000000000 x7: 0x0000000000000403
x8: 0x0000000101f8fa40 x9: 0x0000000000000001 x10: 0x0000000101f8ad60 x11: 0x0000000113d15730
x12: 0x0000000101f8adb8 x13: 0x0000000000000002 x14: 0x0000000113e01680 x15: 0x016b5c01016b5cc0
x16: 0x0000000180e51c60 x17: 0x0000000181b31d38 x18: 0xfffffff01210d25c x19: 0x0000000000000002
x20: 0x000000016f7bdc38 x21: 0x0000000101f8a000 x22: 0x0000000000000002 x23: 0x0000000000000000
x24: 0x0000000000000002 x25: 0x000000016f7bdc38 x26: 0x0000000000000001 x27: 0x00000001b2373650
x28: 0x0000000000000001 fp: 0x000000016f7bdb60 lr: 0x0000000100b3e9d8
sp: 0x000000016f7bd9f0 pc: 0x0000000100b3e9d8 cpsr: 0x60000000
As we could not reproduce the crash its difficult to fix. In this crashlog there is something about SplashScreenController, so just in case we removed the splashscreen, and also changed Unity Version to 2017.3.1 and resubmitted the app...
Any help would really be appreciated, perhaps we are missing some useful information in the crash log?
Today an App review team guy finally examined our case and validated our app although it was marked as rejected before.
The app got rejected 5 times in a row, with always the same message and no crash logs the last two times.
We contacted the app review team 4 days ago to appeal an app rejection with this form :https://developer.apple.com/contact/app-store/?topic=appeal
I think Apple test procedure relies heavily on automatic testing and in some cases this is not reliable, their "bot" reject our app although its working perfectly.
What Apple seems to ignore, is that we spent sleepless nights doing everything possible to find a solution so that our client had his application on time...
I wish goodluck to everyone with this problem and i can only advice you to enter in contact with apple by all means to have a person who will look at your app.