以编程方式获取 iOS 设备的 IMEI 或 UDID

2023-12-28

1.) Apple 是否允许开发者检索用户设备的 IMEI 号码和 UDID?

2.) 如何以编程方式获取这些值?

3.) 如果 Apple 不允许开发人员收集 IMEI 号码,他们是否会为设备提供任何其他唯一号码?


Apple 不再允许开发人员以编程方式获取 UUID。但是,您可以使用一些解决方法来唯一标识应用程序中的设备。下面的代码允许您使用创建唯一标识符CFUUIDCreate.

Objective-C:

- (NSString*)GUIDString {
    CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    NSString *guid = (__bridge NSString *)newUniqueIDString;
    CFRelease(newUniqueIDString);
    CFRelease(newUniqueID);
    return([guid lowercaseString]);
}

Swift:

func GUIDString() -> NSString {
    let newUniqueID = CFUUIDCreate(kCFAllocatorDefault)
    let newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    let guid = newUniqueIDString as! NSString

    return guid.lowercaseString
}

获得此唯一标识符后,您可以将其存储在NSUserDefaults、核心数据,将其发送到 Web 服务等,以将此唯一 ID 与运行应用程序的设备关联起来。您还可以将其用作类方法NSString正如所见here https://github.com/applico/iOS-Categories/blob/master/Objective-C/NSString%2BAdditions.m.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式获取 iOS 设备的 IMEI 或 UDID 的相关文章

  • iOS 从另一个类更新 ViewController UILabel

    我是开发新手 一直在用头撞墙试图弄清楚这一点 我确信 我错过了一些愚蠢的东西 但在尝试了各种不同的解决方案后 我仍然无法得到结果我在寻找 我希望能够从另一个类更新 ViewController 中的 UILabel 这是一个我无法运行的小演
  • 重置 ARKit 坐标

    我有一个简单的问题 如果我想开始游戏并将棋盘放在我面前 gameBoard position SCNVector3 0 0 0 6 这一直有效 直到我离开游戏并再次回来为止 我可以在镜头前将游戏板展示在完全相同的位置吗 0 6m在我前面 我
  • 以编程方式设置 UITextField 占位符颜色

    如何在 swift 中以编程方式设置 UITextField 占位符颜色 1 创建一个具有所需颜色的 AttributedString 2 将此 AttributedString 设置为文本字段 attributePlaceholder 属
  • AVAssetExportSession.requestExportSession 回调从未被调用(swift 3,iOS10)

    以下代码从不调用导出回调 导出会话创建得很好 我没有看到任何错误 也没有任何进展 CPU 为 0 我认为没有例外 状态为 1 进行中 进度为 0 错误为零 视频在画廊中播放 我可以成功获取视频的图像 我已将代码提取到单个 UIViewCon
  • 测试 NSURLConnection 失败

    如何测试 NSURLConnection 的失败 另外 如何判断是否因飞行模式或 WiFi 关闭而失败 在我的测试中 虽然弹出警报告诉用户他们需要打开 WiFi 但如果他们忽略它 我的应用程序就会坐在那里并旋转等待响应 如果您的连接委托是
  • iPhone 编程游戏

    使用 Objective C 还是 C 为 iPhone 编写游戏最好 像 Flight Control 这样的游戏会用什么语言编写 图形应采用什么格式才能在 iPhone 上正确显示并快速加载 像 Flight Control 这样的游戏
  • iOS 上服务器发送事件的 webkit 的推荐替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在我的本机 iOS 应用程序中接收服务器发送的事件 但我不使用 webkit Safari 根据我
  • 跨平台 IAP

    我已在 iOS 和 Android 中集成了应用内购买 自动续订订阅 两者都工作正常 我对使用跨平台验证 IAP 有一定的疑问 例如 当多个用户登录一个应用程序时 某一特定应用程序的订阅如何运作 例如 如果用户 A 有标准套餐并且从应用程序
  • 找出窗口中的 UIBarButtonItem 框架?

    UIBarButtonItem不延长UIView 所以没有像框架属性这样的东西 但有什么办法我可以得到它是什么CGRect框架 相对于应用程序UIWindow 你喜欢用吗私有API https stackoverflow com quest
  • 如何设置 NSAttributedString 的字体大小

    编辑 这已被标记为重复 但正如我在下面所述 我正在寻找一个 Swift 解决方案 我发现的所有内容都是用 Objective C 编写的 我正在尝试将 HTML 转换为 NSAttributedString 但不知道如何设置字体样式和大小
  • 动态获取协议的字符串表示形式

    我正在寻找一种从协议类型动态获取协议名称的方法 而不必使用 objc协议声明中的属性 我知道这有效 func keyForProtocol aProtocol Protocol gt String return NSStringFromPr
  • 针对架构 armv7 的 iOS 链接器错误的 Google 转化跟踪

    我正在尝试将 iOS 版 Google 转化跟踪功能添加到我的 iPhone 应用程序中 该应用程序的基础 SDK 是 iOS6 该应用程序的有效架构是armv7 armv7s 该应用程序的 iOS 部署目标是 4 3 我正在使用最新的 x
  • 将 GestureRecogniser 附加到多个图像视图

    今天我在将相同的手势识别器附加到多个图像视图时遇到了一些奇怪的事情 它仅附加到最后一个视图 换句话说 它只能附加到一个视图 我必须创建多个手势识别器才能满足我的要求 以下是我所做的 我做的对吗 这是将识别器附加到多个图像视图的唯一方法吗 请
  • 发射图像偏离 20 像素(在 y 轴上)

    我有一个名为 Default png 的 320 480 大小的启动图像 并且该应用程序配置为还显示状态栏 当我的应用程序启动时 图像的前 20 个像素被状态栏截断并隐藏 根据 Apple 的 HIG 列出的 iPhone 和 iPod T
  • 在UIView中画线

    我需要在 UIView 中画一条水平线 最简单的方法是什么 例如 我想在 y coord 200 处画一条黑色水平线 我没有使用界面生成器 也许这有点晚了 但我想补充一点 有更好的方法 使用 UIView 很简单 但相对较慢 此方法会覆盖视
  • 仅在导航弹出后分组 UITableViewCell 上才会出现黑色角

    我不是图形专家 但我以某种方式设法通过使用一些 CG 代码将背景视图设置为 backgroundView 来制作一些好看的自定义分组 UITableViewCells 在 3 1 3 之前的所有 SDK 中 也许是 3 2 我还没有在 iP
  • 使用 NSXMLParser 在 Swift 中解析分层 XML

    我确实在以我实际可以使用的形式获取分层 XML 值时遇到问题 因此我们将不胜感激 我对 Swift 和 IOS 开发还很陌生 所以说实话我并不完全理解解析器 但我希望在这之后我能理解 下面是我尝试解析的示例 XML 它来自肥皂网络服务 连接
  • 如何在 iPhone 上获取移动国家/地区和网络代码

    有什么方法可以在 iPhone 上获取 mnc 和 mcc 号码吗 您需要 CoreTelephony 框架 CTTelephonyNetworkInfo networkInfo CTTelephonyNetworkInfo alloc i
  • Swift 中带有数组的 For-In 循环中迭代器元素的可变性

    我在 Swift 3 0 中有一些代码 就像这样尝试更新元素数组中的属性 for point in listOfPoints var pointInFrame Float Float point position x sensorIncom
  • 如何从 Xcode 中导航栏上的后退按钮中删除文本?

    我通过在应用程序委托中添加以下代码来将箭头自定义图像设置为导航栏 它可以工作 但现在我希望完全删除后退按钮的文本 UIImage backButtonImage UIImage imageNamed BackButtonGrey png b

