我正在构建一个带有嵌入式共享扩展的Mac应用程序,并尝试配置应用组以在它们之间共享数据。在Xcode中,在"Capabilities"下,我打开了App Groups并设置了一个单一值:$(TeamIdentifierPrefix)com.company.App,分别在父应用程序和共享扩展中设置。当我运行父应用程序时,它会创建一个文件夹:Library/Group Containers/com.company.App(没有团队ID)。当我运行扩展时,它会创建一个文件夹:Library/Group Containers/TEAMID.com.company.App带有团队ID。
为什么两个可执行文件会创建不同的容器,如何为两者定义相同的容器?
$(TeamIdentifierPrefix)
有时会评估为空字符串。我的解决方法:使用实际的团队标识符而不是变量。 - nschum$(TeamIdentifierPrefix)
在我的macOS 10.11上表现良好,但在10.12上却出现了警告,只能通过使用字面上的“group”前缀来消除:group.$(TeamIdentifierPrefix).com.company.App
。请参见此处:https://dev59.com/nloT5IYBdhLWcg3wrRKE - ctietze