قالب وردپرس درنا توس
Home / IOS Development / Really strange appkrasj problem when it is reviewed by Apple. Have been stuck for a few days and rejected sometimes, but not sure how to troubleshoot this. Can anyone help? : iOSProgramming

Really strange appkrasj problem when it is reviewed by Apple. Have been stuck for a few days and rejected sometimes, but not sure how to troubleshoot this. Can anyone help? : iOSProgramming



I have an app that has been rejected sometimes now for the same reason – the app takes too long to start and is eventually killed by the IOS SPRINGBOARD Watchdog process. Here are the symbolized crash logs:

  Code Type: ARM-64 (Native)
Role: not user interface
Parental process: start [1]
Coalition: com.APPNAME [766]


Date / time: 2019-05-29 05: 02: 06.8610 +0800
Start time: 2019-05-29 05: 01: 46.7020 +0800
OS Version: iPhone OS 12.2 (16E227)
Baseband Version: 7.55.01
Report Version: 104

Exception type: EXC_CRASH (SEARCH)
Exception code: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Cause of termination: Name space SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, scene-create watchdog violation: com.APPNAME exhausted real (wall clock) time allowance in 1
9.56 seconds | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: scene-create | WatchdogVisibility: Foreground | WatchdogCPUStatistics: (| "Total CPU time (seconds) elapsed: 24,740 (uses 24,740, system 0.000), 41% CPU", | "Extended program CPU time (seconds): 0.491, 1% CPU" |) Triggered by wire: 0 Thread 0 Name: Dispatch Queue: com.apple.main thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x000000023704a0f4 0x237032000 + 98548 1 libsystem_kernel.dylib 0x00000002370495a0 0x237032000 + 95648 2 libdispatch.dylib 0x0000000236eaf880 0x236e98000 + 96384 3 libdispatch.dylib 0x0000000236eafd10 0x236e98000 + 97552 4 libxpc.dylib 0x000000023710ea04 0x237104000 + 43524 5 Security 0x000000023811fedc 0x2380f4000 + 179932 6 Security 0x000000023812045c 0x2380f4000 + 181340 7 Security 0x0000000238176414 0x2380f4000 + 533524 8 Security 0x00000002381752f4 0x2380f4000 + 529140 9 Security 0x0000000238173c60 0x2380f4000 + 523360 10 Security 0x00000002381745f4 0x2380f4000 + 525812 11 Security 0x000000023817631c 0x2380f4000 + 533276 12 Security 0x0000000238172284 0x2380f4000 + 516740 13 Security 0x00000002381749dc 0x2380f4000 + 526812 14 APPNAME 0x0000000100520700 Strongbox.data (forKey 🙂 + 411392 (Strongbox.swift: 140) 15 APPNAME 0x0000000100520034 Strongbox.unarchive (objectForKey 🙂 + 409652 (Strongbox.swift: 83) 16 APPNAME 0x000000010050939c Singleton.initializeVariablesStuff () + 316316 (Singleton.swift: 0) 17 APPNAME 0x0000000100582ec8 specialized AppDelegate.application (_: didFinishLaunchingWithOptions 🙂 + 814792 (AppDelegate.swift: 0) 18 APPNAME 0x000000010057f97c @objc AppDelegate.application (_: didFinishLaunchingWithOptions 🙂 + 801148 (: 0) 19 UIKitCore 0x00000002635fc020 0x262d4a000 + 9117728 20 UIKitCore 0x00000002635fd784 0x262d4a000 + 9123716 21 UIKitCore 0x0000000263602f10 0x262d4a000 + 9146128 22 UIKitCore 0x0000000262ec7104 0x262d4a000 + 1560836 23 UIKitCore 0x0000000262ecf69c 0x262d4a000 + 1595036 24 UIKitCore 0x0000000262ec6d88 0x262d4a000 + 1559944 25 UIKitCore 0x0000000262ec7678 0x262d4a000 + 1562232 26 UIKitCore 0x0000000262ec59c4 0x262d4a000 + 1554884 27 UIKitCore 0x0000000262ec568c 0x262d4a000 + 1554060

I have a hard time trying to recreate the crash. I have symbolized the crash logs and it seems to be caused by iOS own guard profile that kills my app because it takes too long to start from didFinishLaunchingWithOptions AppDelegate method. Looking at the symbolized crash logs, it seems that iOS own Security takes too long to respond to the keychain requirements.

I make some key ring requests using the Strongbox library: https: // github .com / granoff / Strongbox

Strongbox.data (forKey 🙂 is the library's own method and line SecItemCopyMatching (query, and data) is the latest from my app that request data from iOS keychain through Strongbox. But the keychain does not seem to respond to the app's requests in their test. I'm not sure how to copy this because this is not under the developer's control and seems to be on the IOS page.

I haven't been able to reproduce this on any of my devices or simulators. I also tried to put the keychain's accessibility to kSecAttrAccessibleAfterFirstUnlock instead of the standard kSecAttrAccessibleWhenUnlocked strongbox user and even that didn't help and crashed in the review.

Can anyone help?

]

Source link