2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > ios 设备获取idfa_通过Safari浏览器获取iOS设备UDID(设备唯一标识符)

ios 设备获取idfa_通过Safari浏览器获取iOS设备UDID(设备唯一标识符)

时间:2018-12-21 07:21:22

相关推荐

ios 设备获取idfa_通过Safari浏览器获取iOS设备UDID(设备唯一标识符)

通过Safari与mobileconfig获取iOS设备UDID(设备唯一标识符)

本文基于在线安装Profile来实现获取UDID。

先看下效果,真机打开

科普

UDID

U D I D (Unique Device Identifier),唯一标示符,是iOS设备的一个唯一识别码,每台iOS设备都有一个独一无二的编码,UDID其实也是在设备量产的时候,生成随机的UUID写入到iOS设备硬件或者某一块存储器中,所以变成了固定的完全不会改变的一个标识,用来区别每一个唯一的iOS设备,包括 iPhones, iPads, 以及 iPod touches

随着苹果对程序内获取UDID封杀的越来越严格,私有api已经获取不到UDID,Mac地址等信息,继而出现了使用钥匙串配合uuid等等方法变相实现

由于近期项目需求是设备授权的形式使用软件,使用钥匙串等方法不完全能解决问题,因为重置或重做系统都会清除uuid然后重新存入,所以想到了用safari的方式获取设备真实的UDID

MDM

iOS支持企业级的MDM(Mobile Device Managment),也就是所谓的移动设备管理,目的就是让企业能够方便的管理 iPhone、Pad等移动设备。具体的做法是通过在系统中安装配置文件(Profiles)的方式实现各种功能,设备管理,设备安全,获取设备信息,设备配置,备份和恢复等几类功能,可以根据不同应用场景实现很多具体小功能。

Over-the-Air Profile Delivery and Configuration

一个配置的profile描述文件允许你基于iOS设备发布配置信息,如果你需要配置大量设备的邮件设置,网络设置,或者设备的证书,配置文件可以轻松完成。

iOS配置描述文件包含选多可以指定的设置,包括:

Passcode policies 密码策略

Restrictions on device features (disabling the camera, for example) 设备特性限制(例如摄像头)

Wi-Fi settings WIFI设置

VPN settings VPN设置

Email server settings 邮件服务器设置

Exchange settings Exchange设置

LDAP directory service settings LDAP目录服务设置

CalDAV calendar service settings CalDAV日历服务设置

Web clips 桌面快捷方式

Credentials and keys 凭证和密钥

Advanced cellular network settings 高级蜂窝网络设置

一、通过苹果Safari浏览器获取iOS设备UDID步骤

苹果公司允许开发者通过iOS设备和Web服务器之间的某个操作(其实就是MDM的获取设备信息功能),来获得IOS设备的UDID(包括其他的一些参数)。以下为简要概述:

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

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

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

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

ota开发流程图

二、.mobileconifg

在这篇文章中,主要讲如何获得标识符。其实还可以获取更多信息,以下是一个获得UDID示例.mobileconfig配置

Objective-C

PayloadContent

URL

/udid/receive.php

DeviceAttributes

UDID

IMEI

ICCID

VERSION

PRODUCT

PayloadOrganization

PayloadDisplayName

查询设备UDID

PayloadVersion

1

PayloadUUID

3C4DC7D2-E475-3375-489C-0BB8D737A653

PayloadIdentifier

dev.skyfox.profile-service

PayloadDescription

本文件仅用来获取设备ID

PayloadType

Profile Service

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

-//Apple//DTD PLIST 1.0//EN""/DTDs/PropertyList-1.0.dtd">

PayloadContent

URL

/udid/receive.php

DeviceAttributes

UDID

IMEI

ICCID

VERSION

PRODUCT

PayloadOrganization

PayloadDisplayName

查询设备UDID

PayloadVersion

1

PayloadUUID

3C4DC7D2-E475-3375-489C-0BB8D737A653

PayloadIdentifier

dev.skyfox.profile-service

PayloadDescription

本文件仅用来获取设备ID

PayloadType

ProfileService

你需要填写回调数据的URL和PayloadUUID。该PayloadUUID仅仅是随机生成的唯一字符串,类似bundleid,一般是域名倒置,用来标识唯一。

iOS12 mobileconfig中的URL要用https地址(例如 /udid/receive.php)。否者会报ATS错误。

注意:mobileconfig下载时设置文件内容类型Content Type为:application/x-apple-aspen-config

服务器上的文件

当访问mobileconfig文件不能直接下载时,可能就需要设置mime content type了,application/x-apple-aspen-config,

设置content type大体上两种方法

1.服务器容器设置

.htaccess增加如下配置

Shell

AddType application/x-apple-aspen-config .mobileconfig

1

2

3

AddTypeapplication/x-apple-aspen-config.mobileconfig

2.php等动态语言直接设置

PHP

header('Content-type: application/x-apple-aspen-config; chatset=utf-8');

header('Content-Disposition: attachment; filename="company.mobileconfig"');

echo $mobileconfig;

1

2

3

header('Content-type: application/x-apple-aspen-config; chatset=utf-8');

header('Content-Disposition: attachment; filename="company.mobileconfig"');

echo$mobileconfig;

三、iOS设备安装.mobileconfig描述文件

新建一个用于下载mobileconfig的网页,这里我命名为udid.php

Objective-C

获取您的UDID

UUDI:

1.点击获取您的UDID

2.验证ipa

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

获取您的UDID

UUDI:

1.点击获取您的UDID

2.验证ipa

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。