无法重现 iOS 应用审核团队崩溃。使用 Vuforia 的 Unity 应用程序

Unable to reproduce iOS App Review team Crash. Unity app with Vuforia

我们最近提交了两个应用程序(一个是新应用程序,一个是对已发布应用程序的更新),但由于以下原因,iOS 应用程序审核小组拒绝了两个应用程序:

Guideline 2.1 - Performance Your app crashed on iPad or iPhone running iOS 11.2.5 connected to an IPv6 network during our review.

在提交应用程序之前,我们在 4 种不同的设备和 iOS 版本上使用 testflight 对它们进行了广泛测试,并且完全没有遇到崩溃。 我们无法重现 ios 应用审核团队体验

的崩溃

这两个应用程序的开发环境相同,这可能是崩溃的原因: Unity 2017.2.1f1 with Vuforia(这是一个增强现实应用程序),Xcode 9.2(最新版本)

之后您会发现新应用程序的崩溃日志(更新后的应用程序具有相同的崩溃日志...),它们非常相似:

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

由于我们无法重现崩溃,因此很难修复。 在此崩溃日志中有一些关于 SplashScreenController 的内容,以防万一我们删除了启动画面,并将 Unity 版本更改为 2017.3.1 并重新提交了应用程序...

非常感谢任何帮助,也许我们在崩溃日志中遗漏了一些有用的信息?

有趣的是,我们在这里遇到了完全相同的问题。我们之前一直在发送 Apple 版本进行审查,直到几天前,他们都在他们的设备上工作(只是因为一些小问题而被拒绝)。由于这个 'crash',他们拒绝了我们的两个版本,尽管它们在我们的测试设备上运行良好。

奇怪的是,他们对我们提交的两份文件有同样的看法:

"Your app crashed on iPad or iPhone running iOS 11.2.5 connected to an IPv6 network during our review."

不仅如此,他们提供的崩溃日志也反映了与您相同的问题。

Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000088 VM Region Info: 0x88 is not in any region.

现在,我们将发送一个在他们的评论中有效的以前的版本,看看他们对此有何评论。

上周五我们有一个 AR 应用程序因同样的原因被拒绝。我们使用 Unity 2017.3.0f3 与原生 Vuforia 集成和 Xcode 9.2;我们也在使用 Native Share。

我们从 Apple 收到的崩溃日志看起来和你的几乎一样@Jeff;崩溃线程上显示的异常类型和方法相同。

我将尝试您降级到不同版本的 Unity 的方法,并分享我的结果。

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: 4377919352
  REGION TYPE                      START - END             [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
  UNUSED SPACE AT START
--->  
  __TEXT                 0000000104f1c000-0000000104f20000 [   16K] r-x/r-x SM=COW  .../OurApp]

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   OurApp                      0x0000000105463334 0x104f1c000 + 5534516
1   OurApp                      0x0000000104f2f130 0x104f1c000 + 78128
2   OurApp                      0x0000000104f2f4d4 0x104f1c000 + 79060
3   CoreFoundation                  0x0000000184bd113c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 (CFNotificationCenter.c:661)
4   CoreFoundation                  0x0000000184bd06dc _CFXRegistrationPost + 420 (CFNotificationCenter.c:163)
5   CoreFoundation                  0x0000000184bd0440 ___CFXNotificationPost_block_invoke + 60 (CFNotificationCenter.c:1060)
6   CoreFoundation                  0x0000000184c4de24 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1408 (CFXNotificationRegistrar.m:163)
7   CoreFoundation                  0x0000000184b06d60 _CFXNotificationPost + 380 (CFNotificationCenter.c:1057)
8   Foundation                      0x0000000185533348 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 (NSNotification.m:543)
9   UIKit                           0x000000018e734a20 +[UIScreen _FBSDisplayConfigurationConnected:andNotify:] + 280 (UIScreen.m:599)
10  UIKit                           0x000000018e45d060 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 292 (UIApplication.m:3094)
11  UIKit                           0x000000018e872dbc -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] +                     364 (UIApplicationSceneClientAgent.m:41)
12  FrontBoardServices              0x00000001873021f0 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 364 (FBSSceneImpl.m:460)
13  FrontBoardServices              0x000000018730aaf8 __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 224 (FBSWorkspace.m:606)
14  libdispatch.dylib               0x00000001845bea14 _dispatch_client_callout + 16 (object.m:502)
15  libdispatch.dylib               0x00000001845c6200 _dispatch_block_invoke_direct$VARIANT$mp + 288 (queue.c:3025)
16  FrontBoardServices              0x00000001873367f8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 (FBSSerialQueue.m:164)
17  FrontBoardServices              0x000000018733649c -[FBSSerialQueue _performNext] + 404 (FBSSerialQueue.m:196)
18  FrontBoardServices              0x0000000187336a38 -[FBSSerialQueue _performNextFromRunLoopSource] + 56 (FBSSerialQueue.m:232)
19  CoreFoundation                  0x0000000184be777c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1982)
20  CoreFoundation                  0x0000000184be76fc __CFRunLoopDoSource0 + 88 (CFRunLoop.c:2017)
21  CoreFoundation                  0x0000000184be6f84 __CFRunLoopDoSources0 + 204 (CFRunLoop.c:2053)
22  CoreFoundation                  0x0000000184be4b5c __CFRunLoopRun + 1048 (CFRunLoop.c:2920)
23  CoreFoundation                  0x0000000184b04c58 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
24  GraphicsServices                0x00000001869b0f84 GSEventRunModal + 100 (GSEvent.c:2245)
25  UIKit                           0x000000018e25d5c4 UIApplicationMain + 236 (UIApplication.m:3956)
26  OurApp                      0x0000000104f21880 0x104f1c000 + 22656
27  libdyld.dylib                   0x000000018462456c start + 4

