美文网首页杏仁丶的iOS学习专题防作弊维度
iOS 开发如何获取UDID(用safari浏览器获取设备的UD

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

作者: NewLand | 来源:发表于2016-11-10 14:55 被阅读1344次

    最近有个项目要用到设备的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 ,里面有详细的介绍与问题!

    相关文章

      网友评论

      • Jody526:iOS12 配置文件里面用不了http了 换成https报错"发生 SSL 错误,无法建立到该服务器的安全连接" 知道什么原因吗
      • 煮酒浮白:iOS12 本地服务器安装的时候提示不安全的链接,大神,有什么解决方案么?
        NewLand:https://www.startssl.com/ 你去这个地址生成相关的证书,然后根据上面的步骤生成mobileconfig文件,安装到手机上就可以了
      • Jody526:请问第四幅图的入口是没了么? 找不到
        Jody526:@NewLand 哦哦 好的
        NewLand:The login certificate is issued.

        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. 需要安装证书然后进行下一步操作
      • 杏仁丶:新的思路:+1:
      • 2a687b34d296:请问获取到的是UUID还是UDID? 必须通过苹果自带浏览器获取前么?
        NewLand:@那儿_并不远 解压4个压缩包,里面有
        那儿_并不远:请问你的 1_root_bundle.pem 这个秘钥怎么弄的呀
        NewLand:@CoCoMM 获取的是udid,为了通过审核,我找到的只有这个方法

      本文标题:iOS 开发如何获取UDID(用safari浏览器获取设备的UD

      本文链接:https://www.haomeiwen.com/subject/tqcxpttx.html