首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推送通知使用的单点Iphone唯一标识符或mac地址

推送通知使用的单点Iphone唯一标识符或mac地址
EN

Stack Overflow用户
提问于 2012-01-10 14:53:54
回答 2查看 1.6K关注 0票数 2

我发现了一种方法,它带来唯一的标识符,但它的deprecated。有没有其他方法可以使用单点触控软件来唯一识别iphone?如果是,苹果会接受使用推送通知进行授权吗?

我想过创建一个GUID并将其保存在手机上。这一点不太确定。

EN

回答 2

Stack Overflow用户

发布于 2012-01-10 21:18:41

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

代码语言:javascript
复制
foreach (var i in NetworkInterface.GetAllNetworkInterfaces ())
        Console.WriteLine ("{0} {1}", i.Id, i.GetPhysicalAddress ());

然而,需要注意的是,在读取MAC地址时,MonoTouch中有一个bug (已修复)。在发布应用程序之前,请确保您使用的版本具有该修复程序。

有关该主题的更多信息,请参阅此email thread

票数 3
EN

Stack Overflow用户

发布于 2012-01-13 17:16:42

一个解决方案是添加您自己的GUID (唯一标识符)。首先,在某个位置创建一个类。我选择了一个名为Domain的文件夹。以下是代码

代码语言:javascript
复制
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;
        }

    }

}

然后你只需要在你的视图中读出这段代码:

代码语言:javascript
复制
Console.WriteLine(Settings.DeviceId.toString());  
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8799629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档