正如我在对您的问题的评论中提到的,我偶尔能够通过关闭我的 wifi 在本地重现此崩溃 iPhone 7. 经过更多挖掘后,我发现有人添加了此问题到 Unity 问题跟踪器,但似乎今天或昨天无法访问该问题的网页。

问题跟踪器网页最初可在此处访问: https://issuetracker.unity3d.com/issues/unitywebrequest-ios-2017-dot-3-player-crashes-at-job-executeunitywebrequest-when-switching-to-airplane-mode

Google 仍然将它缓存在这里: http://webcache.googleusercontent.com/search?q=cache:TcQczK0adjMJ:https://issuetracker.unity3d.com/issues/unitywebrequest-ios-2017-dot-3-player-crashes-at-job-executeunitywebrequest-when-switching-to-airplane-mode&num=1&hl=en&gl=us&strip=0&vwsrc=0

该网页无法在缓存 URL 中正确呈现,但我可以通过查看源并将其保存到我机器上的 HTML 文件中来查看它。这是它的屏幕截图:

问题中的堆栈跟踪与我在本地重现问题时看到的相符。有趣的是,对该问题的评论提到这会导致使用 Vuforia 的应用程序崩溃。我不使用 Vuforia,但显然我堆栈中的其他东西(可能是 GVR SDK)正在发送导致我崩溃的 Web 请求。

更新 1: 按照页面评论中的建议,我降级到Unity 2017.2.1f,发现崩溃不再发生。所以,我将提交我的应用程序的这个版本,看看会发生什么。正如您所说,您已经在使用该版本的 Unity,也许这实际上是一个与您遇到的问题不同的问题。

更新 2: 我的应用程序更新刚刚获得 Apple 批准。

今天,应用审查小组的一个人终于审查了我们的案例并验证了我们的应用,尽管它之前被标记为已拒绝。

该应用连续 5 次被拒绝,最后两次始终显示相同的消息并且没有崩溃日志。

我们在 4 天前联系了应用审核团队,以使用此表单对应用被拒绝提出申诉:https://developer.apple.com/contact/app-store/?topic=appeal

我认为 Apple 测试程序在很大程度上依赖于自动测试,在某些情况下这是不可靠的,他们 "bot" 拒绝了我们的应用程序,尽管它运行良好。

Apple 似乎忽略的是,我们花了无数个不眠之夜,尽一切可能找到解决方案,以便我们的客户按时收到他的申请...

祝大家好运遇到这个问题,我只能建议你一定要和apple联系,找一个会看你app的人。

我们 运行 遇到了同样的问题(同样的异常和应用商店拒绝)。我们遇到了这个似乎是罪魁祸首的 Unity 错误。

https://issuetracker.unity3d.com/issues/ios-11-build-crashes-on-remotear-unityupdatedisplaylist-when-launching-app-from-url-with-airplay-connected

当用户流式传输他们的设备屏幕(AirPlay 等)时,存在导致此崩溃的错误。我假设测试人员有时会使用 AirPlay,导致崩溃,而开发人员却没有发现任何问题。

幸运的是,此错误已在 Unity 中得到纠正,并已向后移植到多个 Unity 补丁版本:

修正于: 2018.1.0b1

反向移植到: 2017.3.0p2 2017.2.1p2 2017.1.3p1

从2017.2.1更新到2017.2.1p2后,我们的应用被接受了。

从上周开始,我们也因为类似的原因申请被拒。 然后,我查看了@HidingGlass 的 post 并应用了 Unity 的补丁。 因此,我们的应用程序通过了 Apple 的审核。

我会分享结果。

  • 拒绝:ver.2017.2.1f1
  • 接受:ver.2017.2.1p2

在我们的案例中,我们在 1 月份的最后几次应用程序更新中一直使用 Unity 5.6.3p4,并且很快就获得了批准(从提交到批准不到 1 天)。然而,一周前,该应用程序处于 'In Review' 状态 3 天,然后我们由于此处描述的相同崩溃问题而被拒绝,而我们没有更改 Unity 版本,也没有添加任何新的外部框架 - 因此,通过阅读此处所有其他回复,我怀疑 Apple 最近必须在他们的审查测试机器人中更改某些内容(例如开始使用 AirPlay),由于休眠的 Unity 错误而触发了这些问题。

有趣的是,这个问题正在 Unity 问题跟踪器中积极讨论,Unity 工程师刚刚在 DisplayManager.mm 代码中发布了一个 work-around,而且他们刚刚将修复程序反向移植到 5.6.5p3: https://issuetracker.unity3d.com/issues/ios-11-build-crashes-on-remotear-unityupdatedisplaylist-when-launching-app-from-url-with-airplay-connected?page=1#comments

至于我们,我们升级到 2017.1.3p2 并重新提交,再次被拒绝 - 但这次有不同的崩溃报告:

Termination Description: SPRINGBOARD, scene-create watchdog transgression: com.ourComany.ourApp exhausted real (wall clock) time allowance of 10.00 seconds

这似乎是从昨天开始就在这里讨论的一些全新问题:

https://forum.unity.com/threads/ios-crash-on-startup-unity-2017-1-3p2.521666/#post-3424784