如何从apple的源代码编译和使用objc运行时?

Kua*_*eng 6 xcode compiler-errors objective-c clang ios

众所周知,objc的运行时是开源的,可以从http://www.opensource.apple.com/tarballs/objc4/下载

我下载tarball之后提取它.我objc.xcodeproj用xcode 打开.但是,当我构建它时,有许多错误,例如,找不到一些标题.我搜索了所有丢失的标题,下载它们,将它们放入/tmp/objc.dst/usr/include.但没有运气,仍然是错误.

我搜索了互联网,但我找不到有关的文件或说明:

  1. 如何从源代码编译apple的objc运行时?
  2. 编译之后,我应该得到libobjc.A.dylib,如何使用它(作为系统的libobjc.A.dylib的替代)?

我非常感谢您提供的任何帮助.

jes*_*ang 3

在10.10.2(14C1514)、Xcode 6.2(6C131e)下编译无错误。

  1. 您需要 OSX 10.8 SDK,您可以从早期 Xcode 安装 dmg 或此存储库https://github.com/phracker/MacOSX-SDKs获取(如果您从此存储库下载 sdk,您可能需要使用此修复软链接)脚本http://blog.jeswang.org/blog/2014/10/26/fix-slash-soft-slash-links-slash-in-slash-an-slash-archived-slash-file/,您可能需要运行脚本两次以递归引用)

  2. 更多10.8 sdk/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

  3. 克隆此存储库https://github.com/Jeswang/objc4-532.2

  4. 编译并运行 debug-objc 方案

  5. 您可以在源代码中设置任何断点并调试整个运行时。