gpt4 book ai didi

c# - iOS 设备上缺少日期时间解析

转载 作者:行者123 更新时间:2023-11-29 11:38:33 26 4
gpt4 key购买 nike

我正在尝试将 DatePicker 添加到 Xamarin Forms 项目。我从 Xamarins website 中提取了一个样本或者也解释如下:

<DatePicker VerticalOptions="CenterAndExpand" Date="{x:Static sys:DateTime.Now}">
<DatePicker.Format>yyyy-MM-dd</DatePicker.Format>
<DatePicker.MinimumDate>
<sys:DateTime x:FactoryMethod="Parse">
<x:Arguments>
<x:String>Jan 1 2000</x:String>
</x:Arguments>
</sys:DateTime>
</DatePicker.MinimumDate>
<DatePicker.MaximumDate>
<sys:DateTime x:FactoryMethod="Parse">
<x:Arguments>
<x:String>Dec 31 2050</x:String>
</x:Arguments>
</sys:DateTime>
</DatePicker.MaximumDate>
</DatePicker>

我还包含了两个命名空间:

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"

在 iPhone 模拟器(版本 11.2)上运行它时,它可以愉快地呈现和工作,但是如果我在物理设备(版本 11.2)上运行它,它会抛出以下异常:

System.MissingMemberException

No static method found for System.DateTime::Parse (System.String)

有没有人遇到过这个问题或知道这会失败的原因?

最佳答案

只是为了澄清@Jason 和@SushHangover 提到的答案。

Mono 链接器执行静态评估,因此不会审查未编译的 XAML,因为它将在运行时序列化/基于反射。如果没有链接器,应用程序将非常庞大,并且就 iOS 应用程序而言,这些应用程序必须链接 Xamarin.iOS.dll 以删除您不使用的功能,否则应用程序提交将失败,因为整个 iOS API 被引用而没有所有启用 iOS 权利。还解释了here .

简而言之,快速修复是在代码中引用 DateTime.Parse 以证明这一点。当我有机会时,我将考虑在编译器中实际强制执行它,因为我不需要在代码中调用 DateTime.Parse

关于c# - iOS 设备上缺少日期时间解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47802152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com