ios openudid

使用pasteboardWithName:create创建程序间共享的udid


http://www.cnblogs.com/zhuqil/archive/2011/08/04/2127883.html

四、剪贴板的类型分为两种:

系统级:使用UIPasteboardNameGeneral和UIPasteboardNameFind创建,系统级的剪贴板,当应用程序关闭,或者卸载时,数据都不会丢失。

应用程序级:通过设置,可以让数据在应用程序关闭之后仍然保存在剪贴板中,但是应用程序卸载之后数据就会失去。我们可用通过pasteboardWithName:create:来创建。

了解这些之后,下面通过一系列的例子来说明如何在应用程序中使用剪贴板。


openudid就是应用级的,如果所有使用open的程序都被卸载,就会重新生成udid


获取udid的方法有很多:


UDID(禁用)

[[UIDevice currentDevice] uniqueIdentfier]

iOS官方最早提供的UDID方案,根据某一公式,使用设备序列号、网卡地址等信息作为参数计算而来,iOS6之后该计算公式发生了改变。

该方法返回的结果在所有应用中都相同,并且卸载应用、刷机、还原设备均不会发生改变,是最为准确的设备唯一标示符。

iOS5之后,该方法被标记为废弃!最终,在201351号之后,AppStore禁止任何使用该方法的应用上架。

iOS7中对外公开的API中已经移除了该方法!

网卡地址(禁用)

通过Unix级别的API去获取Wifi的网卡地址。

该方法属于UDID替代方案中最为准确的一种,因为网卡地址不会因为刷机、还原设备而发生改变。故追求唯一性的厂商多选择此种方案!

iOS7之后,应用已经无法获取网卡地址,所以该方案在iOS7中也已经被废弃。

OpenUDID(推荐)

开源的一个UDID替代方案,原理是利用应用间的剪贴板共享和本地一些必要的缓存信息,让多个应用间共享一个UUID

OpenUDID在官方废弃UDID接口之后,受到广泛的欢迎!可以说是现在大多数应用的UDID替代方法。

OpenUDID在刷机、还原设备后就会产生新的UDID,事实上,由于剪贴板的特殊性,如果所有使用了OpenUDID的应用被全部卸载之后,再次安装的应用取到的OpenUDID将会是一个全新的值!

iOS7中,不同组的应用(即不同厂商)的应用之间不再能共享剪贴板间的数据!

同组(即同一厂商)应用的定义为:Info.plist中关于软件唯一标示符的字段CFBundleIdentifier中的前两段标识符(例如com.mycompany)相同。

固在iOS7中,OpenUDID也将慢慢失去它的意义。

保存在NSUserDefault中的UUID

iOS5UDID标为废弃之后,官方提供的替代方案。即使用CFUUIDCreate生成一个UUID,并将之保存在NSUserDefault中,用它作为设备标识符。在iOS6之后,苹果更推出NSUUID来替代CFUUIDCreate,但本质是一样的。

UUID每次都会生成一个新的字符串,也就是说应用被卸载之后,就会被认为是一个新的设备,更不用提刷机、还原设备了。

故基本无人采用UUID的方案。

厂商唯一标识符identifierForVender

[[UIDevice currentDevice] identifierForVender]

iOS6中推出的UDID替代方案,该方法对于同一厂商的应用返回相同的值,不同厂商所得到的值不同。

该方案刷机、还原设备后,获得值将会改变。同样注意的是:如果同一厂商安装的所有应用都被卸载后,新安装的同一厂商的应用同样也将获得新的值,而不是原来的值!

由于不能跨厂商,并且软件卸载后再安装有改变的可能性,该方案也并没有被广大开发商接受。

广告标识符advertisingIdentifier(推荐)

[[ASIdentifierManager sharedManager] advertisingIdentifier];

iOS6中推出的另一款UDID替代方案,该方法对所有厂商的应用返回相同的值。同样提供的是另一个APIadvertisingTrackingEnabled,该参数表示用户是否希望广告追踪被限定,但该参数仅仅是个布尔值,用于表示用户意愿,不影响advertisingIdentifier的读取。

