really hurts to say this, but things currently aren’t looking good for the future of tweaking Apple code (SpringBoard etc).

Recently, Apple added a direct dispatch mechanism to objective c, see https://github.com/llvm/llvm-project/commit/d4e1ba3fa9dfec2613bdcc7db0b58dea490c56b1 & quoted tweet for details. https://twitter.com/pedantcoder/status/1197269246289444864
It has some size and performance benefits, but it also just so happens that it breaks private API usage and method swizzling for methods marked as such. This would make tweaking or hooking such functions pretty hard (would need a lot more RE effort etc).
We’re still looking into it, but classes which can be subclassed can’t have direct methods and nor can public API (unless they wrap them a C function), so we can still at least hook some things in the same way as before.
How this affects tweaking: in iOS 14 Apple has aggressively added this attribute to a whole range of private APIs, basically imposing the limitations listed above upon them 😒
It’s definitely worth taking this with a grain of salt as a workaround may be found, but to me at least, that now seems unlikely.
You can follow @jamiebishop123.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.