如何为Xcode的Swift包管理器创建Package.swift并解决SwiftyJSON导入问题
解决方案
你不需要修改SwiftyJSON的Package.swift文件,第三方依赖的配置文件默认不可编辑是正常的。普通Xcode应用项目无需手动创建/修改Package.swift,按以下步骤操作即可解决问题:
- 先清理现有无效依赖:点击Xcode左侧项目根目录,进入「PROJECT」栏的「Package Dependencies」标签页,选中已添加的SwiftyJSON点击减号删除;再进入对应App Target的「General」标签页,在「Frameworks, Libraries, and Embedded Content」列表中如果还有SwiftyJSON也一并删除;按下
Cmd+Shift+K清空编译缓存,关闭Xcode后重新打开项目。 - 重新添加依赖:回到「Package Dependencies」标签页点击加号,在地址栏输入SwiftyJSON的官方GitHub仓库地址,依赖规则选择「Up to Next Major Version」,最低版本填5.0.0即可规避Swift-tools版本警告。
- 关联到编译目标:弹出添加确认框时,「Add to Project」选择你的主项目,「Add to Target」一定要勾选你需要使用SwiftyJSON的App Target(不要只选测试Target);添加完成后再进入Target的「Build Phases」→「Link Binary With Libraries」,确认SwiftyJSON已经在列表中,不在的话手动点加号添加。
- 完成后正常编译项目,即可使用
import SwiftyJSON导入框架,不会再报找不到符号的错误。
之前遇到的灰色显示、找不到模块的问题,都是因为依赖只添加到了项目层级,没有关联到实际编译的App Target导致Xcode没有把SwiftyJSON编译进最终产物中。官方文档提到的修改Package.swift是针对本身是Swift Package类型的项目的配置方式,普通应用项目不需要手动操作这个文件。
内容的提问来源于stack exchange,提问作者Soulfire J. Backblaze
相关产品推荐
相关产品推荐

