我正在尝试确定该应用是在模拟器中运行还是在硬件(苹果iphone)设备上运行。
各种答案都表明我会做以下事情:
bool isSimulator = MonoTouch.ObjCRuntime.Runtime.Arch ==
MonoTouch.ObjCRuntime.Arch.SIMULATOR;
我已添加到我的iOS应用AppDelegate.cs
文件中。但它确实编译 - 我缺少命名空间或程序集:(
这是一个FULL方法的图片(颜色编码显示它找不到静态属性):
有人可以帮忙吗?
答案 0 :(得分:7)
using ObjCRuntime;
bool isSimulator = Runtime.Arch == Arch.SIMULATOR;
仅供参考:MonoTouch
名称空间已被弃用(~2012),并已在" Xamarin.iOS"中分解为多个名称空间。产品
答案 1 :(得分:0)
使用UIDevice.CurrentDevice
信息的替代方法:
public static class IosHelper
{
public static bool IsSimulator {
get {
return UIDevice.CurrentDevice.Model.EndsWith("Simulator") || UIDevice.CurrentDevice.Name.EndsWith("Simulator");
}
}
}
派生自this answer。