本地Development Pod代码变更不生效,如何高效重新构建?
嘿,我之前也碰到过几乎一模一样的糟心问题——改一行Pod代码要等10分钟才能看到效果,简直要崩溃!咱们一步步来排查解决:
最常见的元凶:预编译模块缓存
90%的概率是你的Development Pod开启了预编译分发库选项,导致Xcode直接复用缓存的.framework,完全忽略你修改的代码:
- 打开Pod的项目(在Workspace里找到你的Pod target)
- 进入Build Settings,搜索
BUILD_LIBRARY_FOR_DISTRIBUTION - 把这个选项改成
NO(这个选项是给发布用的Pod准备的,本地开发完全不需要)
改完之后,你再修改Pod代码,Xcode应该会自动增量编译,不用再清整个Build Folder了!
其他可能的排查点
如果上面的方法没用,再试试这些:
确认Podfile引用正确:
确保你的Pod是用:path正确关联的,比如:pod 'YourPodName', :path => '~/Projects/Swift/pod'可以试试把绝对路径改成相对路径(比如
../Swift/pod),避免路径解析的缓存问题,然后执行pod deintegrate && pod install重新整合。检查增量编译设置:
确认Pod target的ENABLE_INCREMENTAL_BUILD设为YES,SWIFT_COMPILATION_MODE设为Incremental(不是Whole Module),这两个选项是增量编译的基础。Pod target的
Skip Install设置:
把Pod target的Skip Install设为YES,这个选项能避免Pod的产物和主项目冲突,减少缓存异常的概率。重启Xcode+清理局部缓存:
有时候Xcode的索引会抽风,关掉Xcode,删除~/Library/Developer/Xcode/DerivedData里对应项目的文件夹(不用删整个DerivedData),再重新打开Workspace试试。
为什么pod install/update没用?
因为pod install只会更新Pod的依赖配置,不会清除Xcode的编译缓存,也不会修改Pod的Build Settings——所以你改完代码后执行这些命令自然没效果。
内容的提问来源于stack exchange,提问作者Gikas

