阅读更多

1顶
1踩

移动开发

转载新闻 苹果禁用UDID,iOS开发者何去何从?

2012-03-27 16:30 by 正式编辑 nemohq 评论(0) 有5690人浏览
近日,苹果开始拒绝应用访问UDID。这不仅给开发商造成了不小的困扰,替代品的缺乏也开始成为大家思考的一个问题


UDID本身无害,它并未携带用户的任何私人信息,但开发商可以将之与应用里聚集的信息结合,用以追踪用户行为。如果禁止,影响的不仅仅是广告网络,还有那些想真正为用户带来更好体验的应用开发商,UDID的禁用将会出现导致许多问题,苹果当然会提供备选方案,但能解决问题吗?

苹果在今年二月就已经出台了一份报告,建议开发商停用UDID。其实开发商通过UDID告诉用户他在某个设备上使用了开发商的应用,本身不是件坏事。比如开发商David Barnard只是利用UDID帮助将App Cubby的应用从一台设备同步到另一台设备。若服务器不能分清各个设备,此工作就无法进行,开发商也就不能为用户提供同步服务。

另一个例子就是非常受欢迎的Twitter应用Tweetbot,它利用UDID来分清消息应该发送到哪台设备,哪台设备已经收到了这条消息,如果没有UDID,应用就无法分清。所以,围绕UDID的问题,不仅仅是广告网络及追踪用户销售产品所面临问题,还有其它种种问题

开发商要将一个应用在不包含广告的情况下安装在某台独立设备上是合法的,苹果也知道自己需要为开发商提供别的选择,所以推荐使用CFUUID(Core Foundation Universally Unique Identifier)。


但并不是每个应用都能很好利用CFUUID,这不是一个好的备选方案。CFUUID只有在应用向iOS系统发出请求时才会被激活,开发商可以将之自行存在某个地方,但它可能被删掉而且从此无法找回,而UDID一旦激活,则会永久存在于设备上。

正如Tweetbot工作室的Paul Haddad所说:
引用
CFUUID问题很多,如果你从一台旧设备中备份文件到新设备中,两台设备就拥有相同的CFUUID。如果你从临时文件中备份操作系统,就会出现一个设备里存在不同CFUUID的情况。

当然,除了CFUUID,还有其它接解决方案,但也都存在局限性。比如,利用Mac地址,但是它就像UDID一样是永久的,会被网管禁止访问。黑客通常会通过Mac地址识别用户设备所在地,如果苹果禁用UDID,接下来就可能禁用Mac地址。


如果你想以一种万无一失的方法追踪某台设备,现在还没有比UDID更合适的选择。”Paul Haddad说到,“当人们想彻底清理、储存、更新设备时,UDID的缺失会为开发商带来许多难题。停用UDID不仅仅是对广告网络及那些使用UDID追踪用户行为而盈利的人造成冲击,也会对想要真正为用户带来更好体验的开发商造成影响”。

当然,你也可以利用现在的UDID或Mac地址以及App的ID进行加密,作为每个应用和每台设备的的独立序列号,但这种方法在多个程序之间追踪用户就行不通,像OpenfeintAppfire就通过在应用生态系统内使用登录系统作为替代方案,但这种方法并不对每个应用都适用。
  • 大小: 23.3 KB
  • 大小: 31.8 KB
  • 大小: 20.3 KB
