【问题标题】:condition 'klass' not met when loading my page加载我的页面时未满足条件“klass”
【发布时间】:2019-06-12 11:55:46
【问题描述】:

当我使用与 Visual Studio 2019 同步的 Mac 在 iPhone 上启动我的应用程序时,我收到错误消息:

error: * Assertion at ../../../../../mono/metadata/class-init.c:4109, condition `klass' not met

我认为它与我的页面有关,因为它在 App.cs 中的 MainPage = new myPage(); 处崩溃。

如果需要,我可以添加整个错误打印。

有什么帮助吗?

编辑:关于代码的更多信息:

页面的构造函数执行以下操作:

  • InitializeComponent();
  • 使用WebRequestStreamWriterWebResponse 的数据库调用
  • 使用JObject解析anwser并更新一些Label
  • Grid 添加到我的LayoutGrid 正在使用: AbsoluteLayout, StackLayout, Frame, TapGestureRecognizer, Image, Button, Label

xaml:

 <ContentPage.Content>   
        <StackLayout x:Name="stackMainWrapper"
                     BackgroundColor="White">
            <StackLayout x:Name="stackPageHeader"
                         Padding="20,10,20,0" >
                <StackLayout x:Name="stackHeaderNavigation"
                             Orientation="Horizontal">
                    <myApp:SvgIcon x:Name="svgBtnUser" 
                                         ResourceId="myApp.assets.icons.svg.menu.svg" 
                                         WidthRequest="25"
                                         Margin="0,0,10,0"
                                         VerticalOptions="Center">
                        <myApp:SvgIcon.GestureRecognizers>
                            <TapGestureRecognizer Tapped="GoToMenu" />
                        </myApp:SvgIcon.GestureRecognizers>
                    </myApp:SvgIcon>
                    <Label x:Name="labelPageName" 
                               Text=""
                               Style="{StaticResource TitleLabelStyle}"
                               VerticalOptions="Center" />
                    <Button x:Name="btncreate"
                            Text=""
                            Style="{StaticResource ButtonRegularBlue}"
                            Margin="0,10"
                            Clicked=""
                            HorizontalOptions="EndAndExpand"/>
                    <myApp:SvgIcon x:Name="svgBtnFilterResults" 
                                         ResourceId="myApp.assets.icons.svg.search.svg" 
                                         WidthRequest="25"
                                         Margin="10,0,0,0"
                                         CornerRadius="50"
                                         Padding="10,0"
                                         IsVisible="False"
                                         BackgroundColor="{StaticResource LightGreyStyled}"
                                         HorizontalOptions="End"
                                         VerticalOptions="Center">
                        <myApp:SvgIcon.GestureRecognizers>
                            <TapGestureRecognizer
Tapped="BtnFilterResults_Clicked" />
                        </myApp:SvgIcon.GestureRecognizers>
                    </myApp:SvgIcon>
                </StackLayout>

            </StackLayout>
            <controls:ShadowLine />

            <ScrollView x:Name="scrollPageBody"
                        Margin="0">
                <StackLayout x:Name="PageBody"
                         Padding="20" >
                    <Label x:Name="" 
                       Text=""
                       Style="{StaticResource RegularLabelStyle}"
                       HorizontalTextAlignment="Center"
                       Margin="0,0,0,20"/>
                </StackLayout>
            </ScrollView>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

编辑:添加异常跟踪:

2019-06-13 11:25:52.743 myapp.iOS[682:181626] 错误:* 断言在 ../../../../../mono/metadata/class-init.c:4109,条件“klass”不是 遇到了

================================================ ================== 原生崩溃报告 ==================================================== =============== 执行本机代码时收到 SIGABRT。这通常表示致命 单声道运行时或您使用的本机库之一中的错误

应用程序。

================================================ ================== 基本故障地址报告 ==================================================== =============== 本机指令指针(0x1d3bb20dc)周围的内存:0x1d3bb20cc fd 7b c1 a8 c0 03 5f d6 10 29 80 d2 01 10 00 d4 .{...._..)......

0x1d3bb20dc c3 00 00 54 fd 7b bf a9 fd 03 00 91 55 d6 ff 97 ...T.{......U...

0x1d3bb20ec bf 03 00 91 fd 7b c1 a8 c0 03 5f d6 90 29 80 d2 .....{.. .._..).. 0x1d3bb20fc 01 10 00 d4 c3 00 00 54 fd 7b bf a9 fd 03 00 91 ........T.{.... ..

================================================ ==================本机堆栈跟踪: ==================================================== =============== 0x1005752fc - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS : (null) 0x10056bc1c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :(空)0x1d3c259ec - /usr/lib/system/libsystem_platform.dylib: 0x1d3c2b094 - /usr/lib/system/libsystem_pthread.dylib: 0x1d3b0bea8 - /usr/lib/system/libsystem_c.dylib:中止 0x1006f1c7c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_find_protocol_wrapper_type 0x1006d2018 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x1006d20a4 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x1005adc78 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x100713638 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS : xamarin_ L'execution de l'application est terminée。 本地化字符串格式_9 0x100710edc - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100702b78 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100706ad8 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100706ad8 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100703a80 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100701e50 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x10057c294 - /var/containers/Bundle/Applic ation/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS: mono_pmip 0x10061794c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x10061af84 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x10047904c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS : (null) 0x100479844 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS : (null) 0x2007d0594 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: Échec de l'arrêt de l'application : 发生错误 客户端 IDB1610517 在执行主题回复时 xvs/idb/16.1.0.517/stop-app 0x2007d5d20 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x2000992dc - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: L'execution de l'application est terminée。 0x2000a1874 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x200098f60 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x200099850 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x200097b9c - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x200097864 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x20009c3a4 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x20009d188 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: _performActionsWithDelayForTransitionContext 0x20009c25c - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x2007cee30 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x2000a0f5c - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x2007d4328 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x2003d0ba8 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: 0x1d69909fc - /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices :0x1d699a40c - /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices :0x1d6999c14 - /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices :0x1d3a557d4 - /usr/lib/system/libdispatch.dylib: 0x1d39fa5d8 - /usr/lib/system/libdispatch.dylib: 0x1d69cb040 - /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices :0x1d69cacdc - /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices :0x1d69cb294 - /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices :0x1d3fa7018 - /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation: 0x1d3fa6f98 - /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation: 0x1d3fa6880 - /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation: 0x1d3fa17bc - /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation: 0x1d3fa10b0 - /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation: CFRunLoopRunSpecific 0x1d61a179c - /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices :GSEventRunModal 0x2007d7978 - /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore: UIApplicationMain 0x10071128c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x10070343c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100703a80 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100703a80 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100703a80 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100703a80 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x100701e50 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x10057c294 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x10061794c - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/enVisit 4> 在 在 UIKit.UIApplication:UIApplicationMain 在 UIKit.UIApplication:Main 在 UIKit.UIApplication:Main 在 myapp.iOS.Application:Main 在 :runtime_invoke_direct_void_string[] ==================================================== =============== e360.iOS.app/myapp.iOS:mono_pmip 0x10061cf68 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :mono_pmip 0x100560c64 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS : (null) 0x100700be0 - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :xamarin_localized_string_format_9 0x10052adfc - /var/containers/Bundle/Application/B332FB94-B5DA-4627-8D03-5471B0CE66FC/myapp.iOS.app/myapp.iOS :(空)0x1d3a668e0 - /usr/lib/system/libdyld.dylib:

================================================ ================== 托管堆栈跟踪: ==================================================== =============== 在 在 myapp.App:.ctor 在 myapp.iOS.AppDelegate:FinishedLaunching 在 :runtime_invoke_direct_bool__this___UIApplication_NSDictionary

【问题讨论】:

  • 能否将代码分享给我们,以便我们查看问题所在
  • 我无法共享代码,因为它与工作有关,但我可以共享 AppDelegate.cs 中使用的每个 nuget 和添加的 inits,使用的每个引用和 nuget,以及在 myPage 上使用哪些.
  • 你能删除所有工作敏感材料并分享吗?另外,代码是否正常工作,然后突然停止了?在停止之后做了哪些更改?
  • 如果我这样做,页面将是空的,这就是我无法分享的原因。我知道没有代码会越来越难以理解,因此,我可以(大致)告诉页面正在执行的所有操作。之前,我有一个 AOT 问题,今天刚刚解决,这是我第一次走到这一步。到目前为止,我一直在 Android 上构建,一切正常。
  • 哦,所以您正在构建一个解决方案,但您从未能够在 iOS 设备上对其进行测试。所以现在当你这样做时,它会给你那个错误。您能否尝试创建一个新的解决方案并将文件移过来?

标签: xamarin.forms xamarin.ios


【解决方案1】:

您必须在分配给 mainPage 之前初始化页面。

MainPage = new myPage();

【讨论】:

  • 是的,我知道,只是少了一个字,对不起!我正在编辑我的问题。
【解决方案2】:

我设法分解了崩溃的代码,并通过逐行取消注释来查看发生了什么问题,显然,在 Xamarin iOS 上使用 dynamic 会使应用程序崩溃。

好吧..避免使用dynamic我猜...

【讨论】:

    猜你喜欢
    • 2017-09-15
    • 1970-01-01
    • 2021-12-11
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多