Hi Everyone,
Publishing for IOS can be tricky sometimes. This is especially true if you are using "Get Property" and "Set Property" as it uses reflections and this cause problems depending on your IOS publish settings.
General IOS publishing settings:Script call optimizationIN ALL CASES: do check the publish option "Script call optimization" to "Slow and Safe" when you tests your games, because if you get an error, the app will less likely crash, and you will be able to have more logs to pin point the problem in xCode console. Only select the option "Fast but no Exception" when you have a game that runs without any errors in Xcode console.
SymlinkCheck "SymLink" on. This feature is not very well documented, so I am not sure myself what it exactly do, but if I don't check it, all attempt fails when I use "Get Property" and "Set Property" actions.
StrippingStripping is a one way to optimize your final application size:
http://docs.unity3d.com/Documentation/Manual/iphone-playerSizeOptimization.htmlAnd depending on your stripping option you may not be able to compile or have errors when you play leading to crash or bugs.
DO NOT select the "micro mscorlib", it's too optimized when using "Get property" and "Set property" actions.
link.xmlThere is way to explicitly define what class not to strip so that reflection work, but so far I failed to find proper documentation as to how to fill that link.xml for a monobehaviour. There is a
Wizard that will help you setup this link.xml without any effort on your end.
This post is very much a work in progress. Don't hesitate to share your knowledge, expertise, findings and thoughts to make this guideline as accurate and helpful as possible.
Bye,
Jean