Xamarin.Формирует сбой приложения iOS при выпуске после заставки

#ios #xamarin #crash

#iOS #xamarin #сбой

Вопрос:

У меня сейчас очень серьезная проблема:

Поведение:

Настройка

Приложение работает при отладке, но в выпуске завершается при запуске приложения.

Информация об отладке неясна по причине сбоя приложения только в режиме выпуска.

  1. Visual Studio 2019
  2. Xamarin Forms 4.8.0.1821
  3. ZXing.Net.Mobile 2.4.1
  4. ZXing.Net.Mobile.Формы 2.4.1
  5. Ньютонсофт.Json 12.0.3
  6. Xamarin.Основы 1.6.1
  7. 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
 

Комментарии:

1. Включите отладку в конфигурации выпуска и сами разберитесь, что происходит

2. Попробуйте без каких-либо ссылок

3. @Cheesebaron извините, но я уже это пишу, ошибка не воспроизводится в режиме отладки, только релиз, это было связано с файлом Entitlement.plist после нескольких часов расследования, но теперь это происходит только в тестовой версии магазина.

4. Я говорю вам включить отладку в конфигурации режима выпуска или изменить конфигурацию отладки в соответствии с выпуском, за исключением отладки.

Ответ №1:

К счастью, по какой-то причине проблема заключается в файле Entitlement.plist при использовании SecureStorage из Xamarin.Essentials, сбой приложения при тестировании выпуска в магазине, поэтому я удаляю SecureStorage, и проблема решена.

Спасибо всем за все ответы.

Комментарии:

1. Да, вам нужны права доступа к связке ключей при использовании доступа к связке ключей через essentials для iOS simulator. Однако у вас не должно быть этой проблемы на устройствах, поскольку она не нужна. Вы всегда можете проверить вывод logcat в выпуске, локальном или из testflight. Там у вас должны быть некоторые подсказки.

2. Рад, что вы решили эту проблему, не забудьте отметить ответ, когда у вас будет время.