我可以使用什么作为UUID的永久替代品?

时间:2014-01-09 02:21:26

标签: ios objective-c uuid

这是我的情况和问题。我有一个商业公司使用的应用程序。他们给工作人员打电话,安装了我们的应用程序,工作人员可能会更换电话(即先到先得;抓住可用的电话)。

公司需要一种方法来识别每部手机,以防它被盗并用于库存,但需要我们的应用程序。我们的解决方案为他们提供了一种在手机丢失或被盗时远程擦除应用程序的方法。由于我们无法使用UUID,因此我们不确定如何识别手机以进行擦拭。我知道有一种临时方式可以起诉临时UUID,但是临时UUID可以通过手机上的Apple或其他应用程序进行更改或重置。因此,如果该UUID从我们的下方获得更改,我们无法擦除它或将其识别为新的更改UUID将被传递。

我们在安装应用程序时生成我们自己的唯一ID的另一个问题是,如果有人卸载我们的应用程序并重新安装,无论出于何种原因,它将在后端创建一个新的唯一ID。现在我们必须在同一部手机的后端使用ID,因此库存会显示一个额外的手机。

我们不能相信公司总是确保在重新安装应用程序时清除旧ID。

有什么建议吗?

3 个答案:

答案 0 :(得分:4)

  1. 关于唯一标识符,生成UUID并将其保存在Keychain
  2. Apple OS X Server具有管理远程设备的功能,它对企业非常有用。例如管理VPN设置,wifi设置,分发应用程序,如果被盗则远程擦除。你应该研究MDM。 如果你的iPhone被盗,你可以在你的应用程序中无所事事。

答案 1 :(得分:1)

我知道的最好的想法是加入AdSupport并执行此操作:

NSString *uuid = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

NSUserDefaults可以在应用更新中保留此功能。卸载时不确定。为此,您可能需要设备上的用户身份和存储。

答案 2 :(得分:0)

以下代码将帮助您获取唯一的字母数字值,对于来自在同一设备上运行的同一供应商的应用 相同

这意味着如果您有5个应用。已发布,所有这些都将在特定设备上返回相同的唯一值。

[[[UIDevice currentDevice] identifierForVendor] UUIDString]

Please find the Reference at Developer Library

其他解决方案是使用OpenUDID

第三种解决方案如下:

  1. 当App。首次推出,从“CFUUIDCreate”创建自己独特的ID

  2. 使用NSUserDefault在云中保存此内容。

  3. 因此,现在,如果卸载该应用程序,则从云中获取该用户时仍将具有相同的ID。

    如果重置手机,除非云帐户发生更改,否则您仍会获得相同的ID。