随机推荐

  • QSqlDatabase::open() 总是返回 true

    我正在尝试使用 Qt 框架连接到 SQL 数据库 不幸的是 尽管没有建立连接 db open 总是返回true 您可以设置任何密码 主机名等 我从对数据库没有任何影响的查询中得出这一点 我在 Ubuntu 14 04 上使用 LAMPP 我
  • 垂直对齐图像

    我有一个包含图像和 p 标签的 div 如下所示 我想根据段落的行数将图像垂直对齐在 div 中间 垂直对齐不起作用 我现在正在使用 JavaScript 来计算要添加到 margin top 的量 但更愿意使用 CSS 有任何想法吗 di
  • 使用 Django + Celery 更新 Haystack 搜索索引

    在我的 Django 项目中 我使用 Celery 我将 crontab 中的命令切换为定期任务 它运行良好 但它只是调用模型上的方法 是否也可以通过定期任务更新我的 Haystack 索引 有人这样做过吗 manage py update
  • x64 本机工具命令提示符和 x64 交叉工具命令提示符之间有什么区别?

    我在 64 位 Windows 8 1 上安装了 32 位 Visual Studio 2013 我有 5 个命令提示符 VS2013 的开发人员命令提示符 VS2013 ARM 交叉工具命令提示符 VS2013 x64 交叉工具命令提示符
  • 具有多个命令的 CTest

    我正在使用 CTest 构建一些测试 通常 我可以简单地通过以下行设置测试 ADD TEST Test Name executable args 但是 我遇到了一个问题 我有一些测试需要运行两个命令才能工作 有什么方法可以在一个 ctest
  • TwoWay 或 OneWayToSource 绑定无法对只读属性起作用

    我有一个只读属性 需要在文本框中显示 并在运行时收到此错误 我已经设置了IsEnabled False IsReadOnly True 没有运气 其他搜索说只读应该修复它 但不适合我 我有一个丑陋的解决方法 添加一个虚拟设置器 没有代码很难
  • Internet Explorer 中的图像数据集

    我有一个数组缓冲区 名为MEM 大于画布宽度 高度尺寸 我想将 arrayBuffer 数据绘制到画布上 imgData data set 应该可以工作 因为 imgData data 是一个 Uint8Array 它具有 set 方法 它
  • 如何在 ASP.NET Core 中获取 HttpContext.Current? [复制]

    这个问题在这里已经有答案了 我们目前正在使用 ASP NET Core 重写 转换我们的 ASP NET WebForms 应用程序 尽量避免重新设计 有一个部分我们使用HttpContext在类库中检查当前状态 我怎样才能访问HttpCo
  • 在invalidatelat观察者内增加reactivevalue

    我正在尝试构建闪亮的应用程序来进行一个非常简单的测验 我有一个包含 10 个问题的 data frame 用户点击回答 0 或 1 它一直有效 直到我尝试实施timer 倒数以便下一个问题在 5 秒后自动出现 使用invalidateLat
  • 如何在 netlogo 上创建计时器?

    对于我的迷宫项目 我想创建一个监视器按钮来跟踪海龟从开始到结束所需的时间 我该如何为计时器编写代码 查看reset timer and timer并在文档中 在迷宫设置期间 执行reset timer 在迷宫运行过程中 您可以使用以下命令检
  • 解构 C# 元组

    是否可以像 F 一样在 C 中解构元组 例如 在 F 中 我可以这样做 in F let tupleExample 1234 ASDF let x y tupleExample x has type int y has type strin
  • 如何在 Delphi 中使用 dll 导出的 C++ 类

    有没有办法在 Delphi for win32 中使用 win32 dll 导出的 C 类 是否有其他方法来归档类似的东西 COM NET 您无法导入类 您只能导入函数 鲁迪 维尔修斯 Rudy Velthuis 就该主题撰写了详细的文章
  • Spring Boot应用程序启动后立即关闭

    我正在尝试构建一个简单的 Spring Boot 应用程序 当我运行 Spring Boot 应用程序时 它在启动后立即关闭 下面是控制台日志 Spring Boot v1 4 1 BUILD SNAP
  • 符号导数和积分

    我想集成功能f4关于x然后求新函数的导数t 我可以用数值方法计算积分 有没有办法在R中以符号方式计算这个积分和导数 lambda 1 ci 1 aa lt function u k t f4 lt function x f1 lt func
  • 如何让实验性 ngTemplateOutlet 发挥作用?

    我正在尝试在 Angular2 中构建一个列表组件 该组件从组件的用户那里获取项目 列和项目字段的模板 所以我正在尝试使用ngTemplateOutlet and ngOutletContext 我读过的都是实验性的 但我无法让它发挥作用
  • 使用 RXJava 和 Retrofit 获取标头信息

    我正在尝试将当前使用 Retrofit 的应用程序转换为使用 RX Java 为了处理分页 我传统上是从响应标头中获取 nextPage URL Override public void success Assignment assignm
  • 具有可选属性的 JSON 类型提供程序的数据示例

    我正在尝试使用 JSON 类型提供程序通过 API 访问 StackOverflow StackExchange 数据 它效果很好 但有一点需要注意 API 有一个节流阀 它由 退避 字段发出信号 其中包含您应该退避到下一个请求之前的秒数
  • Python 语音比较

    我有两个 wav 文件 我需要比较并确定它们是否包含相同的单词 顺序也相同 一段时间以来我一直在寻找最好的方法 我不知道如何让 pyspeech 使用文件作为输入 我尝试过让 CMU sphinx 项目正常工作 但我似乎无法让 GStrea
  • NGINX:“客户端在读取客户端请求行时发送了无效方法”

    为 Nginx 设置 SSL 并发出请求后 我收到带有神秘消息的乱码响应client sent invalid method while reading client request line 我在 Alpine Docker 容器中使用
  • 以编程方式获取 iOS 设备的 IMEI 或 UDID

    1 Apple 是否允许开发者检索用户设备的 IMEI 号码和 UDID 2 如何以编程方式获取这些值 3 如果 Apple 不允许开发人员收集 IMEI 号码 他们是否会为设备提供任何其他唯一号码 Apple 不再允许开发人员以编程方式获