美文网首页
-ObjC这个大魔王

-ObjC这个大魔王

作者: 欢乐的乐 | 来源:发表于2018-08-11 12:49 被阅读13次

    一直有很多博客说,引入了第三方就在Target->Build Settings->Other Linker Flags添加-ObjC , -force_load, -all_load

    -all_load 和 -force_load

    使用-all_load 或者-force_load标志,它们的作用都是加载静态库中所有文件,不过all_load作用于所有的库,而-force_load后面必须要指定具体的文件他们加载的位置也是在Xcode的Build Settings下Other Linker Flags里面。
    【我一般都使用-force_load比较多,要是build出错了,还能对症下药】

    -ObjC

    引入了-ObjC标志,它的作用就是将静态库中所有的和对象相关的文件都加载进来。
    这个-ObjC就像是魔王般的存在,有的博客说最要不要使用,会加大App的体积,可是有的第三方库又必须要添加才不会出错。

    ???可是有的第三方库又必须要添加才不会出错???

    -force_load可以把类加载进来,-ObjC也可以把类加载进来,有什么区别??
    -ObjC标志,它和Objective-C的一个重要特性:类别(category)有关。如果使用-ObjC会把category文件也加载【还有一些可能没用的文件】,所以就造成有的说法,会把App的体积增大。


    得出总结

    1. 引入第三方库,build报错可以试试-force_load,记得加上具体文件的路径在下一行
    - force_load.png
    2. 能正常运行,运行中报出奇怪的错误,确保不是代码问题,可以试试加上-ObjC【困扰了我很久的问题就是这样解决了的😢】

    编译错误有很多种情况,本文说的只是困扰了自己很久的问题的解决方法。如果还是不行,请见谅。


    好好学习,天天向上。<( ̄oo, ̄)/


    Potato_zero.jpg

    相关文章

      网友评论

          本文标题:-ObjC这个大魔王

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