- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
刚刚曝光the UIDevice uniqueIdentifier property is deprecated在 iOS 5 在 iOS 7 及更高版本中不可用。似乎没有替代方法或属性(property)可用或即将推出。
我们现有的许多应用程序都紧密依赖此属性来唯一标识特定设备。今后我们将如何处理这个问题?
来自the documentation in 2011-2012的建议曾是:
Special Considerations
Do not use the uniqueIdentifier property. To create a unique identifier specific to your app, you can call the
CFUUIDCreate
function to create aUUID
, and write it to the defaults database using theNSUserDefaults
class.
最佳答案
由 CFUUIDCreate
创建的 UUID如果用户卸载并重新安装该应用程序,它是独一无二的:您每次都会获得一个新的。
但是您可能希望它不是唯一的,即。 e.当用户卸载并重新安装应用程序时,它应该保持不变。这需要一些努力,因为最可靠的每设备标识符似乎是 MAC 地址。你可以 query the MAC并将其用作 UUID。
编辑:当然,需要始终查询同一接口(interface)的 MAC。我想最好的选择是 en0
. MAC 始终存在,即使接口(interface)没有 IP/已关闭。
编辑 2:正如其他人所指出的,自 iOS 6 以来的首选解决方案是 -[UIDevice identifierForVendor] .在大多数情况下,您应该可以将它用作旧的 -[UIDevice uniqueIdentifier]
的直接替代品。 (但在应用程序第一次启动时创建的 UUID 是 Apple 似乎希望您使用的)。
编辑 3:所以这一点不会在评论噪音中迷失:不要使用 MAC 作为 UUID,使用 MAC 创建哈希。即使在重新安装和应用程序之间(如果哈希以相同方式完成),该哈希每次都会创建相同的结果。无论如何,如今(2013 年)这不再是必需的,除非您需要 iOS < 6.0 上的“稳定”设备标识符。
编辑 4:在 iOS 7 中,Apple 现在在查询 MAC 时总是返回一个固定值,以专门阻止 MAC 作为 ID 方案的基础。所以你现在真的应该使用-[UIDevice identifierForVendor]或创建一个每次安装的 UUID。
关于ios - 不推荐使用 UIDevice uniqueIdentifier - 现在该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144185/
假设您有一个提供一些在线类(class)的付费网站。并且您要确保一个人不只是购买访问权限,然后将用户名和密码提供给他的所有 friend ,这样他们就可以免费参加类(class)。 你会怎么做? 到目
我有多个数据库,每个数据库都有一个审计表。其中一个数据库是一个“通用”数据库,其中包含国家、州等表格。 这个公共(public)数据库的表在其他数据库中作为 View 被引用。 目前我的审计表有一个标
我正在编写一个 Entity Framework LINQ 查询,其中我想将字符串解析为 UNIQUEIDENTIFIER(又名 GUID),作为 WHERE 子句的一部分: public IEnum
我刚开始使用 SQL Server,但在向具有 uniqueidentifier 类型列的表添加值时遇到了一些麻烦。 表格包括: ID (uniqueidentifier), CODE (nchar(
我有多个数据库,每个数据库都有一个审计表。其中一个数据库是一个“通用”数据库,其中包含国家、州等表格。 这个公共(public)数据库的表在其他数据库中作为 View 被引用。 目前我的审计表有一个标
我有两个表Backup 和Requests。 下面是两个表的脚本 备份 CREATE TABLE UserBackup( FileName varchar(70) NOT NUL
当我运行我的最终查询时,我收到了上述错误。我已经正确设置了我的表格格式,如果我运行我的 @ProdTotal单独查询我得到正确的数据,如果我运行最终 @Sales_Prod查询不带 pt.Produc
为了调查 Hibernate 的行为是否不同于 NHibernate 的 for a particular usage scenario , 我开始为基于 NHibernate 的应用程序的相关部分编
我想根据他们在我网站上的电子邮件 ID 来注册用户,假设用户和他们的 emailid 字符串之间存在一对一的关系。但是gmail doesn't recongnize . s in email ids
在我的数据库 SQL Express 2014 中, 我有名为 Membership 的表,其中列名为 UserId。列类型为 uniqueidentifier。 我想将 UserId 列的内容转换为
我有一个动态查询,我想在其中连接 uniqueidentifier,但 + 和 & 运算符不支持此操作,有没有办法可以将 uniqueidentifier 连接到动态字符串。在这方面的任何示例或任何帮
我正在尝试比较 WHERE 子句中的列 col1 和变量 @myvar。两者通常都包含 GUID,但也可能包含 NULL 值。我认为我可以通过使用 WHERE ISNULL(col1, '')=ISN
我创建了一个数据库,其中使用 uniqueidentifier 作为主键。我正在尝试运行一个最终看起来像这样的参数化查询。 (insert into someTable (uniqueID) Valu
我在 Web 和移动平台(iOS 和 Android)上有一个应用程序,我试图从用户登录的设备中识别出来,并出于安全目的保留它们的列表。是否有任何设备的通用 ID,例如用于计算机的 IMEI(手机),
在我的 C# 项目中,我需要向 UniqueIdentifier 列插入一些空值。 对于字段 city Guid,state Guid 字段我应该能够插入空值如果没有可用的值(唯一标识符)。我收到以下
这个问题在这里已经有了答案: UIDevice uniqueIdentifier deprecated - What to do now? (32 个回答) 已关闭10 年前。
我经常被告知要忽略这个编译器警告,因为在发布下一个 iOS 主要版本之前它不会成为问题。好吧……如果我的 iPhone 应用程序没有有一天突然停止工作就好了! 奇怪的是我在 OpenGL 2.0 上使
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 9 年前。 Improve
我正在尝试使用以下代码将 uniqueidentifier 参数传递给存储过程: myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentif
这个问题在这里已经有了答案: How to check if a string is a uniqueidentifier? (15 个答案) 关闭 6 年前。 我有一个 SQL Server 表,
我是一名优秀的程序员,十分优秀!