gpt4 book ai didi

iphone - plist中的数据存储在模拟器中有效,但在设备中无效

转载 作者:行者123 更新时间:2023-12-03 21:11:55 25 4
gpt4 key购买 nike

我是 iPhone 开发新手。我已经创建了 plist,例如我之前的 post 。它在模拟器中运行良好,但在设备中运行不佳。

我正在从 plist 中获取保存的值并检查条件。当我使用模拟器时,它可以工作,但不能在设备中使用。

最佳答案

(1) 您无法写入 iPhone 资源文件夹中的文件。它是手机安全系统的一部分,可防止恶意代码在安装后更改应用程序。

(2) 如果要将新数据保存到文件中,您需要将该文件写入自动生成的文件夹之一。每当 iPhone 应用程序安装在设备或模拟器上时,系统都会创建一组默认文件夹。

(3) 您想要写入“Preferences”文件夹或“Documents”文件夹。如果数据涉及应用程序的操作,请将其写入首选项。如果它包含用户数据写入文档。

偏好设置:

NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES); 
NSString *prefsDirectory = [[sysPaths objectAtIndex:0] stringByAppendingPathComponent:@"/Preferences"];

文件:

NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory ,NSUserDomainMask, YES); 
NSString *docsDirectory = [sysPaths objectAtIndex:0];

假设您要读取默认首选项 plist 文件,进行一些更改,然后将其保存到首选项文件夹。

NSString *plistPath=[[NSBundle mainBundle] pathForResource:@"PlistFileName" ofType:@"plist"];
NSMutableArray *defaultPrefs=[[NSMutableArray alloc] initWithContentsOfFile:plistPath];
//... modify defaultPrefs
NSString *outputFilePath=[prefsDirectory stringByAppendingPathComponent:@"alteredPrefs.plist"];
[defaultPrefs writeToFile:outputFilePath atomically:NO];

关于iphone - plist中的数据存储在模拟器中有效,但在设备中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2623750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com