【问题标题】:How containerURLForSecurityApplicationGroupIdentifier in NSFileManager works on iOS 7NSFileManager 中的 containerURLForSecurityApplicationGroupIdentifier 如何在 iOS 7 上运行
【发布时间】: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


【解决方案1】:

您可能尚未为您的应用启用应用组。您必须在 Apple 开发者网站的 Member Center 中为您的 App Group 创建一个标识符。

【讨论】:

    【解决方案2】:

    我今天才开始使用它来玩 iOS 8 应用扩展。通过将我的开发人员团队 ID 添加到标识符中,我得到了最初的工作(返回一个真实的目录而不是 nil)。

    NSURL* containerURL = [fileManager containerURLForSecurityApplicationGroupIdentifier:@"YOUR_TEAM_ID.com.example.AppFileSharing"];

    【讨论】:

    • 嗨 LeffelMania,你能在真正的 iPad 上进行测试吗?
    • 我还没有在任何真实设备上测试过,没有。我尝试使用的功能仅限于 iOS 8,我还没有在我的任何设备上安装测试版。
    • 我可以在不同的开发者帐户中使用相同的组名在不同的开发者应用之间共享文件吗?
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2015-12-06
    • 2014-07-26
    • 2019-09-16
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多