我有一种产品有两种不同的应用。以及它为同一设备为我提供不同标识符的两个应用程序(您会假设苹果会将其与您的开发人员帐户相关联,以便您可以在您的应用程序中重复使用这些信息),但我想知道他们能给我的任何东西两个应用程序上的设备标识符相同?
2 回答
identifierForVendor
真的是你想要的。UDID 在 AppStore 上是个大问题。用户可以选择退出advertisingIdentifier
。其他方式(通过 MAC 地址,如 ODIN1,以及依赖 UIPasteboard 的解决方案,如 OpenUDID)将在未来中断(提示:7)。
根据docs,如果两个应用程序来自同一个开发人员,您应该具有相同的标识符:
对于来自同一供应商并在同一设备上运行的应用程序,此属性的值是相同的。对于来自不同供应商的同一设备上的应用程序以及不同设备上的应用程序(无论供应商)返回不同的值。
如果应用程序在后台运行,在设备重启后用户第一次解锁设备之前,此属性的值可能为 nil。如果该值为 nil,则等待并稍后再次获取该值。
当应用程序(或来自同一供应商的另一个应用程序)安装在 iOS 设备上时,此属性中的值保持不变。当用户从设备中删除该供应商的所有应用程序并随后重新安装其中一个或多个应用程序时,该值会发生变化。因此,如果您的应用程序将此属性的值存储在任何地方,您应该优雅地处理标识符更改的情况。
OpenUDID is the best solution until now, even if it also may be changed if the device is reset.