如何解决Xamarin.Forms iOS 应用程序在 SplashScreen 发布后崩溃
我现在有一个非常糟糕的问题:
行为:
应用程序在调试时工作,但在应用程序启动时在发布退出。
由于应用程序仅在发布模式下失败,因此调试信息不清楚。
- Visual Studio 2019
- Xamarin 表单 4.8.0.1821
- ZxIng.Net.Mobile 2.4.1
- ZxIng.Net.Mobile.Forms 2.4.1
- Newtonsoft.Json 12.0.3
- Xamarin.Essentials 1.6.1
- SDK 14.4
模拟器日志文件:
Process: myapp-ui.iOS [19566]
Path: /Users/USER/Library/Developer/CoreSimulator/Devices/2C19C42D-564E-42CB-B805-C9C49BB1E8FD/data/Containers/Bundle/Application/1F644647-27DB-48EF-96D6-75A169AE4E9D/myapp-ui.iOS.app/myapp-ui.iOS
Identifier: myapp-ui.iOS
Version: 2.0.3 (1610484945)
Code Type: X86-64 (Native)
Parent Process: launchd_sim [17405]
Responsible: SimulatorTrampoline [1267]
User ID: 501
Date/Time: 2021-02-16 12:29:44.629 -0600
OS Version: macOS 11.2.1 (20D74)
Report Version: 12
Anonymous UUID: E13D7872-1C1C-3306-5557-E45B4D68317D
Time Awake Since Boot: 350000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 tid_307 dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000,0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific information:
abort() called
CoreSimulator 732.18.6 - Device: iPhone 12 Pro (2C19C42D-564E-42CB-B805-C9C49BB1E8FD) - Runtime: iOS 14.4 (18D46) - DeviceType: iPhone 12 Pro
Thread 0 Crashed:: tid_307 dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff61131462 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff6116a610 pthread_kill + 263
2 libsystem_c.dylib 0x00007fff200fac2e __abort + 139
3 libsystem_c.dylib 0x00007fff200faba3 abort + 135
4 io.myapp.myapp-easyapp 0x00000001045caa6f xamarin_unhandled_exception_handler + 31 (runtime.m:1151)
5 io.myapp.myapp-easyapp 0x000000010445f415 mono_invoke_unhandled_exception_hook + 133 (exception.c:1265)
6 io.myapp.myapp-easyapp 0x000000010439ce2a mono_handle_exception_internal + 6986 (mini-exceptions.c:2782)
7 io.myapp.myapp-easyapp 0x000000010439b2d9 mono_handle_exception + 25 (mini-exceptions.c:3107)
8 io.myapp.myapp-easyapp 0x000000010431b969 mono_amd64_throw_exception + 169 (exceptions-amd64.c:409)
9 ??? 0x0000000104f6a5b0 0 + 4378240432
10 io.myapp.myapp-easyapp 0x00000001045ca7ed xamarin_process_managed_exception + 301 (runtime.m:2356)
11 io.myapp.myapp-easyapp 0x00000001045d1482 xamarin_invoke_trampoline + 1250 (trampolines-invoke.m:686)
12 io.myapp.myapp-easyapp 0x00000001045d3642 xamarin_arch_trampoline + 82 (trampolines-x86_64.m:491)
13 io.myapp.myapp-easyapp 0x00000001045d400a xamarin_x86_64_common_trampoline + 118 (trampolines-x86_64-asm.s:51)
14 com.apple.Foundation 0x00007fff208592ba __NSThreadPerformPerform + 204
15 com.apple.CoreFoundation 0x00007fff2039038a __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16 com.apple.CoreFoundation 0x00007fff20390282 __CFRunLoopDoSource0 + 180
17 com.apple.CoreFoundation 0x00007fff2038f7c6 __CFRunLoopDoSources0 + 346
18 com.apple.CoreFoundation 0x00007fff20389f2f __CFRunLoopRun + 878
19 com.apple.CoreFoundation 0x00007fff203896d6 CFRunLoopRunSpecific + 567
20 com.apple.GraphicsServices 0x00007fff2c257db3 GSEventRunModal + 139
21 com.apple.UIKitCore 0x00007fff24696cf7 -[UIApplication _run] + 912
22 com.apple.UIKitCore 0x00007fff2469bba8 UIApplicationMain + 101
23 ??? 0x00000001065cb0a4 0 + 4401705124
24 ??? 0x00000001065caf13 0 + 4401704723
25 ??? 0x00000001065c7313 0 + 4401689363
26 io.myapp.myapp-easyapp 0x00000001043b36d1 mono_jit_runtime_invoke + 1569 (mini-runtime.c:3191)
27 io.myapp.myapp-easyapp 0x00000001044d9c08 do_runtime_invoke + 54 (object.c:3052) [inlined]
28 io.myapp.myapp-easyapp 0x00000001044d9c08 mono_runtime_invoke_checked + 136 (object.c:3220)
29 io.myapp.myapp-easyapp 0x00000001044dff75 do_exec_main_checked + 60 [inlined]
30 io.myapp.myapp-easyapp 0x00000001044dff75 mono_runtime_exec_main_checked + 117 (object.c:5284)
31 io.myapp.myapp-easyapp 0x00000001043124ec mono_jit_exec_internal + 14 (driver.c:1383) [inlined]
32 io.myapp.myapp-easyapp 0x00000001043124ec mono_jit_exec + 364 (driver.c:1328)
33 io.myapp.myapp-easyapp 0x00000001045d3196 xamarin_main + 1686 (monotouch-main.m:493)
34 io.myapp.myapp-easyapp 0x00000001042cc857 main + 55 (main.m:55)
35 libdyld.dylib 0x00007fff2025a3e9 start + 1
解决方法
幸运的是问题是 Entitlement.plist,由于某种原因,当使用 Xamarin.Essentials 的 SecureStorage 时,应用程序在商店发布 Testflight 时崩溃,所以我删除了 SecureStorage 并解决了问题。
感谢大家的回答。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。