iOS 开发如何获取UDID(用safari浏览器获取设备的UDID)

最近有个项目要用到设备的UDID来确定用户的唯一性,所以借此与大家共勉,有不足之处请多多指教!

因为Apple从2013年05月01日起拒绝接受使用UDID的应用,但是苹果公司允许开发者通过IOS设备和Web服务器之间的某个操作,来获得IOS设备的UDID(包括其他的一些参数)。这里的一个概述:

1、在你的Web服务器上创建一个.mobileconfig的XML格式的描述文件;

2、用户在所有操作之前必须通过某个点击操作完成.mobileconfig描述文件的安装;

3、服务器需要的数据,比如:UDID,需要在.mobileconfig描述文件中配置好,以及服务器接收数据的URL地址;

4、当用户设备完成数据的手机后,返回提示给客户端用户;


首先生成一个.mobileconfig的XML文件:生成地址在此 ,具体参数在里面修改

这样生成的xml文件在safair浏览器中打开后没有有红色提示,显示未签名

下面看一下如何对上面生成的文件进行签名

因为签名是要钱的,所以咱们找一下不要钱的网站:https://www.startssl.com/,可以免费申请一个证书使用一年

不过对于咱们来说已经够了


选择右边的免费的


继续右边的,进去填个邮箱,然后收到验证码,激活一下。就可以登录进去了(中间会需要公司的域名与对应的邮箱)



 当然也可以使用终端获取这个CSR文件:

打开mac 终端:req -newkey rsa:2048 -keyout yourname.key -out yourname.csr

然后会让你输入密码,这个密码之后会用到。输入之后接下来会让你填写公司信息与你的名字,邮箱号等,结束后找到生成的yourname.key ,yourname.csr 文件,之后会用到。

然后把生成的csr文件拖到上面的框里面,会生成一串字符,复制后放到上面的框里面。

很快就可以配置好一个域名的证书了。它会提示下载证书,也可以一会回到证书列表里自己下载。下载回来的证书文件为一个压缩包,压缩包里有四个包分别为:


我们要用到的东西有:yourname.key 、ApacheServer中的两个文件(1_root_bundle.crt和2_aaa.com.crt)、  刚开始生成的2.mobileconfig


然后把这四个文件放到同一个文件夹中,打开终端进入这个文件夹执行  openssl smime -sign -in 2.mobileconfig -out 2signed.mobileconfig -signer 2_aaa.com.crt -inkey yourname.key -certfile 1_root_bundle.pem -outform der -nodetach

最后生成的2signed.mobileconfig 就是签名后的mobileconfig文件,可以放到模拟器safari浏览器看一下效果。


服务器端的可以参考http://blog.csdn.net/zkdemon/article/details/50057515 ,里面有详细的介绍与问题!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言关于开发证书配置(Certificates & Identifiers & Provisioning Prof...
    molake阅读 48,462评论 7 62
  • 证书的三个作用 加密通信和身份验证(验证对方确实是对方声称的对象)和数据完整性(无法被修改,修改了会被知) 证...
    SuperRoot阅读 12,306评论 1 11
  • 与其等待一个对的人 不如好好修炼不完美的自己 这些比选对人更靠谱 选择一份有未来的工作 拥有自己的事业 忙忙碌碌的...
    betterme_月儿阅读 155评论 0 0
  • 平安夜约 今晚就是平安夜了,隔壁小王终于感到了慌张。因为到现在为止还没有人约他,这简直让喜欢热闹开趴的小王犯尴尬...
    王歪歪阅读 340评论 0 1
  • 山脚下的茅屋中,住了一个年轻的樵夫。跟诸多灵魅山鬼的传说一样,一日大学,樵夫家的门被轻轻敲响,打开门,外面的雪地立...
    lo木木ve阅读 649评论 0 0