Xcode快速入门
作者:罗上文,微信:Loken1,公众号:FFmpeg弦外之音
Xcode 是苹果的IDE集成开发工具,非常好用,但是功能也非常多,关于 Xcode 的详细内容可以阅读以下书籍。
- 《Xcode实战》- Fritz Anderson
- 《Xcode实战开发》- Maurice Kelly
本文主要介绍一些常用的 Xcode 开发技巧,例如如何查看他的 IDE 的编译构建过程的命令行日志,怎么设置常用参数等等。
首先我们随便创建一个 Hello World 的 Objective-C 项目,如下:


代码如下:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
现在这个项目是可以直接编译,断点调试的。下面我们主要关注几个常用的功能。
1,如何查看 Xcode 的编译日志
无论哪一款 IDE,VS2019、clion、Xcode,他们最后都是调用的命令来执行编译构建的。那 Xcode 调用的编译器命令是哪个呢?
我们可以点击左边导航栏的 show the report navigate 按钮, 查看编译日志。

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c-header -target x86_64-apple-macos12.3 ...省略日志
从日志可以看出来,Xcode 调的编译器命令默认就是 clang,而且所有参数都一目了然。
因此这个日志在排查编译、链接等问题的时候是非常好用的。
2,生成的可执行文件在哪里?
我们这个项目是一个 Command Line Tool 项目,也就是 Objective-C 的代码最后编译成一个命令行工具,那这个命令行是生成放在哪个目录的呢?
答:还是看 编译日志,编译日志里面会有这样一行提示:
CreateBuildDirectory /Users/loken/Library/Developer/Xcode/DerivedData/test-gvcajfcsyrvpwxapjscewdhnqemd/Build/Products/Debug
cd /Users/loken/Documents/test/test.xcodeproj
builtin-create-build-directory /Users/loken/Library/Developer/Xcode/DerivedData/test-gvcajfcsyrvpwxapjscewdhnqemd/Build/Products/Debug
我们可以看一下 Debug 这个目录,会发现命令行确实是在这里。

我们还可以用 otool 看一下 test 它依赖哪些动态库,命令如下:
cd /Users/loken/Library/Developer/Xcode/DerivedData/test-gvcajfcsyrvpwxapjscewdhnqemd/Build/Products/Debug
otool -L ./test

参考资料: