sách gpt4 ai đã đi

iphone - 将 iPhone 应用程序的投票限制在特定 iPhone 设备上

In lại 作者:行者123 更新时间:2023-12-03 21:21:16 36 4
mua khóa gpt4 Nike

我正在开发一个 iPhone 客户端应用程序,它允许用户对各种服务进行评分。无需注册或登录。

要求是用户不能重复对服务进行评分(尽管可以更改其评分)。从目前的情况来看,该应用程序可以被删除、重新安装,并且用户可以再次投票。

我们考虑过使用设备 ID,但一位同事提到 Apple 建议不要这样做。如果我理解正确的话,万一手机被退回商店、重新发行,然后新用户下载了相同的应用程序。对我来说这似乎是一个非常边缘的情况,但我想可能会发生在企业内部。

是否有一种聪明的方法可以将投票限制在特定设备上?也许使用钥匙串(keychain)?

非常感谢任何指点。

1 Câu trả lời

请务必注意 UDID 和 UUID 之间的区别。

UDID“唯一设备ID”是特定于硬件的。对于特定设备,它永远不会改变。因此,它已成为隐私问题,苹果正在阻止尝试使用它的应用程序。因此,Apple 生成了一个可选择退出的“设备 ID”哈希值,特别是用于广告用途。这个新的 ID 哈希称为 IFA,可在 iOS 6.0+ 中使用。

UUID“通用唯一 ID”不是特定于硬件的。它是用于识别设备的哈希值;但不是特别绝对值。例如,PhoneGap根据设备属性生成UUID;这就是你执行 device.uuid 时得到的结果。如果您删除该应用程序并重新安装,您将获得一个新的 id 哈希值。 Apple 并未阻止 UUID。

我认为针对您的情况,最好的解决方案是使用 IFA,并使用 OpenUDID 作为 iOS < 6.0 的备份。

这是我们使用的代码。如果 IFA 不可用,请获取 OpenUDID。您必须安装 OpenUDID,请在此处了解更多信息,https://github.com/ylechelle/OpenUDID .

NSString* uuid = nil;
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
// IOS 6 new Unique Identifier implementation, IFA
uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} khác {
// Before iOS6 (or if IFA disabled) you shoud use a custom implementation for uuid
// Here I use OpenUDID (you have to import it into your project)
// https://github.com/ylechelle/OpenUDID
NSString* openUDID = [OpenUDID value];
uuid = [OpenUDID value];
}

关于iphone - 将 iPhone 应用程序的投票限制在特定 iPhone 设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389710/

36 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com