我在所有项目(平台共享)中将我的Xamarin. form包更新到最新(2.3.4.224),现在我似乎不应该再使用Device.OS
或Target平台
枚举,因为它们已被弃用。
编译器因为这些行而抱怨:
if (Device.OS == TargetPlatform.iOS)
_API_BASE_URI = "http://XXX.XXX.XXX.XXX";
else
_API_BASE_URI = "http://YYY.YYY.YYY.YYY";
上面写着:
"Device.OS已过时。请改用Runtime平台"
到目前为止一切都很好,现在我想解决这个问题,我一直在尝试使用:
Debug.WriteLine(Device.RuntimePlatform);
但它抛出了一个运行时异常。这是堆栈跟踪
04-08 14:57:34.812 I/MonoDroid( 3782):未处理的异常:04-08 14:57:34.824 I/MonoDroid( 3782):System.TypeInitializationException:“Mob.ApiCommunication”的类型初始值设定项引发异常。---
我在使用运行时平台时遗漏了什么吗?我已经环顾四周,但目前有关 Device
类的任何文档/示例都在使用已弃用的成员。
hvaughan3 对 OP 的评论对我有什么影响。确保不仅您的 PCL,而且您的 Android/iOS/etc 项目也更新了它们的软件包。然后按照OP接受的答案进行全面清理并从那里构建。
Xamarin.Forms-2.3.4.224已将条件检查更改为:
if (Device.OS == TargetPlatform.iOS)
{
}
收件人:
if (Device.RuntimePlatform.Equals("Android"))
{
Debug.WriteLine($"Onplatform: {Device.RuntimePlatform}");
}
else if (Device.RuntimePlatform.Equals("iOS"))
{
Debug.WriteLine($"Onplatform: {Device.RuntimePlatform}");
}
我想出了一个解决方案。奇怪的是,在发布到SO之前,我已经为我的Xamlin项目做了这件事,但没有任何效果。但是这一次,在Xamlin论坛上阅读了这篇帖子后:https://forums.xamarin.com/discussion/92455/xamarin-forms-2-3-4-224这就是我所做的:
我已经关闭了VisualStudio,清理了所有“垃圾箱”
现在<代码>调试。WriteLine(设备。runtime platform);按预期返回“Android”字符串!,
我已经在 Android 4.3 低功耗蓝牙示例中实现了代码来查找设备。 我的舱单包括: 并且该设备是Nexus 4,已使用出厂4.3映像进行切换。 我曾经让这个东西工作过一次,但在后续运行中,我得到以下错误:
我正在使用以下联系人获取应用程序的代码,我正在获得Android运行时:致命的异常:第17行的主要错误。 下面是我的logcat E/AndroidRuntime:致命异常:主进程:com.example.alpesh_pc.contactList,PID:3833 java.lang.RuntimeException:无法启动activity组件信息{com.example.alpesh_pc.
问题内容: 尝试使用gdb调试程序时,它无法在OPENSSL_cpuid_setup中报告SIGILL。 有了这个简单的代码,我的行为与: 它可以编译并运行良好,但是从回溯之后的gdb报告开始 如何在gdb下运行这样的程序? 问题答案: SSL_library_init在gdb下运行时会导致SIGILL … 实际上,它一直都在执行,而不仅仅是在GDB下。当库测试处理器功能时,这是启动代码中的正常行
我有一个在Tomcat7上运行的Spring3.0WebMVC应用程序。在应用程序启动时,我启动一个后台线程来加载内存缓存,其中包含来自数据库的记录。该线程从数据库加载所有数据通常需要一个多小时。在同一个应用程序中,我有一个@Controller注释类,它公开了一个REST接口,客户端可以通过该接口从加载的缓存中获取对象。 我们的要求之一是,在数据加载完成之前发出的任何REST请求都将立即向客户端
(2016.3.15更新) 上周我遇到了一个奇怪的问题,我想和你讨论一下这个问题。 但是,如果我使用sendMessage(SearchHandler.Object...)而不是runOnUiThread,一切都会很顺利!! java: SearchActivity.java: 2)在运行getActivity().runonuithread()之前,首先判断getActivity()==null
在各方有志之士的努力下,Ruby已经被移植到多种平台。下面,就从OS或开发环境等方面对Ruby的运行环境做一个简要介绍。 关于安装和编译问题,请参考Ruby 安装指南。 Unix Windows(Win32) Win32 native版 mswin32 MinGW (mingw, mingw32) bccwin32 Cygwin (cygwin) Mac Mac OS X BeOS MS-DOS