Xamarin IOS 应用仅在安装 itunesconnect 和物理设备后崩溃

Xamarin IOS app crashes only after putting on itunesconnect and physical device

我有一个应用程序正在使用 Portable razor library 在 Xamarin 中构建一些 webview。它在模拟器中和在物理设备上调试时工作正常,但是一旦我部署到 itunesconnect 并通过 testflight 安装,它在启动时立即崩溃。我已经更新到 Xcode 和 Visual studio 的最新版本,但没有成功。下面是崩溃日志,但它没有提供我能看到的任何线索。对正在发生的事情有什么想法吗?

Date/Time:           2018-02-28 07:22:49.5734 -0600
Launch Time:         2018-02-28 07:22:49.3343 -0600
OS Version:          iPhone OS 11.2.6 (15D100)
Baseband Version:    3.42.00
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib         0x00000001841942e8 __pthread_kill + 8
1   libsystem_pthread.dylib        0x00000001842a92f8 pthread_kill$VARIANT$mp + 396 (pthread.c:1484)
2   libsystem_c.dylib              0x0000000184103060 __abort + 152 (abort.c:128)
3   libsystem_c.dylib              0x0000000184102fc8 abort + 152 (abort.c:99)
4   GlenroyCalculatorAppiOS        0x0000000104dc3e40 xamarin_get_block_descriptor + 4496
5   GlenroyCalculatorAppiOS        0x0000000104dbedfc 0x104a90000 + 3337724
6   GlenroyCalculatorAppiOS        0x0000000104c9e684 0x104a90000 + 2156164
7   GlenroyCalculatorAppiOS        0x0000000104ceaa34 0x104a90000 + 2468404
8   GlenroyCalculatorAppiOS        0x0000000104cea5a4 0x104a90000 + 2467236
9   GlenroyCalculatorAppiOS        0x0000000104dc3744 xamarin_get_block_descriptor + 2708
10  GlenroyCalculatorAppiOS        0x0000000104dc9a20 xamarin_get_block_descriptor + 28016
11  GlenroyCalculatorAppiOS        0x0000000104a98188 0x104a90000 + 33160
12  libdyld.dylib                  0x000000018406456c start + 4

Thread 1:
0   libsystem_pthread.dylib        0x00000001842a6b68 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib        0x00000001842a6b68 start_wqthread + 0

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib         0x00000001841940f0 __psynch_cvwait + 8
1   libsystem_pthread.dylib        0x00000001842aace4 _pthread_cond_wait$VARIANT$mp + 640 (pthread_cond.c:579)
2   GlenroyCalculatorAppiOS        0x0000000104da4e50 0x104a90000 + 3231312
3   libsystem_pthread.dylib        0x00000001842a82b4 _pthread_body + 308 (pthread.c:740)
4   libsystem_pthread.dylib        0x00000001842a8180 _pthread_start + 312 (pthread.c:799)
5   libsystem_pthread.dylib        0x00000001842a6b74 thread_start + 4

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000001
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x0000000000000031   x7: 0xffffffffffffffec
    x8: 0x0000000008000000   x9: 0x0000000004000000  x10: 0x00000000000003e8  x11: 0x00000001b7d1a004
   x12: 0x00000001b7d1a004  x13: 0x0000000000000018  x14: 0x0000000000000001  x15: 0x0000000000000881
   x16: 0x0000000000000148  x17: 0x0000000000000000  x18: 0xfffffff013edd260  x19: 0x0000000000000006
   x20: 0x00000001b59edb80  x21: 0x0000000104ed1000  x22: 0x0000000000000303  x23: 0x00000001b59edc60
   x24: 0x0000000105564e2a  x25: 0x0000000104de16e1  x26: 0x0000000000000000  x27: 0x0000000104e654f0
   x28: 0x0000000104e654d0   fp: 0x000000016b36e9a0   lr: 0x00000001842a92f8
    sp: 0x000000016b36e970   pc: 0x00000001841942e8 cpsr: 0x00000000

编辑:我认为这是我最近得到的更好的崩溃日志。指向导致崩溃的 print_callback 函数,我在我的项目中的任何地方都找不到。

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib         0x0000000184bd42e8 __pthread_kill + 8
1   libsystem_pthread.dylib        0x0000000184ce92f8 pthread_kill$VARIANT$mp + 396 (pthread.c:1484)
2   libsystem_c.dylib              0x0000000184b43060 __abort + 152 (abort.c:128)
3   libsystem_c.dylib              0x0000000184b42fc8 abort + 152 (abort.c:99)
4   GlenroyCalculatorAppiOS        0x0000000100e460d4 print_callback(char const*, int) + 3383508 (runtime.m:1211)
5   GlenroyCalculatorAppiOS        0x0000000100e40ff0 monoeg_g_log + 3362800 (goutput.c:125)
6   GlenroyCalculatorAppiOS        0x0000000100d1ad58 load_aot_module + 2157912 (aot-runtime.c:2071)
7   GlenroyCalculatorAppiOS        0x0000000100d67474 mono_assembly_load_from_predicate + 2471028 (assembly.c:2316)
8   GlenroyCalculatorAppiOS        0x0000000100d66fdc mono_assembly_open_predicate + 2469852 (assembly.c:1973)
9   GlenroyCalculatorAppiOS        0x0000000100e459d8 xamarin_open_and_register + 3381720 (runtime.m:943)
10  GlenroyCalculatorAppiOS        0x0000000100e4bcb4 xamarin_main + 3407028 (monotouch-main.m:434)
11  GlenroyCalculatorAppiOS        0x0000000100b12ddc main + 28124 (main.m:49)
12  libdyld.dylib                  0x0000000184aa456c start + 4

这是一个权限问题,但直到 xcode 9.3 才出现,当时我用它来构建我的应用程序以供发布。如果您不指定某些 Info.plist 键,您的应用程序将在请求它们时立即崩溃。这特别令人困惑,因为我没有使用它告诉我的任何权限。希望这对其他人有帮助。