在今日扩展中加载文件

我一直在试图创build一个今天的扩展需要访问文档目录中的.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) 

该文件说明了使用NSFileCoordinatorNSFilePresenter一些事情。 我无法find如何使用它们。 我确定我需要告诉他们应用程序组标识符的地方,但我不在哪里。

我得到它的工作。 由于我不需要从扩展名写入文件,我不认为我需要使用NSFileCoordinator 。 原来, NSFileManager有一个方法containerURLForSecurityApplicationGroupIdentifier()来检索容器的URL。

 let manager = NSFileManager() let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier("group.MyGroupIdentifier") let filePath = "\(containerURL.path)/config.plist" let settings = NSDictionary(contentsOfFile: filePath)