XCode10.1 Swift4.2 语法突出显示不Work

快速干货:
1 去掉Podfile文件里面"#use_frameworks!"前面的"#"
2 Terminal 执行 pod install
3 打开Pods工程设置, 切到Build Settings,里面各个target的 Require Only App-Extension-Safe Api 都设成NO
4 打开主工程,Build Settings里面Other Linker Flags里面“-l<Pods工程target名>”都删除
5 重新编译、运行、调试


颜控喜欢深色的IDE,所以下了XCode10.1,老被提示Swift3.0即将过时,于是升级到了Swift4.2。

项目用了CocoaPods,一番折腾以后,终于可以编译、运行、调试打包。

蓦然发现,语法高亮、代码提示。自动完成都没了。对于一个VI不熟,依赖于IDE的人来说,没有这些,工作效率下降80%啊。

打开google一顿搜,清编译缓存的老方法不适用了。几经周折,仍未成功。

后来找到一篇文章,说是CocoaPods的问题:

forums.developer.apple.com

大意是说 :cocoapods正在将.h文件复制到构建目录中,并且SourceKit变得混乱,而复制这些文件是没有意义的。给了个脚本删.h文件:

function removeHeaders() {  
    find $BUILD_ROOT/Debug-iphonesimulator/  -name '*.h' -exec rm -f {} \;  
}  
removeHeaders  

弄一下果然有效,好开心。

然鹅。某天调试的时候发现,debugger不工作了啊,变量的值都出不来。

绝望的我突然灵光一现。记得当初升级4.2的时候,修改了Podfile,打开了use_frameworks!,后来因为编译问题有重新注释掉了。CocoaPods的文档说Swift打开,object C关闭(注释掉)。于是重新打开, 执行 pod install, 清理了下,打开Pods工程设置, 切到Build Settings,里面各个target的 Require Only App-Extension-Safe Api 都设成NO,然后打开主工程,Build Settings里面Other Linker Flags里面“-l<Pods工程target名>”都删除。然后重新build成功,debugger也好了。词法分析也好了。

编辑于 2018-12-26