我将一些数据存储在一个plist文件中......我意识到它可以被共享。有没有办法让我的.plist文件特定于设备?也许UDID还是什么?任何想法将不胜感激..
答案 0 :(得分:0)
如果您不希望其他人看到.plist文件的内容,您可以使用提供的encryption algorithms iOS加密它们。
其他简单的方法是将敏感数据存储在钥匙串中,或NSUserDefaults
而不写入文件,这将是非常特定于设备的。祝你好运!
答案 1 :(得分:0)
自2013年5月1日起禁止使用UDID。
从iOS 6开始,还有一个名为identifierForVendor
的方法。您可以使用此方法在每个iOS设备中为您的应用程序创建唯一标识符。
你可以这样:
NSString *idForApp = [[UIDevice currentDevice] identifierForVendor];
使用plist
保存您的idForApp
。它将是独一无二的。
<强> identifierForVendor 强>
一个字母数字字符串,用于唯一标识应用程序的设备 供应商。 (只读)
@property(nonatomic, readonly, retain) NSUUID *identifierForVendor;
<强>讨论强>
此属性的值对于来自的应用程序是相同的 在同一设备上运行的同一供应商。返回不同的值 对于来自不同供应商的同一设备上的应用程序,以及 不论供应商如何,都可以在不同的设备上使用。
如果应用程序正在运行,则此属性的值可能为nil 背景,在用户第一次解锁设备之前 设备重启后。如果值为nil,则等待并获取 这个价值会在以后再次出现。
此应用程序(或其他应用程序)中此属性的值保持不变 iOS设备上安装了来自同一供应商的应用程序。价值 当用户从中删除所有该供应商的应用程序时更改 设备,然后重新安装其中一个或多个。因此,如果 你的应用程序应该在任何地方存储此属性的值 优雅地处理标识符更改的情况。
<强>状况强>
Available in iOS 6.0 and later.
在UIDevice.h中声明
参考:
此外,您可以使用UUID
类的NSUUID
类方法来创建唯一ID。