I have the same feelings but all my iOS projects use Typhoon framework as DI framework. (There're a lot good reasons why Typhoon is a good one)
A blog in Objc.io mentioned about swizzling technique that dynamically replacing one method with another. However The author still like DI more as "it makes dependencies explicit" (that's why I like DI too).
As typhoon mentioned in its FAQ: categories, method swizzling, duck-typing, class clusters, associative references in categories, none of these are replacement of DI. (But some argues.)
There are lots of advantages of DI / IOC.
I guess the main reason not popular for objective-c community is: there's no auto wiring feature which requires to code custom component assemblies. Or somehow it's hard to sell.