01-17-2012 06:44 PM
Hi, i recently compiled my app with Native SDK 2.0 beta 2, and its working now using Beta firmware OS 2.0, but when i try to run it on pre 2.0 firmware like 126.96.36.1991 its giving me the following error:
result::failure 533 Application-Requires-System: version forbidden, want (2, 0, 0, 0) have (1, 0, 8, 1971)
I found the tag <platformVersion> on xml and tried to change it to 188.8.131.52 and it can be installed but it crashes immediately after trying to open it.
Anyone know how this works?, or if there is any official information about this that i'm missing?
Solved! Go to Solution.
01-17-2012 09:33 PM
It is not recommended. Something like Java or Air, sure, but being that native code is, well, native. It's best not to as something that might have been modified within the OS so native code ran better and the compiler updated for it. Well if you go back it could screw things up.
If you want to use your code on 1.0 and 2.0, you should probably compile it in 1.0. Native code usually does better going "forwards" instead of "backwards".
01-18-2012 09:43 AM
In general if you using sdk for platform X you cannot run it on platform version Y (if Y less than X). But you can
expect visa versa. If you want your app to work on 1.0 you have to use SDK 1.0 (or at least platform piece of it).
This specific error is caused by os dependency guard, but if you remove that manually your app would probably fail immediatly because of API mismatch. In case of 1.0 vs 2.0 it is better to actually create two app packages - one for 1.0 and one for 2.0 (2.0 has a lot more APIs and you don't have to package captive libraries, so package would be much smaller). Also 2.0 app version should be higher than 1.0 version of the same app, so when user upgrades os they can pick up new version right away.
01-18-2012 12:52 PM - edited 01-18-2012 12:54 PM
Oh ok, my only concern was that if the user has lets say version 1.0.0 of the app compiled with SDK 1.x.x, and then i update the application on App World with version 1.0.1 of app compiled with SDK 2.x.x then the users of OS 1.x.x will see an update of my app ? even if it will not work on their OS? or the update will not be visible unless they have OS 2.x.x ?
In this case, the update is only to fix problems with the app running on OS 2.x.x, not to add new features.
01-18-2012 01:22 PM