最近苹果拒绝使用唯一设备标识符(UDID
)的应用,在我的应用中,我第一次为每个设备创建一次CFUUIDRef
,效果很好。
在我的应用程序中,我给新用户10点击按钮(某些服务),当我第一次创建设备ID时,它发送到服务器,此ID现在有10次点击的功劳。
问题是当用户删除我的应用程序时,它会生成一个新的标识符。
我怎么能用一个标识符写一些文件给iphone,例如“MyCustomDeviceID”
当用户下载应用程序时,我正在检查此文件是否存在,如果是,我将获取已保存的参数,如果不是,我将创建标识符,然后创建文档。
我必须有一些方法在iPhone上留下印记。
我们将不胜感激!
答案 0 :(得分:3)
假设您可以将CFUUIDRef
转换为NSString
,您可以将其存储在钥匙串中。存储在钥匙串中的项目会在应用删除期间持续存在。查看PDKeychainBindingsController以供参考。
答案 1 :(得分:1)
在iOS上,您没有“共享空间”,可以在删除应用程序后保存数据并进行维护。你必须以其他方式做到这一点:
您可以为您的应用启用iCloud并使用NSUbiquitousKeyValueStore保存您的ID。
您可以将您的标识符保存在NSUserDefaults中,因此如果该应用程序被删除然后重新安装,它将在备份中可用。 (显然用户必须从备份恢复)
或者您可以将标识符与名义帐户相关联。 (您必须创建一个系统,用户可以使用此名义帐户进行注册和登录)