I am dealing with old code developed for iPhone OS 2.0. In this code, I have some instructions that we have deprecated on iPhone 3.0.
I don’t want to change the version because I have many clients, especially on iPod Touch, who are still using 2.0. If I update the instructions, they will not be able to continue to receive updates.
The application was compiled for version 2.0 and has always been like that.
I introduced a new version for Apple, where some bugs were fixed and new functionality was added. I always sent this application to an apple, and they never complained. Now they rejected the application, letting me know that it crashes under OS 3.1.3.
I followed their instructions, but I do not see any failure, and the part of the code that uses the "obsolete" function works fine on 3.1.3.
Compiling the project for 3.1.3, I see a yellow warning on Xcode telling me that one instruction is deprecated in 3.1.3.
The big question is: will this instruction work on 3.1.3 and ignore this warning? Can this cause the iPhone to crash?
In my opinion, all new versions of iPhone OS support compatibility with older versions, so, as I think, any application compiled for version 2.0 will work in version 3.1.3 and all versions.
As you can see, I tested this on 3.1.3 and the application works fine.
How can it be? Any ideas?
Thanks for any help.