In the past, Apple has blocked IOS developers from running scripts on the device.
Has anyone attempted to pass #script code from a server to a mobile running IOS?
The lack of System.Reflection. Emit means that no code that depends on runtime code generation will work. This includes things like:
The Dynamic Language Runtime.
Any languages built on top of the Dynamic Language Runtime.
Remoting’s TransparentProxy or anything else that would cause the runtime to generate code dynamically.
Do not confuse Reflection.Emit with Reflection . Reflection.Emit is about generating code dynamically and have that code JITed and compiled to native code. Due to the limitations on iOS (no JIT compilation) this is not supported.
But the entire Reflection API, including Type.GetType (“someClass”), listing methods, listing properties, fetching attributes and values works just fine.
An issue with scripting languages in iOS is in mono’s AOT tree-shaking where it’s not going to know which symbols scripts uses & so strips them away if not used by the compiled App. This was also an issue with Scripting Unity3D where it needed to create Script Method Wrappers around a lot of Unity’s APIs to prevent them from being stripped out of the AOT build.