Unity iPhone and Unity Desktop Scripting Differences

I was developing a game in Unity Basic but recently purchased Unity iPhone Basic to release the game on the iPad. Everything seems to look ok, except I am having a few weird script errors.

One: Operator '-' cannot be used with a left hand side of type 'Object' and a right hand side of type 'Object'.

var balls = GameObject.FindGameObjectsWithTag("Ball");

    var zs = new Array();
    var ys = new Array();

    for(var i = 0; i < balls.length; i++){
        zs _= balls*.transform.position.z;*_
 <em><em>ys _= balls*.transform.position.y;*_</em></em>
 <em><em>_*}*_</em></em>
 <em><em>_*ys.Sort();*_</em></em>
 <em><em>_*zs.Sort();*_</em></em>
 <em><em>_*var zdiff = zs[zs.length-1] - zs[0]; // ERRORS HAPPEN HERE*_</em></em>
 <em><em>_*var ydiff = ys[ys.length-1] - ys[0]; // ERRORS HAPPEN HERE*_</em></em>
<em><em>_*```*_</em></em>
<em><em>_*<p>What is wrong with the code? It works perfectly in both Windows and Mac Unity Basic... Are there any huge differences that I should know of between Unity iPhone and Desktop when scripting?</p>*_</em></em>

The main difference is that you can't use dynamic typing on Unity iPhone. (Basically all Javascript has an invisible "#pragma strict" applied to it.) In this particular case you have to cast the array as the appropriate type.

there is not much difference, specially if you enable .net 2.0 features then most things will be the same but you should write a really fast code to be able to run it on an iphone. however ipad is much faster. take a look at this

the only feature that is not supported is dynamic typing so your array should be casted to the original type and then anything will be correct and you are good to go.