【发布时间】:2010-12-29 07:14:54
【问题描述】:
我正在开发一个具有后备功能的 iOS Cocoa 应用程序 - 如果用户没有输入某条数据,则默认使用设备的 UDID。我需要在我们的服务器代码(用 Ruby 编写)中添加一个检查,以识别发送的值是 UDID(用户的默认值)还是他们设置的自定义字符串。
看来我的问题的正确解决方案是正则表达式。我很乐意编写正则表达式,但我需要确定这个正则表达式 100% 保证能够识别 UDID。
我使用以下代码检索 UDID:
[[UIDevice currentDevice] uniqueIdentifier]
在模拟器中,我得到了这个值:
6938CA7D-ECE2-53A4-B293-961A8D07AFB1
由此我可以推断我可以只搜索与模式 8-4-4-4-12 匹配的十六进制字符串。但我想确定这适用于每个 UDID。
我在 Apple 的文档中找不到任何关于此的信息,我想知道是否有人可以给我一个明确的答案...谢谢!
【问题讨论】:
-
次要评论:如果多个用户提供相同的字符串怎么办?
-
与 iPhone、cocoa 或 IOS 无关,这是一个 Ruby 问题,对吧?
-
真正的问题是软件行为设计。 UDID 只识别设备,而不是人。无法使用 UDID 可靠地识别人员。而且使用 UDID 可能会导致很多问题,因为用户无法更改 UDID。
-
@VdesmedT 在这个编辑标签中我没有看到任何与 Ruby 有任何关系,以便用 Objective-c 和可可替换 Ruby。事实上,它与 Ruby 没有任何关系,而是与 Cocoa 和 Objective-c 有关。由于它是一个 iOS 应用程序,因此它也与 iOS 相关。不确定问题是否已更改,但我看不出您是如何错过的。
-
实际上我指定我正在寻找一种方法来在我的服务器代码中检测到这一点,它是基于 Ruby 的;我更期待正则表达式的 Ruby 语法出现在答案中。
标签: objective-c regex cocoa udid