Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios5 推送通知使用的monotouch Iphone唯一标识符或mac地址_Ios5_Xamarin.ios_Push Notification_Uniqueidentifier_Mac Address - Fatal编程技术网

Ios5 推送通知使用的monotouch Iphone唯一标识符或mac地址

Ios5 推送通知使用的monotouch Iphone唯一标识符或mac地址,ios5,xamarin.ios,push-notification,uniqueidentifier,mac-address,Ios5,Xamarin.ios,Push Notification,Uniqueidentifier,Mac Address,我发现了一个方法,它带来了唯一的标识符,但它是唯一的。有没有其他方法可以使用monotouch软件唯一识别iphone?如果是这样,苹果是否会接受授权使用推送通知 我考虑过创建一个GUID并将其保存在手机上。对此不确定。使用MAC地址可能是最简单的选择。您可以使用以下方法列出它们: foreach (var i in NetworkInterface.GetAllNetworkInterfaces ()) Console.WriteLine ("{0} {1}", i.Id, i

我发现了一个方法,它带来了唯一的标识符,但它是唯一的。有没有其他方法可以使用monotouch软件唯一识别iphone?如果是这样,苹果是否会接受授权使用推送通知


我考虑过创建一个GUID并将其保存在手机上。对此不确定。

使用MAC地址可能是最简单的选择。您可以使用以下方法列出它们:

foreach (var i in NetworkInterface.GetAllNetworkInterfaces ())
        Console.WriteLine ("{0} {1}", i.Id, i.GetPhysicalAddress ());
但是请注意,在读取MAC地址时,MonoTouch中存在(已修复)错误。在发布应用程序之前,请确保您使用的版本具有该修复程序


有关此主题的详细信息,请参阅此页。

解决方案正在添加您自己的GUID(唯一标识符)。 首先在某处创建一个类。我选择了一个名为Domain的文件夹。 这是密码

using System;
using MonoTouch.Foundation;


public class Settings
{    

    private static string KEY_DEVICEID = "anyNameDeviceId";

    public static string DeviceId 
    {
        get
        {
            string result = NSUserDefaults.StandardUserDefaults.StringForKey(KEY_DEVICEID);

            if(string.IsNullOrEmpty(result))
            {
                result = Guid.NewGuid().ToString();
                NSUserDefaults.StandardUserDefaults.SetString(result, KEY_DEVICEID); 
                NSUserDefaults.StandardUserDefaults.Synchronize(); 
            }   

            return result;
        }

    }

}
然后,您只需在视图中阅读以下代码:

Console.WriteLine(Settings.DeviceId.toString());