是否可以创建特定于设备的.plist文件-iOS

时间:2013-05-07 05:18:31

标签: ios objective-c security plist data-sharing

我将一些数据存储在一个plist文件中......我意识到它可以被共享。有没有办法让我的.plist文件特定于设备?也许UDID还是什么?任何想法将不胜感激..

2 个答案:

答案 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。

NSUUID - UUID