Xamarin.iOS |通过 XCode 13.2.1 构建时应用程序在启动时崩溃
Xamarin.iOS | App crash on launch when build via XCode 13.2.1
我们有一个应用程序可以在通过 XCode 12.5.1.
构建的设备上运行
但是,当我们通过 XCode 13.2.1 构建相同的应用程序时,它会在启动时崩溃。没有崩溃日志,因为应用程序没有完成启动。
符号化的本机崩溃设备日志来自 XCode:
1 libsystem_pthread.dylib 0x00000001ddaaf9e8 pthread_kill + 212
2 libsystem_c.dylib 0x00000001a0ea79b0 __abort + 112
3 libsystem_c.dylib 0x00000001a0ea7940 __abort + 0
4 iOS 0x0000000104492fb8 xamarin_find_protocol_wrapper_type + 30355384 (runtime.m:1177)
5 iOS 0x0000000104359f58 mono_invoke_unhandled_exception_hook + 29073240 (exception.c:1299)
6 iOS 0x00000001042ef0d0 mono_handle_exception_internal + 28635344 (mini-exceptions.c:2792)
7 iOS 0x00000001042edaa4 mono_handle_exception + 28629668 (mini-exceptions.c:3116)
8 iOS 0x00000001042e3820 mono_arm_throw_exception + 28588064 (exceptions-arm64.c:403)
9 iOS 0x0000000102bfd07c llvm_throw_corlib_exception_abs_trampoline + 172
10 iOS 0x00000001037d601c
模拟器上没有问题。
也可以在设备上以调试模式部署。
如果有人能指出原因,我将不胜感激。谢谢!
更新 1:
在应用程序启动时出现以下异常:
System.EntryPointNotFoundException: xamarin_dyn_objc_msgSend
at Foundation.NSObject.DangerousRetain () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:537
at Foundation.NSObject.CreateManagedRef (System.Boolean retain) [0x00057] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:375
at Foundation.NSObject.InitializeObject (System.Boolean alloced) [0x0009c] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:352
at Foundation.NSObject..ctor (Foundation.NSObjectFlag x) [0x0000d] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:184
at UIKit.UIApplicationDelegate..ctor () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/build/ios/native/UIKit/UIApplicationDelegate.g.cs:794
at App.iOS.AppDelegate..ctor () <0x102e32a50 + 0x0003b> in <ec9d196a959a4ab6b62c94c294993dc9#bddc3ec2684c5a21aacd85c97b343e39>:0
at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.Type principalClass, System.Type delegateClass) [0x0003b] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:83
at App.iOS.Application.Main (System.String[] args) [0x00011] in /Users/vitthalpatil/Documents/MobileXpense/Git/App-xamarin/AppiOS/Views/Main/Main.cs:13 Previous log file is /var/mobile/Containers/Data/Application/278CCDA3-9618-422F-A592-03D801F0B263/Library/Blackbox/sc5x3wxu.7w1
2022-02-16 17:51:51.856 AppiOS[741:109556] Created /var/mobile/Containers/Data/Application/278CCDA3-9618-422F-A592-03D801F0B263/Documents/../Library/Blackbox/hdgc00m7.xi3
2022-02-16 17:51:52.025 AppiOS[741:109591]
Unhandled Exception:
System.EntryPointNotFoundException: xamarin_dyn_objc_msgSend
at Foundation.NSObject+NSObject_Disposer.Add (Foundation.NSObject handle) [0x00039] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:976
at Foundation.NSObject.Dispose (System.Boolean disposing) [0x0002c] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:928
at Foundation.NSObject.Finalize () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:207
2022-02-16 17:51:52.026 AppiOS[741:109591] Unhandled managed exception: xamarin_dyn_objc_msgSend (System.EntryPointNotFoundException)
at Foundation.NSObject+NSObject_Disposer.Add (Foundation.NSObject handle) [0x00039] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:976
at Foundation.NSObject.Dispose (System.Boolean disposing) [0x0002c] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:928
at Foundation.NSObject.Finalize () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:207
=================================================================
Native Crash Reporting
=================================================================
Got a abrt while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0x105481ef4 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : _ZN7plcrash2MS5async24dwarf_cfa_state_iteratorIyxE4nextEPjPNS1_28plcrash_dwarf_cfa_reg_rule_tEPy
0x105478040 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : _ZN7plcrash2MS5async24dwarf_cfa_state_iteratorIyxE4nextEPjPNS1_28plcrash_dwarf_cfa_reg_rule_tEPy
0x10548143c - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : _ZN7plcrash2MS5async24dwarf_cfa_state_iteratorIyxE4nextEPjPNS1_28plcrash_dwarf_cfa_reg_rule_tEPy
0x1d6a23dbc - /usr/lib/system/libsystem_platform.dylib : <redacted>
0x1d6a339e8 - /usr/lib/system/libsystem_pthread.dylib : pthread_kill
0x199e2b934 - /usr/lib/system/libsystem_c.dylib : abort
0x10563b884 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : xamarin_find_protocol_wrapper_type
0x1054e28ec - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x105590874 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1054e4cb0 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1055b5e78 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1054e5e24 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x105590e8c - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x105590d10 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1d6a32b70 - /usr/lib/system/libsystem_pthread.dylib : _pthread_start
0x1d6a37880 - /usr/lib/system/libsystem_pthread.dylib : thread_start
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x1bbae095c):0x1bbae094c c0 03 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4 .._..._..)......
0x1bbae095c e3 00 00 54 fd 7b bf a9 fd 03 00 91 1d 76 ff 97 ...T.{.......v..
0x1bbae096c bf 03 00 91 fd 7b c1 a8 c0 03 5f d6 c0 03 5f d6 .....{...._..._.
0x1bbae097c 90 29 80 d2 01 10 00 d4 e3 00 00 54 fd 7b bf a9 .).........T.{..
=================================================================
Managed Stacktrace:
=================================================================
=================================================================
更新 2:
通过更新 .csproj 发布配置中的以下标签设法解决此问题:
更改:
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS --marshal-objectivec-exceptions=unwindmanagedcode</MtouchExtraArgs>
到
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS</MtouchExtraArgs>
通过更新 .csproj 发布配置中的以下标签设法解决了这个问题:
已更改:
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS --marshal-objectivec-exceptions=unwindmanagedcode</MtouchExtraArgs>
至
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS</MtouchExtraArgs>
在 xamarin-macios 中提出问题以跟踪问题,并在需要时进行修复。
我们有一个应用程序可以在通过 XCode 12.5.1.
构建的设备上运行但是,当我们通过 XCode 13.2.1 构建相同的应用程序时,它会在启动时崩溃。没有崩溃日志,因为应用程序没有完成启动。
符号化的本机崩溃设备日志来自 XCode:
1 libsystem_pthread.dylib 0x00000001ddaaf9e8 pthread_kill + 212
2 libsystem_c.dylib 0x00000001a0ea79b0 __abort + 112
3 libsystem_c.dylib 0x00000001a0ea7940 __abort + 0
4 iOS 0x0000000104492fb8 xamarin_find_protocol_wrapper_type + 30355384 (runtime.m:1177)
5 iOS 0x0000000104359f58 mono_invoke_unhandled_exception_hook + 29073240 (exception.c:1299)
6 iOS 0x00000001042ef0d0 mono_handle_exception_internal + 28635344 (mini-exceptions.c:2792)
7 iOS 0x00000001042edaa4 mono_handle_exception + 28629668 (mini-exceptions.c:3116)
8 iOS 0x00000001042e3820 mono_arm_throw_exception + 28588064 (exceptions-arm64.c:403)
9 iOS 0x0000000102bfd07c llvm_throw_corlib_exception_abs_trampoline + 172
10 iOS 0x00000001037d601c
模拟器上没有问题。 也可以在设备上以调试模式部署。
如果有人能指出原因,我将不胜感激。谢谢!
更新 1: 在应用程序启动时出现以下异常:
System.EntryPointNotFoundException: xamarin_dyn_objc_msgSend
at Foundation.NSObject.DangerousRetain () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:537
at Foundation.NSObject.CreateManagedRef (System.Boolean retain) [0x00057] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:375
at Foundation.NSObject.InitializeObject (System.Boolean alloced) [0x0009c] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:352
at Foundation.NSObject..ctor (Foundation.NSObjectFlag x) [0x0000d] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:184
at UIKit.UIApplicationDelegate..ctor () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/build/ios/native/UIKit/UIApplicationDelegate.g.cs:794
at App.iOS.AppDelegate..ctor () <0x102e32a50 + 0x0003b> in <ec9d196a959a4ab6b62c94c294993dc9#bddc3ec2684c5a21aacd85c97b343e39>:0
at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.Type principalClass, System.Type delegateClass) [0x0003b] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:83
at App.iOS.Application.Main (System.String[] args) [0x00011] in /Users/vitthalpatil/Documents/MobileXpense/Git/App-xamarin/AppiOS/Views/Main/Main.cs:13 Previous log file is /var/mobile/Containers/Data/Application/278CCDA3-9618-422F-A592-03D801F0B263/Library/Blackbox/sc5x3wxu.7w1
2022-02-16 17:51:51.856 AppiOS[741:109556] Created /var/mobile/Containers/Data/Application/278CCDA3-9618-422F-A592-03D801F0B263/Documents/../Library/Blackbox/hdgc00m7.xi3
2022-02-16 17:51:52.025 AppiOS[741:109591]
Unhandled Exception:
System.EntryPointNotFoundException: xamarin_dyn_objc_msgSend
at Foundation.NSObject+NSObject_Disposer.Add (Foundation.NSObject handle) [0x00039] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:976
at Foundation.NSObject.Dispose (System.Boolean disposing) [0x0002c] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:928
at Foundation.NSObject.Finalize () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:207
2022-02-16 17:51:52.026 AppiOS[741:109591] Unhandled managed exception: xamarin_dyn_objc_msgSend (System.EntryPointNotFoundException)
at Foundation.NSObject+NSObject_Disposer.Add (Foundation.NSObject handle) [0x00039] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:976
at Foundation.NSObject.Dispose (System.Boolean disposing) [0x0002c] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:928
at Foundation.NSObject.Finalize () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:207
=================================================================
Native Crash Reporting
=================================================================
Got a abrt while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0x105481ef4 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : _ZN7plcrash2MS5async24dwarf_cfa_state_iteratorIyxE4nextEPjPNS1_28plcrash_dwarf_cfa_reg_rule_tEPy
0x105478040 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : _ZN7plcrash2MS5async24dwarf_cfa_state_iteratorIyxE4nextEPjPNS1_28plcrash_dwarf_cfa_reg_rule_tEPy
0x10548143c - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : _ZN7plcrash2MS5async24dwarf_cfa_state_iteratorIyxE4nextEPjPNS1_28plcrash_dwarf_cfa_reg_rule_tEPy
0x1d6a23dbc - /usr/lib/system/libsystem_platform.dylib : <redacted>
0x1d6a339e8 - /usr/lib/system/libsystem_pthread.dylib : pthread_kill
0x199e2b934 - /usr/lib/system/libsystem_c.dylib : abort
0x10563b884 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : xamarin_find_protocol_wrapper_type
0x1054e28ec - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x105590874 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1054e4cb0 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1055b5e78 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1054e5e24 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x105590e8c - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x105590d10 - /private/var/containers/Bundle/Application/4FCA86E7-B50F-4EA6-9297-176CC0BA339B/AppiOS.app/AppiOS : mono_pmip
0x1d6a32b70 - /usr/lib/system/libsystem_pthread.dylib : _pthread_start
0x1d6a37880 - /usr/lib/system/libsystem_pthread.dylib : thread_start
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x1bbae095c):0x1bbae094c c0 03 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4 .._..._..)......
0x1bbae095c e3 00 00 54 fd 7b bf a9 fd 03 00 91 1d 76 ff 97 ...T.{.......v..
0x1bbae096c bf 03 00 91 fd 7b c1 a8 c0 03 5f d6 c0 03 5f d6 .....{...._..._.
0x1bbae097c 90 29 80 d2 01 10 00 d4 e3 00 00 54 fd 7b bf a9 .).........T.{..
=================================================================
Managed Stacktrace:
=================================================================
=================================================================
更新 2: 通过更新 .csproj 发布配置中的以下标签设法解决此问题:
更改:
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS --marshal-objectivec-exceptions=unwindmanagedcode</MtouchExtraArgs>
到
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS</MtouchExtraArgs>
通过更新 .csproj 发布配置中的以下标签设法解决了这个问题:
已更改:
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS --marshal-objectivec-exceptions=unwindmanagedcode</MtouchExtraArgs>
至
<MtouchExtraArgs>--linkskip=NETStd.Lib --linkskip=AppiOS</MtouchExtraArgs>
在 xamarin-macios 中提出问题以跟踪问题,并在需要时进行修复。