Swift库启用-library-evolution后仍遇Xcode@frozen警告,如何解决?
解决Swift库演进模式的警告问题
嘿,你踩了个很容易犯的小坑——把参数加错位置啦!
你在Scheme的「Arguments passed On Launch」里加-enable-library-evolution是没用的,因为这个选项是给App运行时传递的启动参数,而启用库演进模式需要的是编译阶段的参数,得在Build Settings里配置才行。
正确的操作步骤是这样的:
- 首先在Xcode左侧的项目导航里,选中你的Swift库目标(别选错成主App目标哦)
- 切换到「Build Settings」标签页
- 在顶部的搜索框里输入「Library Evolution」,找到「Enable Library Evolution」这个选项
- 把它的值改成「Yes」——Xcode会自动帮你注入正确的编译参数,不用手动敲命令行
如果你更习惯手动添加编译参数,也可以这么做:
- 在Build Settings里搜索「Other Swift Flags」
- 点击编辑,添加
-enable-library-evolution这个参数就行
这样设置完之后,再重新编译你的库,那个关于@frozen无效的警告就会消失啦。
内容的提问来源于stack exchange,提问作者Den Andreychuk
相关产品推荐
相关产品推荐

