RetVal / objc-runtime

A debuggable objc runtime

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

macOS 10.12 LLVM 8.0 「 Semantic issue 、 Parse issue」 NSObject.h

aShaboyi opened this issue · comments

macOS 10.12 LLVM 8.0 「 Semantic issue 、 Parse issue」 NSObject.h

Hi,I have same problem.
Do you have a solution?

The 「Semantic issue 、 Parse issue」 NSObject.h issue is just miss some macros, which is defined in new SDK objc/runtime.h, but apple change some private APIs, so the objc runtime 680 version currently can not run on OS X 10.12. I'll try to make a patch to match those private changes. Thanks for this issue to remind me.

I tried the following two ways:

  1. Build runtime 680 on 10.12
    Get the result
dyld: Symbol not found: _dispatch_begin_thread_4GC
Referenced from: XXX/Build/Products/Debug/libobjc.A.dylib
Expected in: /usr/lib/libSystem.B.dylib
in XXX/Build/Products/Debug/libobjc.A.dylib

It seems that the libSystem.B.dylib has changed. So the runtime 680 code cannot run on the macOS 10.12.

  1. Change the base SDK to 10.11
    I download the macOS 10.11 SDK, and set the Base SDK to 10.11. enconter the same problem.

Now I'm give up. I try to run a macOS 10.11 simulator on my macOS 10.12.
Who has the better solution?

Not only libSystem, but also dyld, and runtime add memory management descriptor and so on.

So, can only compile&Debug the runtime source code at macOs 10.11?

objc-runtime is updated. Tested on macOS 10.12.1.