由于最近在看iOS底层原理的东西,于是想把objc的源码下载下来编译调试,但是过程是曲折的,下载下来以后遇到了各种问题,现贴出来解决过程,也帮助各位同样想编译调试objc源码的小伙伴更快的运行起来,话不多说,开始吧~
■首先,要先把objc4的源码下载下来,这里贴个网址:https://opensource.apple.com
根据自己的mac电脑系统版本选择对应的链接点进去,我的是10.15.7,就选择10.15.6就好了~
进入后command+f 搜索 “objc4”点击右侧下载即可。
另外我们需要下载的还有其他几个文件夹,这里一并贴出,提前下载,免得再去一次一次的下载了~
这里边除了launchd-106.10.tar需要在mac os 10.4.4中下载外,其他均可在mac os 10.15.6中下载到。
■下载并解压了objc4以后打开文件夹下的objc.xcodeproj,然后就开始遇到报错了,下面我们挨个解决下各个报错。
问题一、报错 unable to find sdk 'macosx.internal'
解决方法:在主项目->targets->objc->Build Settings->Base SDK中将macosx.interal更改为macOS,
另外在targets->objc-tranmpolines->Build Settings->Base SDK中也要更改。
问题二、'sys/reason.h'fi