macOS 10.15 最新objc源码编译调试

苹果在Apple Open Source最新 macOS 10.15 ! 作为24K纯技术男来说肯定响应时代更新,第一时间下载了objc4的源码:779.1 来玩耍,发现更新了不少内容。还是老规矩万事第一步:先编译调试源码,更好的往下面走!

Github 快速通道 - objc4-779.1

一:相同部分处理请参考本人 iOS_objc4-756.2 最新源码编译调试

  • 1⃣️文件缺失处理
  • 2⃣️CrashReporterClient异常
  • 3⃣️dyld_priv 文件修改
  • 4⃣️libobjc.order 路径问题
  • 5⃣️lCrashReporterClient 编译不到
  • 6⃣️Xcode 脚本编译问题

二:需要注意的更改地方

  • ObjectiveC.apinotes 异常 这个问题只要你在xcode11 就能够完美适配
  • _objc_opt_class 无法编译 这个问题也是适配了!

error: unable to find sdk 'macosx.internal' (in target 'objc-trampolines' from project 'objc')
warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'objc-trampolines' from project 'objc')

  • 系统要求的macOS版本需要处理

打击选择 target -> objc -> Build Settings -> Base SDK -> 选择 macOS 让系统给你进行匹配

三:Xcode 11 新特性

大家在编译成功objc源码之后,会去建立新的 target 来执行你程序,从而跑进源码。但是这里需要注意

target -> objc -> Build Settings -> Enable Hardened Runtime -> NO

Manage security protections and resource access for your macOS apps.

OK!到这里大家就可以快快乐乐去玩底层源码了!
PS:如果不想那么多麻烦恶心操作,大家可以直接去Github下载:objc4-779.1 毕竟里面还有其他版本 以及 malloc 调试源码

感谢大家的关注与

你可能感兴趣的:(macOS 10.15 最新objc源码编译调试)