MAUI iOS 中的 XML 序列化错误

Wenyan Zhang (Shanghai Wicresoft Co,.Ltd.) 33,591 信誉分 Microsoft 供应商
2024-11-06T05:49:00.24+00:00

下午好。

 

我们正在 MAUI (.net 9-0) 上开发适用于 iOS 的移动应用程序。使用 Apple 开发配置文件时,我们的应用程序会毫无问题地编译和部署在设备上(使用 IDE Rider)。

 

但是,当我们将 Apple 配置文件从开发更改为分发、构建 ipa、将其上传到 TestFlight 时 - 在同一设备上,我们的应用程序在打开时崩溃。

 

在这两种情况下,使用相同的代码,使用相同的构建设置:

 

<PropertyGroup Condition=" '$(Configuration)' == 'Distribution' "> <MtouchUseLlvm>true</MtouchUseLlvm> <MtouchEnableBitcode>false</MtouchEnableBitcode> <AotAssemblies>true</AotAssemblies> <MtouchLink>SdkOnly</MtouchLink> <DebugType>none</DebugType> <Optimize>true</Optimize> <DebugSymbols>false</DebugSymbols> <CodesignKey>Apple Distribution: company-name (team-id)</CodesignKey> <WarningLevel>9</WarningLevel> <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> <MtouchEnableSGenConc>true</MtouchEnableSGenConc> </PropertyGroup> `````xml
<PropertyGroup Condition=" '$(Configuration)' == 'Distribution' ">
<MtouchUseLlvm>true</MtouchUseLlvm>
<MtouchEnableBitcode>false</MtouchEnableBitcode>
<AotAssemblies>true</AotAssemblies>
<MtouchLink>SdkOnly</MtouchLink>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<DebugSymbols>false</DebugSymbols>
<CodesignKey>Apple Distribution: company-name (team-id)</CodesignKey>
<WarningLevel>9</WarningLevel>
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
<MtouchEnableSGenConc>true</MtouchEnableSGenConc>
</PropertyGroup>

 

在检查 TestFlight 生成的崩溃日志后,我们能够获得以下跟踪堆栈,这导致了应用程序的强制终止:

 

System_Private_Xml_System_Xml_XmlAsyncCheckReader_MoveToNextAttribute (in app-bundle-name.iOS) + 68

 

System_Private_Xml_System_Xml_Schema_FacetsChecker_FacetsCompiler_CompileMinLengthFacet_System_Xml_Schema_XmlSchemaFacet (inapp-bundle-name.iOS) + 136

 

System_Private_Xml_System_Xml_Serialization_XmlCustomFormatter__cctor (in app-bundle-name.iOS) + 20

 

System_Private_Xml_System_Xml_XmlParserContext_get_Encoding (in app-bundle-name.iOS) + 16

 

System_Private_Xml_System_Xml_Serialization_XmlSerializer_CreateReader (in app-bundle-name.iOS) + 36

 

System_Private_Xml_System_Xml_Schema_XmlBaseConverter_DateOffsetToString_System_DateTimeOffset (in app-bundle-name.iOS) + 56

 

看起来好像在 AOT 编译过程中出了点问题,并且基于 XAML 标记生成的代码无法正常工作。

 

如果有人对如何解决这个问题有任何想法 - 在应用程序开始时崩溃 - 如果您分享它们,我将不胜感激,因为,老实说,我不知道如何解决它

 

提前感谢您的回复

 

此问题整理于:https://learn.microsoft.com/en-us/answers/questions/2113921/xml-xml-serialization-error-in-maui-ios

.NET MAUI
.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
94 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 46,206 信誉分 Microsoft 供应商
    2024-11-06T06:00:40.53+00:00

    你好,

    调试时,通常使用 il 解释器而不是 aot,这会限制反射等动态代码。您可以为运行时启用 Interpreter。请参考以下文档。

    https://learn.microsoft.com/en-us/dotnet/maui/macios/interpreter?view=net-maui-8.0

    有关不使用解释器的信息,请参阅:

    https://github.com/dotnet/runtime/issues/101041


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。