NSFileManager中的ContainerUrlForSecurity应用程序组标识符在iOS 7上的工作原理

NSFileManager中的ContainerUrlForSecurity应用程序组标识符在iOS 7上的工作原理,ios,ios7,file-sharing,Ios,Ios7,File Sharing,我想在iOS环境中的多个应用程序之间共享文件 我已经在使用UIDocumentInteractionController机制来实现这一目的,但我面临一个问题,因为应用程序之间要交换的数据量很大(大约2Go) 我正在使用ZipArchive库收集所有共享文件,但在某些情况下,它确实无法创建巨大的zip文件。 我试图发送一个目录而不是文件,但内容没有被复制 在升级到iOS 7的过程中,我试图使NSFileManager中的新ContainerUrlForSecurity Application Gr

我想在iOS环境中的多个应用程序之间共享文件

我已经在使用UIDocumentInteractionController机制来实现这一目的,但我面临一个问题,因为应用程序之间要交换的数据量很大(大约2Go)

我正在使用ZipArchive库收集所有共享文件,但在某些情况下,它确实无法创建巨大的zip文件。 我试图发送一个目录而不是文件,但内容没有被复制

在升级到iOS 7的过程中,我试图使NSFileManager中的新ContainerUrlForSecurity Application GroupIdentifier方法可用。 我遵循了几个示例,但它们是针对MacOSX的

这是一个苹果公司的错误,使这个API也可用于iOS 7,或需要哪些指令使其工作

以下是应用程序权限文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.application-groups</key>
    <array>
        <string>$(TeamIdentifierPrefix)com.example.AppFileSharing</string>
    </array>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)com.example.AppFileSharing</string>
    </array>
</dict>
</plist>
当我运行应用程序时,containerURL为空

如果这个功能能够正常工作,那就太好了

问候,


DAB

我今天刚开始使用它来玩iOS 8应用程序扩展。我通过在标识符前面加上我的开发团队ID,使它开始工作(返回一个真正的目录,而不是
nil

NSURL*containerURL=[fileManager

ContainerUrlForSecurity应用程序组标识符:@“YOUR_TEAM_ID.com.example.AppFileSharing”]

您可能尚未为应用程序启用应用程序组。你必须在苹果开发者网站的会员中心为你的应用程序组创建一个标识符


您好,您找到解决方案了吗?我在iPhone模拟器上几乎没有成功,但无法在真正的iPad上运行。自从这篇文章发表后,我无法做进一步的测试。您需要注意的是目标的一般属性中的团队信息。这意味着这种行为可能是专门用于企业计划。嗨,LeffelMania,你能在真正的iPad上进行测试吗?我还没有在任何真正的设备上进行测试,没有。我试图利用的功能仅限于iOS 8,我还没有在我的任何设备上安装测试版。我可以在不同的开发者帐户中使用相同的组名在不同的开发者应用程序之间共享文件吗?
NSFileManager* fileManager = [NSFileManager defaultManager];
NSURL* containerURL = [fileManager 
containerURLForSecurityApplicationGroupIdentifier:@"com.example.AppFileSharing"];
NSLog(@"%@", containerURL);