如何在Unified API中获取设备硬件类型? Here's an example of how to do it in Classic API.。在那个例子中," [DllImport(Constants.SystemLibrary)]"部分没有编译。它似乎在Unified API中发生了变化?
所以这是旧的经典代码。在包括" ObjCRuntime"?
之后,如何在Unified中执行此操作 [DllImport(MonoTouch.Constants.SystemLibrary)]
static internal extern int sysctlbyname([MarshalAs(UnmanagedType.LPStr)] string property, IntPtr output, IntPtr oldLen, IntPtr newp, uint newlen);
public DeviceHardware ()
{
var pStr = Marshal.AllocHGlobal(length);
sysctlbyname(HardwareProperty, pStr, pLen, IntPtr.Zero, 0);
string DeviceTypeString = Marshal.PtrToStringAnsi(pStr);
}
下面的解决方案。我不得不使用" ObjCRuntime"而不是" MonoTouch"
[DllImport(ObjCRuntime.Constants.SystemLibrary)]
答案 0 :(得分:1)
Constants
类位于ObjCRuntime命名空间中,因此您只需在文件顶部添加此using
子句:
using ObjCRuntime;