We are using Ninject with Unity3D on iOS just fine.
On iOS, you need to specify a custom INinjectSettings when creating your kernel, that returns ‘true’ for the UseReflectionBasedInjection property. Otherwise Ninject will try to use Reflection.Emit when creating objects, which will crash.
You might like to look into the testability framework we are developing for Unity, which is designed around the patterns of DI and IOC.