获取Unified API中的硬件类型

时间:2015-04-07 00:27:24

标签: ios xamarin

如何在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)]

1 个答案:

答案 0 :(得分:1)

Constants类位于ObjCRuntime命名空间中,因此您只需在文件顶部添加此using子句:

using ObjCRuntime;