美文网首页
一分钟大幅度降低iOS项目编译时间

一分钟大幅度降低iOS项目编译时间

作者: 江水东流 | 来源:发表于2017-07-10 10:25 被阅读145次

    项目二进制化可以把第三方库或者自己写的模块打包成framework库,减少编译速度.
    目的是项目只用编译自己的代码 cocoapods引用的第三方不用编译.cocoapods有现车的打包成framework方法,很多人不会用.
    OC语言制作动态库时支持iOS8+,iOS8以下版本只能打成静态库
    Swift只能做成动态库,Swift不支持静态库.(很多人说swift的是打包成静态库,都是错误的. cd 到framework根目录,file 可执行文件名(exec黑色的文件名)显示AFNetworking (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
    ) dynamically动态库的意思


    屏幕快照 2017-07-10 10.48.11.png
    • cocoapods podfile里面加上 use_frameworks!

    use_frameworks! 作用是把三方库打包成动态库,引用swift第三方必须加上这句话,在使用swift第三方时候要在每一个文件里面引用 如 import SwiftyJSON

    引入的OC第三方库不要在桥接文件引入,而是和用swift第三方一样,在每一个文件里面引用 如 import AFNetworking

    如果在桥接里面引用,则项目用的是源码,不是framework,这样编译速度慢,直接在每个项目里导入模块,用的是framework,编译速度快.

    • 在Targets->General-> Linked Frameworks and Libraries下面点击加号,workspace里面的framework都可以直接在文件里面引用,没有的oc第三方的只能在桥接文件里面引用,使用源码,这样你的项目只用编译自己的代码 cocoapods引用的第三方不用编译

    • OC项目和swift一样,podfile加上use_frameworks!,就ok拉

    屏幕快照 2017-07-10 10.09.16.png

    相关文章

      网友评论

          本文标题:一分钟大幅度降低iOS项目编译时间

          本文链接:https://www.haomeiwen.com/subject/sidyhxtx.html