我正在构建一个带有嵌入式共享扩展程序的Mac应用程序,我正在尝试配置应用程序组以在它们之间共享数据。在Capabilities下的Xcode中,我启用了App Groups并在父应用程序和共享扩展中设置了一个值:$(TeamIdentifierPrefix)com.company.App。当我运行父应用程序时,它会创建一个文件夹:Library / Group Containers / com.company.App(没有团队ID)。当我运行扩展程序时,它会创建一个文件夹:Library / Group Containers / TEAMID .com.company.App 团队ID。
为什么两个可执行文件会创建不同的容器,如何为这两个容器定义相同的容器?
答案 0 :(得分:0)
您不应该包含" App" Xcode功能扩展。
用于管理组容器的方法是特定的。
要访问组容器,您应该在两个应用程序中使用该方法 [myFileManager containerURLForSecurityApplicationGroupIdentifier:TEAMID.com.company] 没有APP扩展名。
要访问UserDefaults(由两个应用程序共享)并将它们存储在组容器中,您应该调用 [NSUserDefaults alloc] initWithSuiteName:TEAMID.com.company]