ios8 – 从Today Extension访问应用文档文件夹

前端之家收集整理的这篇文章主要介绍了ios8 – 从Today Extension访问应用文档文件夹前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经通过userDefaults成功地共享了我的App和它的Today Extension之间的数据,但是当涉及应用程序的Documents文件夹中的实际文件时,我遇到了麻烦.

当我在我的应用程序中使用这个代码

@H_502_4@var documentsDir:NSString = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0] as String

它返回:

@H_502_4@/var/mobile/Containers/Data/Application/296494AA-946C-40E0-8646-F0895E131DCB/Documents/

但在扩展中它返回:

@H_502_4@/var/mobile/Containers/Data/PluginKitPlugin/AB484342-537A-4CE7-9EF3-F2CAE352C8A3/Documents/

显然,文件不存在.

我读了我应该使用的地方:

@H_502_4@let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier("group.com.company.app") let filePath = containerURL.path

但它返回:

@H_502_4@/private/var/mobile/Containers/Shared/AppGroup/CD7CF610-EB5F-4246-8D30-D7F8BFA6A219

哪个也不行.

如何让我的iOS 8今天扩展读取它的容器应用程序的文件中的文件

谢谢!

解决方法

您不能从扩展名访问主机应用程序的文档文件夹.

但是,您可以创建一个可由主机应用程序及其所有扩展程序访问的共享容器.

您使用containsURLForSecurityApplicationGroupIdentifier处于正确的轨道.你只需要在应用程序和扩展名中使用它.它不会访问文档文件夹,而是另一个容器.

如果您正在更新已将文档数据存储在文档夹中的现有应用程序,则需要将数据移至s8-today-extension

看看这个链接.
http://www.glimsoft.com/06/28/ios-8-today-extension-tutorial/

猜你在找的iOS相关文章