来自: 雷锋网
1
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • iOS超级签名 udid 个人开发者签名

    主要是通过udid.config获取udid,然后通过fastlane链接苹果账号添加udid,更改描述文件,然后下载达到重签的目的

  • 常用的javascript语句集(二)

    上次整理了“常用的javascript语句集(一)”,觉得不够完整,今天看了一个别人整理的,于是自己添加一些又整理了“常用的javascript语句集(二)”。下面列出些常用的javascript,大家可以把这些做成一个类,方便在项目中重复的调用。欢迎大家补充^_^ 1.让文字不停地滚动   <MARQUEE>滚动文字</MARQUEE> 2.记录并显示网页的最后修改时

  • JavaScript中的各种语句...

    语句 语句概述 在JavaScript中 语句使用分号(;)进行分隔 可以在每行编写一条语句 也可以在每行编写多条语句 语句块 JavaScript中使用一堆花括号({})表示一个语句块 使用语句块为语句进行分组 这样使语句的结构清晰明了 空语句 空语句允许包含0条语句 JavaScript解释器执行空语句时 不会执行任何动作 流程控制语...

  • javaScript的基本语法大全

    一:语句         JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。 var a = 1 + 3; 这条语句先用var命令,声明了变量a,然后将1 + 3的运算结果赋值给变量a。 1 + 3叫做表达式(expression),指一个为了得...

  • 107个常用javascript语句

    107个常用javascript语句1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)5.得到表单中元素的名称和值:document

  • JavaScript语句完全攻略(总结)

    JavaScript语句完全攻略 JavaScript 语言定义了 20 套(或个)语句命令,分别执行不同的操作。 以用途划分,JavaScript 语句可以分为:声明、分支控制、循环控制、流程控制异常处理和其他。 以结构划分,JavaScript 语句又可以分为单句和复句。 单句:也称单行语句,由一个或多个关键字和表达式构成,用来完成简单的运算。 复句:使用大括号包含一个或多个单句,用来设计代...

  • iOS - 添加UDID到开发者账号,重新打包

    到苹果开发者中心添加注册新的设备,可单个注册,也可批量注册 multiple-device-upload.deviceids 创建文件,添加下面代码区内容,自行修改deviceIdentifier,...DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN

  • 最新苹果开发者账号添加设备UDID​

    苹果开发时,只有在开发者后台添加过UDID的设备,其信息才能包含在.mobileprovision配置文件中,才能配合证书进行真机调试。​开发者后台-Devices管理页面​一、单个添加UDID​点击添加按钮 ⊕,在注册单个设备区域...

  • iOS开发:将新的设备的UDID加入到苹果开发者账号中的步骤

    在开发过程中,经常用内部测试来测试APP,就会往苹果开发者账号里面添加新的手机的UDID,其实这个步骤很简单,下面用图解释: 下面介绍一下怎么获取UDID的方法,有三种方法。 1、先说在苹果电脑上面获取UDID的...

  • 最新苹果开发者账号添加设备UDID

    下载开发者后台Register Devices页面提供的Multiple-Upload-Samples.zip,解压得到两个...苹果开发时,只有在开发者后台添加过UDID的设备,其信息才能包含在.mobileprovision配置文件中,才能配合证书进行真机调试。

  • (javascript)最全的关于onclick跳转的代码总结

    如果是本页显示可以直接用location,方法如下: onclick="Go('hk_money.php');return false"    onclick="javascript:window.location.href='URL'"    onclick="location='URL'"   onclick="window.location.href='URL?id=11'" ...

  • JS语法汇总

    函数表达式和函数声明 在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,两者期间的区别是有点晕,因为ECMA规范只明确了一点:函数声明必须带有标示符(Identifier)(就是大家常说的函数名称),而函数表达式则可以省略这个标示符:   函数声明:   function 函数名称 (参数:可选){ 函数体 }   函数表达式:   func

  • JavaScript 语法集锦

    click() 对象.click() 使对象被点击。 closed 对象.closed 对象窗口是否已关闭true/false clearTimeout(对象) 清除已设置的setTimeout对象 clearInterval(对象) 清除已设置的setInterval对象 confirm(“提示信息”) 弹出确认框,确定返回true取消返回false cursor:样式 更改鼠

  • iOS 开发者证书打包项目未包含最新的UDID

    登录开发者账号,添加完新的UDID,重新编辑开发者证书Profiles,...如果测试设备还是不统一的,那就是Xcode内部开发者证书是旧的,新的开发者证书没有更新到,所以下面要做的就是更新Xcode 本地的相关项目中的开发者证

  • 苹果开发者中心添加UDID设备教程(及获取苹果手机的UDUD)

    在添加之前得先获取苹果手机的udid 1.苹果手机助手获取udid(电脑下载爱思助手,连上苹果手机,设备信息里面设备标识就是udid) 2、扫码或safari打开网址获取苹果手机udid 使用 ...登录开发者中心链接快速入口添加udid

  • 手动管理iOS证书:开发者后台添加新的UDID之后,如何更新自动管理签名证书的设备描述文件(Provisioning Profiles)?

    今天对接开屏广告,需要新增测试设备,由于是自动管理证书,iOS开发者后台添加了新的UDID之后,无法自动更新信息到Provisioning Profiles。 如果你采用手动的话,当然是直接在后台更新对应的Provisioning Profiles...

  • iOS/苹果开发者账户添加测试设备UDID

    1.打开https://developer.apple.com/登录账号

  • IOS获取UDID添加到开发者账号用来安装测试包

    ​​​​​​蒲公英 | 一步快速获取 iOS 设备的UDID 然后登陆开发者账号 选择[Certificates,Identifiers&Profiles]->[Devices],添加刚刚获得的UDID 如果只需添加一个,填上设备的Name和UDID点击...

  • 苹果禁用UDID后续:开发者应尽早放弃UDID

    此前在雷锋网的《苹果禁用UDID让开发商焦头烂额,如何解决后续问题?》一文中,就曾经引用过Tweetbot开发商Tapbot的Paul Haddad的评论。而Paul在3月29日发布的最新博文中就此事作出确认:“最近有很多谣言说Apple...

  • iOS开发者账号使用配置说明

    分为开发和生产两种,类型为 iOS APP Development,iOS Distribution(App Store Ad Hoc),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的; 2.AppID ...

Global site tag (gtag.js) - Google Analytics