应用程序组容器是否具有团队标识符?

时间:2015-01-13 05:40:27

标签: xcode macos osx-yosemite appstore-sandbox ios-app-group

我正在构建一个带有嵌入式共享扩展程序的Mac应用程序,我正在尝试配置应用程序组以在它们之间共享数据。在Capabilities下的Xcode中,我启用了App Groups并在父应用程序和共享扩展中设置了一个值:$(TeamIdentifierPrefix)com.company.App。当我运行父应用程序时,它会创建一个文件夹:Library / Group Containers / com.company.App(没有团队ID)。当我运行扩展程序时,它会创建一个文件夹:Library / Group Containers / TEAMID .com.company.App 团队ID。

为什么两个可执行文件会创建不同的容器,如何为这两个容器定义相同的容器?

1 个答案:

答案 0 :(得分:0)

您不应该包含" App" Xcode功能扩展。

用于管理组容器的方法是特定的。

要访问组容器,您应该在两个应用程序中使用该方法 [myFileManager containerURLForSecurityApplicationGroupIdentifier:TEAMID.com.company] 没有APP扩展名。

要访问UserDefaults(由两个应用程序共享)并将它们存储在组容器中,您应该调用 [NSUserDefaults alloc] initWithSuiteName:TEAMID.com.company]