tbdize.sh - Gimme back those "Private" TBD files!

What is this?

Apple is trying to discourage devs from using the Private Frameworks in *OS. First they replaced them in the SDK with .dylib stubs (file type 9, giving jtool some work), then .TBD files, then they just removed them altogether. End result: Compilation using private frameworks fails.

Sorry, guys. Some of us believe that the true power of *OS gets unleashed by using those very same frameworks directly. Don't worry, this won't get to the App store (you can jtool -L ... | grep Private to find "felons"), but tweak developers and researchers will surely find this handy.

The script will use jtool to locate your framework of choice in the shared cache (sold separately, but provided on your device at /System/Library/Caches/com.apple.dyld or in XCode's ~/Library/Developer/Xcode/iOS DeviceSupport/....), then jtool -l the cache, jtool -S the dylib in it, and generate the file. It will also attempt to shove it in the mile long path under the iPhone.sdk - failing to /tmp if it can't do so.

Where to get it:

Available as source here: http://newosxbook.com/src.jl?tree=listings&file=tbdize.sh

Notes:

Comments/Feedback

MOXiI 3 Volume I (User Mode) is coming by end of July. And, yes, it will cover iOS 11/MacOS (10.)13