For iOS / CocoaTouch, loading dynamic libraries is not allowed * (except for system frameworks). To create and distribute the application through the AppStore, you can only refer to static libraries and system frameworks, without a dynamic library.
So, on iOS, you cannot use this for code injection, and you cannot use LD_PRELOAD , of course (since you do not have access to such environment variables on iOS).
Except maybe jailbroken iPhones, but people jailbroken on the iPhone should take responsibility for jailbreaking, by definition, removing all the securities provided by iOS to avoid things like injections (so you can't expect that you lock the lock on your door, avoid using your key ... and still expect that you are still protected from thieves robbing your house ;-))
This is an advantage of the limitations of Sandboxing + CodeSigning + No dylib on iOS. No code injection.
(In OSX, it is still possible, in particular, using LD_PRELOAD)
[EDIT] Starting with iOS8, iOS also supports dynamic structures. But since this is still isolated (you can only load code frameworks that are in your application packages and cannot load frameworks that come from outside your application package), injection is still not possible *
* except when the user jailbreak his phone, but that means that he decided to get rid of all the protections and goals and thus put his phone at risk - we canโt crack our phoneโs security and still expect him to will provide all protections provided by these securities
source share