美文网首页iOS初中级开发
XCode环境变量及路径设置

XCode环境变量及路径设置

作者: CoderHong | 来源:发表于2017-10-27 14:23 被阅读215次

    开发中经常需要集成第三方公司的SDK,常见的就是引用的.a与FrameWork库。经常会遇到各种报错信息。

    常见的报错


    问题1

    'xxx' file not found

    问题2

    Snip20171027_7.png

    以上两个问题是常见的在项目放入第三方库出现的报错信息. 总的原因就是没有配置好.

    Xcode三个中要的配置


    以上出现的问题都是Xcode的这三个配置有问题

    Framework Search Paths   管理导入的*.framework的路径
    Library Search Paths 管理导入的*.a的路径
    Header Search Paths 管理导入的头文件的路径
    

    配置路径技巧可以直接拖拽方式自动生成路径,注意默认可能生成的是带双引号的文件路径,需要手动更改为文件夹路径.

    切记:

      当我们设置完路径后,验证时候正常时候,首先要执行 command + shitf + k 清理一下,在编译验证.
    

    Search Path

    Snip20171027_10.png
    • 带双引号的路径可以识别空格,如果引号的路径,如果路径中包含空格它会自动变成两个路径.建议加上双引号.
    • $(SRCROOT)$(PROJECT_DIR)基本没什么却别,都是指向*.xcodeproj所在的路径
    • 通过/..来调到上一层路径,返回上上层文件夹用/../..
    • $(inherited): 如果一个target的Framework Search Paths添加了$(inherited)参数,那么该target会继承PROJECT -> Build Settings -> Framework Search Paths里面的路径。 开发中使用场景:
    一个项目里面有多个target,使用到了同一个库(Library或Framework)那么为
    了方便我们可以在target添加继承参数,并且PROJECT统一中添加库的路径。
    
    • recursive: 遍历该目录。non-recursive:默认路径设置;不遍历该目录。
      如果路径的属性为recursive,那么编译的时候在找库的路径的时候,会遍历该目录下的所有子目录的库文件。开发中的常用做法:
    在搭建项目的时候,可以创建一个专门放库文件的文件夹并且设置其属性为recursive。
    $(PROJECT_DIR)/**相当于遍历项目文件同级下的所有路径(不推荐使用,项目大的话,影响编译的速度)。
    

    相关文章

      网友评论

        本文标题:XCode环境变量及路径设置

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