The project I developed a year back was build with base SDK 3.0. Now, I want to do changes in the same application. The problem in SDK 4.0 is that I can not have 3.0 SDK as base one, I can set deployment target as SDK 3.0. I am using SDK 4.0 these days
What changes I need to do in the SDK? Any idea?
The base SDK is the one used for development/compiling, so you cannot change that. You can change the deployment SDK to 3.0, and everything will be fine. However, you should test on a 3.0 device, since the new SDK doesn't come with a 3.0 simulator.
If you have the dmg of the old SDK, install it in another location, and you will be able to have the base SDK lower than 4.0 (or 4.1 if you have the latest SDK). Frankly, I don't care what the base SDK is, since it won't matter the the user at all. The thing I care about is that there is no simulator for anything lower than 4.0, which is something I hate, because I only have one device, and I cannot downgrade the iOS on it.
I would recommend using libxml instead of NSXML for two reasons. The first is that libxml is a c library, and if you stick to a particular version (libxml2 for example), it will work the same on all devices. The second is that it performs better (according to my trials, xml parsing using libxml2 takes 60% of the time taken by NSXML)
The reason I suggest using libxml is that it's independent of the OS version, so if it works in one version, it should work seamlessly in all other versions without having to change a thing in the future