如何在Xcode中为iOS应用扩展添加主应用已有的包依赖
把主应用的包依赖添加到iOS应用扩展(如WidgetKit)的方法
不少iOS开发者在给主应用加完包依赖后,想在WidgetKit这类应用扩展里复用该依赖时会卡壳,我之前踩过这个坑,整理了具体操作步骤分享给大家:
针对Swift Package Manager(SPM)依赖
- 打开Xcode项目,在左侧导航栏选中你的应用扩展目标(比如Widget的Target)
- 切换到「General」标签页,找到「Frameworks, Libraries, and Embedded Content」区域,点击「+」按钮
- 在弹出的选择窗口中,切换到「Packages」分类,找到你主应用已添加的目标依赖,选中后点击「Add」
- 或者更快捷的方式:在项目根目录的「Package Dependencies」列表里找到对应依赖包,双击进入详情页,在「Add to Targets」列表中勾选你的应用扩展目标,保存即可
针对CocoaPods依赖
- 打开项目根目录的
Podfile,在你的应用扩展target块中添加对应的依赖,示例如下:target 'YourMainAppTarget' do use_frameworks! pod 'YourDependencyName' end target 'YourWidgetExtensionTarget' do use_frameworks! pod 'YourDependencyName' end - 打开终端,进入项目根目录,执行
pod install命令更新依赖
注意事项
- 部分依赖可能不支持应用扩展环境(比如依赖了UIKit的某些仅主应用可用的API,或者本身未适配扩展权限),遇到这种情况需要查看依赖的文档,确认兼容性,或者联系开发者更新
- 添加完成后,回到扩展的代码文件中,直接
import对应的依赖包即可正常使用
内容的提问来源于stack exchange,提问作者Jorn Rigter
相关产品推荐
相关产品推荐

