征服iOSiOS开发iOS基础

Xcode 中 Build Setting 的两处设置

2016-09-28  本文已影响1435人  天空中的球

这两天在弄项目分支的时候,发现自己对项目中 build Setting 的这两个东东老是感觉迷糊,有点不清楚,特此笔记下。

1、Other Linker Flags

通常我们会在这个选项中加入 ,最常用的是 -ObjC , 他们有什么作用呢?

一般在我们使用某些静态库的时候,里面可能有一些类的分类,正常情况下 链接器 会以为这个分类已经存在,而不去读了,导致了我们缺失了正常的功能,所以为了把这些分类和核心类的代码合起来,必要的时候我们得加上 -ObjC, 形成我们需要的可执行文件。

总的来说,一般用 -ObjC,就算当其失效后,用 -force_load 就可以,而不用-all_load。

具体详解可阅读: 关于Xcode的Other Linker Flags

2、Search Paths

常用路径 path ,就是下面三种啦:

此处我们可以先来了解下:

  • ${PODS_ROOT} : 使用 CocoaPods 时候,Pods 下的路径。有时在用cocoaPod install 完成所需要的第三方类库之后,在要用的地方导入(#import)发现不提示,需要自己手动加入,但现在很少见这种情况啦。
  • ${SDK_DIR}: 指编译目标所使用的 SDK 的目录。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk
  • $(SRCROOT) : 代表项目工程文件目录,很好的避免其他同学使用时需要再换路径的情况。
  • $(PROJECT_DIR) : 表示当前工程文件夹目录,相对路径(相对于当前项目文件夹)。和$(SRCROOT) 区别是它代表** 整个项目 **。

如最常见的错误:

备注参考

http://small.qiang.blog.163.com/blog/static/978493072013112571950/
http://blog.devzeng.com/blog/ios-xcode-search-paths.html
http://ship2013.blog.163.com/blog/static/22861106720131126103130568/

上一篇 下一篇

猜你喜欢

热点阅读