我一直试图创建一个需要访问文档目录中的.plist文件的“今日”扩展名。我已经为应用程序和扩展设置了应用程序组。
虽然我已经看到了NSUserDefaults的例子,但是我找不到任何用于访问文件的东西。
我试着像这样访问这个文件(这在应用程序本身中是有效的)
let paths = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0] as String
let filePath = "\(documentsDirectory)/config.plist"
if NSFileManager.defaultManager().fileExistsAtPath(filePath) // false
{
…
}但是,我在控制台中得到以下错误消息:
Warning: CFFIXED_USER_HOME is not set! It should be set to the simulated home directory.
Failed to inherit CoreMedia permissions from 59919: (null)文档说明了如何使用NSFileCoordinator和NSFilePresenter。不过我还是找不出怎么用它们。我肯定我需要告诉他们某个地方的应用程序组标识符,但我不知道在哪里。
发布于 2014-09-15 09:07:39
我让它开始工作了。因为我不需要从扩展名中写入文件,所以我不需要使用NSFileCoordinator。原来,NSFileManager有一个检索容器URL的方法containerURLForSecurityApplicationGroupIdentifier()。
let manager = NSFileManager()
let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier("group.MyGroupIdentifier")
let filePath = "\(containerURL.path)/config.plist"
let settings = NSDictionary(contentsOfFile: filePath)https://stackoverflow.com/questions/24751028
复制相似问题