Skip to content

App Group 命名规则 [macOS Dev]

在macOS ap 开发中,如果想在应用扩展和宿主程序间共享数据,使用UserDefaults是一个不错的方案,如果期望UserDefaults 同时读取写入到同一个配置数据,必须要把拓展程序和宿主程序设置在相同的 App Group 下, App Groups 设置如下

问题的关键是 App Group 的设置,macOS 和苹果其他的平台不一样,macOS 中的 App Group 不用 配置文件,所以无法保证唯一性,macOS 的 App Group 会使用团队标识符作为名称的前缀,以确保其唯一性。这也意味着,macOS 上的 App Groups 是在本地进行管理的,而不是像开发者门户那样通过集中式数据库来管理。要为 macOS 应用创建一个 App Group,其格式要安装下面的形式:

但是 非macOS 的 App Group 要以 group 开头,而其要在开发账号中建立对应的

后话

使用 UserDefaults 在扩展和宿主程序之间共享数据,一直报莫名其妙的错误,也换了网上说的 group.TEAM_ID.com.example.mygroup 这种,没有解决问题,偶然机会,点进入了 Developer 文档中,才发现 App Group 的命名规则,苹果的问题还是要 苹果的文档才能解决