【iOS小组件】小组件App ID、Group ID、描述文件

App Group

注意:

  • App Group 功能从 iOS 7 开始引入,支持 iOS 7 及以上版本

App Group 是苹果公司提供的一种机制,它允许同一开发者账号下的多个应用之间共享数据。

使用 App Group 就需要涉及到一个概念,那就是 Group ID 。只有 小组件或者App主App 关联到同一个 Group ID 才能正常进行数据共享。其中创建小组件的 App IDGroup ID 仍有不少注意事项,这里记录一下。

创建小组件App ID

1.创建Identifiers

进入AppStore 开发者中心证书管理 -> 【Identifiers 】,点击【+号】创建小组件App ID,Identifiers 类型选择【App】

2.配置Identifiers

注意:

  • 小组件App ID格式要求:"主App ID.小组件App ID ",如:com.aa.bb.follow,其中"follow"为小组件的名称

  • App GroupsApp与AppApp与小组件 之间数据共享的 必备权限,数据共享必须选择

勾选需要的权限(不需要数据共享的可以不勾选【App Groups】),点击创建

不需要数据共享的可以直接跳到最后一步。

创建App Group(需要数据共享的注意)

AppGroup allows data sharing between two different apps or even app and widgets by creating one common shared path (like document directory). Data saved over there can be accessed by any app which is associated with that particular AppGroup. It is an offline data sharing between apps.

这是一段关于 App Groups 的一段说明,告诉我们了 App Groups 可以使两个不同的APP进行数据共享。

1.创建App Group

进入AppStore 开发者中心证书管理 -> 【Identifiers 】点击【+号 】,选择【App Groups

2.配置App Group

注意:

  • App Group格式要求:"group.主App ID.group名称 ",如:group.com.aa.bb.taskwidget ,其中"group. "为固定格式,主App BundlD为"com.aa.bb ","taskwidget"为Group的名称

关联App Group(需要数据共享的注意)

1.App和小组件关联同一个App Group

注意:

  • 需要分别对 App Identifiers 和 小组件 Identifiers 进行关联

  • 修改配置后记得更新App的描述文件

点击【App Groups 】 ->【Configure】 选择前面创建的 App Group,点击确定。

2.项目配置

注意:

  • 如果没有 App Groups 项目可以点击【+Capability】创建

  • 创建完成可能需要时间同步,如果没有出现对应的 App Groups 可以退出Xcode重新打

同样分别对 主App小组件扩展 进行关联

  • 选中【App Target 】-> 【Signing Capabilities 】->【App Groups 】选中创建的 App Groups

  • 小组件扩展Target同样操作关联 App Groups

创建小组件Profile

1.创建Profile

注意:

需要创建 开发发布 两个描述文件

分别创建开发和发布描述文件

  • Profiles 】 -> 【+】 -> 选择对应的Profile类型 -> 选择小组件ID -> 保存下载

  • 安装描述文件

2.配置Profile

打开XCode,选择 小组件Target 配置对应的开发和发布描述文件

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。

相关推荐
大熊猫侯佩1 天前
10 个 Xcode 神技:哥谭开发者必学的 IDE 对抗术
xcode·swift·apple
HarderCoder1 天前
Swift Package Command Plugin 实战:一键生成 Package 元数据
swift
低调小一1 天前
Swift 语法学习指南 - 与 Kotlin 对比
微信·kotlin·swift
HarderCoder1 天前
Swift Package Plugin 深度实战:从原理到落地,自动生成字体枚举
swift
东坡肘子2 天前
从开放平台到受控生态:谷歌宣布 Android 开发者验证政策 | 肘子的 Swift 周报 #0101
android·swiftui·swift
HarderCoder2 天前
用 `defer` 管理异步清理:Swift 中的“保险丝”模式
swift
大熊猫侯佩2 天前
冰火岛 Tech 传:Apple Foundation Models 心法解密(上集)
llm·ai编程·swift
HarderCoder2 天前
深入理解 SwiftUI 的 Structural Identity:为什么“换个条件分支”就会丢状态?
swiftui·swift
HarderCoder2 天前
Swift Continuations 完全指南:一口气弄懂 4 种“桥梁”
swift
HarderCoder2 天前
Swift 的 `withoutActuallyEscaping`:借一个 `@escaping` 身份,但不真的逃跑
swift