我正在为iphone编写一个应用程序,它使用睡觉与我的服务器通信.主要的问题是,我需要以某种方式识别用户.不久前,我们被允许使用UDID,但现在不允许了.那么我应该用什么来代替呢?我需要iPhone上的某种标识符,所以用户将删除应用程序,重新安装,他将获得相同的ID.

推荐答案

首先,iOS5中的UDID是only deprecated,但这并不意味着它已经消失了.

其次,你应该问问自己,你是否真的需要这样的东西.如果用户买了一台新设备,并在上面安装了您的应用程序,该怎么办?相同的用户,但UDID已更改.同时,原来的用户可能已经卖掉了他的旧设备,所以现在一个全新的用户安装了你的应用程序,根据UDID,你会认为他是一个不同的人.

如果您不需要UDID,请使用CFUUIDCreate()创建一个惟一的ID,并在第一次启动时将其保存为用户默认值(使用CFUUIDCreateString()首先将UUID转换为字符串).它将在备份和恢复过程中幸存下来,甚至在原始用户切换到新设备时随附.在很多方面,它都比UDID更好的 Select .

如果你真的需要一个唯一的device标识符(听起来不像你需要的),那么按照Suhail的回答 Select MAC地址.

Ios相关问答推荐

自定义alert 未执行任何操作

我应该使用哪个UIButton发送事件在SWIFT上刷卡?

用于HDR显示的CI上下文选项

如何根据SWIFT中的按钮点击更新文本值

SWIFT-仅解码感兴趣的元素

iphone 11 和 iphone 12 对于相同的布局显示不同的结果

如何将 Info.plist 文件添加到 Xcode for admob,错误 添加后会产生多个命令

圆角矩形路径上的蛇形动画

iOS设备网页自动化中,在向字段发送文本后未启用按钮

如果使用 .onAppear 设置,为什么 SwiftUI Picker 不显示正确的选定值

在 tableview 中下载图像缩略图时如何提高滚动性能

禁用 UITextField 的自动更正

'+entityForName: nil 不是合法的 NSManagedObjectContext 参数 - 核心数据

如何将 iPhone OSStatus 代码转换为有用的东西?

使用 Chrome DevTools 调试 iOS 6+7 Mobile Safari

如何在 Swift 中将新单元格插入 UITableView

文件是为存档而构建的,它不是被链接的体系 struct (i386)

从 iOS/Android 上的 Web 应用调用本机日期 Select 器

使用 swift 3 在 UIView 上添加阴影

从 Swift 转换为 Objective-c 的工具