最近有个项目要用到设备的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 ,里面有详细的介绍与问题!
网友评论
Please click here to install the issuing CA certificate into your browser first.
And download and import your certificate into browser.
Then you can click here to log into your account, thanks. 需要安装证书然后进行下一步操作