iOS如何将Amplify框架共享给主App和App Extension并解决归档冲突
解决方案
核心原因
你遇到的CFBundleIdentifier冲突是因为主App和Share Extension都将Amplify相关依赖库单独嵌入到了自身的包中,归档后App包内存在两个相同Bundle ID的依赖包,不符合App Store审核规则。
操作步骤
- 配置主App依赖
- 选中Xcode项目根节点,在TARGETS列表中选择主App目标
- 进入「通用」-「框架、库和嵌入式内容」面板,将所有Amplify相关依赖(含AWSAuthCore、Amplify等组件)的嵌入属性设置为 嵌入并签名
- 配置Share Extension依赖
- 在TARGETS列表中选择Share Extension目标
- 进入「通用」-「框架与库」面板,所有Amplify相关依赖的嵌入属性统一设置为 不嵌入
- 若找不到「不嵌入」选项,可切换到「构建阶段」页签:
- 展开「链接二进制与库」,确认所有Amplify依赖状态为「Required」
- 展开「嵌入框架」阶段,将所有Amplify相关依赖从该列表中移除即可
- 重新打包验证
- 按快捷键
Shift + Command + K清理Xcode编译缓存,再执行归档上传操作即可解决报错。
内容的提问来源于stack exchange,提问作者alionthego
相关产品推荐
相关产品推荐

