honey 发表于 2020-12-9 05:48:12

安装描述文件(iOS如何通过安装描述文件获取设备UDID)

首先,需要解释一下,iOS有一个MDM(Moblie Device Management,移动设备管理),同样可以获取设备的UDID,但比较麻烦,本文不做介绍。本博客介绍一下如何做出类似蒲公英一样获取设备UDID的功能。
1. 准备一个.mobileconfig文件,文件内容大致如下:


   
      PayloadContent
      
            URL
            http://62.234.107.96:8088/app/getUuid
            DeviceAttributes
            
                UDID
                IMEI
                ICCID
                VERSION
                PRODUCT
            
      
      PayloadOrganization
      www.yun-bangshou.com
      PayloadDisplayName
      云帮手
      PayloadVersion
      1
      PayloadUUID
      8C7AD0B8-3900-44DF-A52F-3C4F92921807
      PayloadIdentifier
      com.yun-bangshou.profile-service
      PayloadDescription
      该配置文件将帮助用户获取当前iOS设备的UDID号码。This temporary profile will be used to find and display your current device's UDID.
      PayloadType
      Profile Service
   

http://62.234.107.96:8088/app/getUuid
是服务端的接口安装描述文件,用于接收返回的UDID等数据,数据载体是一个XML结构。

    UDID
    IMEI
    ICCID
    VERSION
    PRODUCT
是我们想要获取的设备信息。
www.yun-bangshou.com
云帮手
该配置文件将帮助用户获取当前iOS设备的UDID号码。This temporary profile will be used to find and display your current device's UDID.
会显示在描述文件的安装界面:

https://att.xiawai.com/data/attachment/forum/202012/09/h3djyj0prsu57358.JPEG

一般,如果仅仅是把.mobileconfig描述文件放在我们的https服务器上,然后在safari中玩法攻略该描述文件,那么上面的安装界面中会显示红色的“未签名”,那么怎么把红色的“未签名”变成绿色的“已验证”呢?
2. 对unsigned.mobileconfig进行签名:
第一步:向服务端索要https服务器证书相关的两个文件,后缀名为
.crt
.key
第二步:通过在线openssl工具把.crt和.key合成为.pem文件,网站:传送门
第三步:将.crt .key.pem文件放在同一文件夹下,类似这样:

https://att.xiawai.com/data/attachment/forum/202012/09/nrnn4uwhr1q57359.png


以上内容就是安装描述文件(iOS如何通过安装描述文件获取设备UDID)的相关内容介绍,喜欢侠外游戏论坛的朋友可以关注我们。
              12下一页

honey 发表于 2020-12-9 05:49:11

第四步:在Mac终端cd到该路径下,执行如下命令:
openssl rsa -in ybs.key -out ybsnopass.key
此时文件夹下安装描述文件,会多出一个ybsnopass.key文件,然后终端再执行命令:
openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer ybs.crt -inkey ybsnopass.key -certfile ybs_ssl.pem -outform der -nodetach
此时文件夹下会多出一个signed.mobileconfig,这便是我们签名后的.mobileconfig,将签名后的描述文件放到服务器,然后在safari中玩法攻略的描述文件的安装界面就会显示绿色的“已验证”。
3. 用户点击安装描述文件时,会调用.mobileconfig中设置的URL,服务端便会收到一个XML格式的数据,类似这样:


    IMEI
    12 123456 123456 7
    PRODUCT
    iPhone4,1
    UDID
    b59769e6c28b73b1195009d4b21cXXXXXXXXXXXX
    VERSION
    9B206

然后,服务端解析这个XML就能获取到UDID了。
服务端接口代码可参考传送门

以上内容就是安装描述文件(iOS如何通过安装描述文件获取设备UDID)的相关内容介绍,喜欢侠外游戏论坛的朋友可以关注我们。
              上一页12
页: [1]
查看完整版本: 安装描述文件(iOS如何通过安装描述文件获取设备UDID)