3

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

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

4

1 回答 1

0

您不应该在 Xcode Capabilities 中包含“App”扩展。

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

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

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

于 2015-01-14T08:21:24.093 回答