无法重现 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
该网页无法在缓存 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 错误。
当用户流式传输他们的设备屏幕(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
我们最近提交了两个应用程序(一个是新应用程序,一个是对已发布应用程序的更新),但由于以下原因,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
该网页无法在缓存 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 错误。
当用户流式传输他们的设备屏幕(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