gpt4 book ai didi

objective-c - 是否可以将不同的 plist 复制到应用程序包代码中?

转载 作者:行者123 更新时间:2023-12-03 17:33:13 27 4
gpt4 key购买 nike

我的问题已在标题中提到,但我会在这里再次写

是否可以将不同的 plist 复制到应用程序包代码中?

这实际上与我之前的问题有点相关;) Create a dictionary property list programmatically

但是由于我可以写出 plist(并测试我是否做错了什么),我想知道是否可以复制我的书面文件


[testBook writeTofile:@/Users/jack/testbook2.plist"原子地:否];

到我的应用程序包代码(以便它可以从这里读取
NSString *path = [[NSBundle mainBundle]bundlePath];
NSString *dataPath = [path stringbyAppendingPathcomponent:@"testbook2.plist"];

另一种选择也很好,例如,如果我可以直接从另一个路径而不是 mainBundle 读取我的 plist

最佳答案

从 body 上来说,是的,有时这是可能的。

不,不要这样做!!

好吧...将内容复制到您的应用程序包中是不好的,您的应用程序包不是您保存设置或数据的地方。您应该将您的应用程序包视为只读。您应该这样做有几个原因:

  1. 虽然大多数时候 Mac OS X 系统上的用户有权写入应用程序,但有时却没有。想想那些不使用管理员帐户或学校实验室部署的 child 。
  2. 这将使协同设计失效。如果您对应用程序进行签名,这将更改签名并破坏协同设计,从而导致各种奇怪的问题(失去应用程序拥有的任何防火墙权限,告诉用户应用程序已更改并再次要求他们提供钥匙串(keychain)权限等)。将来,这还可能会弹出各种警告,因为篡改应用程序是一个很大的安全危险信号。
  3. 它不适用于 iPhone。这可能不是问题,但如果您打算在 iPhone 上使用此代码,则应用程序 bundle 将被沙箱只读

放置此类内容的正确位置是应用程序支持文件夹的子文件夹

关于objective-c - 是否可以将不同的 plist 复制到应用程序包代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1136166/

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