该方法由于是官方提供的,并且所有厂商的应用取到的值相同,所以相对接受度好些,但是由于仅在iOS6上适用,所以更多人还是选择了OpenUDID的方案。

该方法刷机、还原设备后,获得的值将会改变。此外,用户如果通过设置->关于本机->广告->还原广告标识符,就可以重新生成一个新的值。

该方法是iOS7上目前官方允许的范畴内最为可接受的方案。

KeychainItemWrapper(推荐)
单个程序生成udid,存入钥匙串,系统不重装就不会重新生成

IMEI(禁用)

iOS官方API无法获得IMEI,或者说禁止获取。故很少有人在iOS上去读取IMEI。但IMEI作为设备唯一标识符是最为准确的方法之一!不会随着刷机、还原设备而改变!

读取IMEI的应用将会被AppStore拒绝!

同样类似的方案有蓝牙地址、iOS设备序列号(SerialNumbedr)等等。

IMEI(禁用)


相关链接:

http://www.cocoachina.com/applenews/devnews/2013/0422/6040.html

相关



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取抖音用户关注列表需要调用抖音的API接口,需要使用Python的requests库和抖音的API文档。 以下是获取抖音用户关注列表的示例代码: ```python import requests import json # 抖音API接口 url = 'https://api.amemv.com/aweme/v1/user/following/list/' # 设置请求头信息 headers = { 'User-Agent': 'Aweme/2.9.0 (iPhone; iOS 13.5; Scale/2.00)', 'Accept-Encoding': 'gzip, deflate', 'X-SS-TC': '0', 'X-Khronos': '1593474532', 'X-Gorgon': '0404f8c00000c4e3b1c9c61a1d9a3a9e1b7e7f52a8d5e8c5e3de', 'Host': 'api.amemv.com', 'Connection': 'Keep-Alive', 'Cookie': 'odin_tt=4f5d3fbd4e52d1d1fcf6bda4f9b9e8f0d7e8e6e6b7b8b7b7b2b5d5e4f5a8d5e9b1f3e5f3d1d6dce3b8d5e7e5f3d1d6dce3b8d5e7e5f3d1d6dce3b8d5e9b1f3e5f3d1d6dce3b8d5e9b1f3e5f3d1d6dce3b8b7b7b2; install_id=1593471741495; ttreq=1$1b32c7243a6f2f3c4d19b4ce68f92e4d4d9d3b7b; sid_guard=8d0e8d1d2b8f9c8f73a44c88e9e2c7c8%7C1593471755%7C5184000%7CSat%2C+29-Aug-2020+07%3A55%3A55+GMT; uid_tt=9e86f4b7b3e7c2f5eb2f8d4a7a61ab87; sid_tt=8d0e8d1d2b8f9c8f73a44c88e9e2c7c8; sessionid=8d0e8d1d2b8f9c8f73a44c88e9e2c7c8; ss-ticket=ss-ticket=1; device_id=68433556025; openudid=6852c5f94e0edf6a0d5d9dce3fe2d3e2daaa8c61; _ga=GA1.2.1716780489.1593471742; _gid=GA1.2.1482732034.1593471742; _gat_gtag_UA_134238740_1=1; passport_csrf_token_default=07b9bf7c0f4c5c5c7b8a9c1f3f1e8a3f; passport_csrf_token=07b9bf7c0f4c5c5c7b8a9c1f3f1e8a3f; qh[360]=1' } # 请求参数 params = { 'user_id': '123456', # 用户ID,需替换成实际的用户ID 'count': '20', # 返回的关注列表数量 'max_time': '0', # 上一次请求返回的最后一个关注用户的时间戳 'offset': '0' # 偏移量 } # 发送请求 response = requests.get(url, params=params, headers=headers) # 解析响应数据 data = json.loads(response.text) following_list = data.get('followings') # 输出关注列表 for user in following_list: print(user.get('uid'), user.get('nickname')) ``` 需要注意的是,获取抖音用户关注列表需要提供用户ID和Cookie等信息,这些信息可以通过抓包工具获取。同时,抖音的API接口可能随时发生变化,需要及时更新代码中的API接口和请求参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值