【发布时间】:2014-01-10 15:57:17
【问题描述】:
我想在 iOS 环境中的多个应用程序之间共享文件。
我已经在使用 UIDocumentInteractionController 机制来达到目的,但我面临一个问题,因为应用程序之间要交换的数据量很大(大约 2Go)。
我正在使用 ZipArchive 库来收集所有共享文件,但在某些情况下它确实无法创建巨大的 zip 文件。 我尝试发送目录而不是文件,但内容没有被复制。
当我升级到 iOS 7 时,我正在尝试使 NSFileManager 中新的可用 containerURLForSecurityApplicationGroupIdentifier 方法正常工作。 我遵循了几个示例,但它们适用于 MAC OS X。
让这个 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>
这是访问容器的示例代码:
NSFileManager* fileManager = [NSFileManager defaultManager];
NSURL* containerURL = [fileManager
containerURLForSecurityApplicationGroupIdentifier:@"com.example.AppFileSharing"];
NSLog(@"%@", containerURL);
当我运行应用程序时,containerURL 为空。
如果有这个功能真的很棒。
问候,
民建联
【问题讨论】:
-
您好,您有解决方案吗?
-
我在 iPhone 模拟器上没有成功,但无法在真正的 iPad 上运行它。自从这篇文章以来,我无法进行进一步的测试。您需要注意的是目标的常规属性中的团队信息。这意味着这种行为可能专用于企业程序。
标签: ios ios7 file-sharing