ios - 无法重现 iOS App Review 团队崩​​溃。使用 Vuforia 的 Unity 应用程序

标签 ios unity3d crash

我们最近提交了两个应用程序(一个新应用程序,一个是已发布应用程序的更新),但由于以下原因,这两个应用程序被 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.

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

我们的开发环境对于这两个应用程序是相同的,这可能是崩溃的原因: Unity 2017.2.1f1 与 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 并重新提交了应用程序...

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

最佳答案

我们遇到了同样的问题(同样的异常和应用商店拒绝)。我们遇到了这个似乎是罪魁祸首的 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后,我们的应用被接受了。

关于ios - 无法重现 iOS App Review 团队崩​​溃。使用 Vuforia 的 Unity 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49099341/

相关文章:

c# - 统一播放多个音频片段

docker - Docker 上的 Kubernetes 创建具有空服务帐户且没有 token 的容器,导致容器崩溃和重新启动

javascript - 递归程序使计算机崩溃

ios - 在 Swift 中使用 RestKit

iphone - 我们可以更改 iOS 应用程序进行升级吗?

ios - iMessage 应用程序扩展可以使用主机应用程序中定义的 View Controller 吗?

c# - 如何保存 bool 变量的播放器偏好设置?

ios - shouldChangeCharactersInRange 从 UITextField 返回第二个字符

unity3d - “PlaySounds.audio”隐藏继承的成员 'Component.audio'。如果打算进行隐藏,请使用new关键字

java.lang.IllegalStateException : Could not find method