Is it possible to update old xcode code to the latest xcode? - ios

So my developer developed my app in xcode 5 and i have the latest xcode version. When i tested the app on my version, a lot of features stopped working. My developer told me that it could be the different xcode versions between us. I was wondering if it is possible to fix this without changing the SDK or xcode version.
If it comes to me changing the xcode version, will i not be able to add apple's latest features to my app?
Also, when i add an SDK into the SDK folder, do i have to replace it with the current one or do i just leave both in there together?
BTW i don't know anything about programming, so i only speak noobish.
Thanks!

When parts of an application stop working after the version of Xcode is updated, the reason is almost always a change in the SDK since newer versions Xcode contain newer versions of the SDK. Additionally, stuff from older SDKs often gets deprecated and is eventually removed.
However, you should be aware that Xcode 5 is very dated nowadays and should not (and cannot) be used for developing applications for iOS 8. As a rule, when a new version of Xcode comes out, all existing code should be updated to the current version of the SDK and developers should upgrade to the latest version because it prevents issues like the ones you are describing.

You need to upgrade the code as per the latest iOS version. All the deprecated methods need to be replaced with the new ones. Also the codes that once worked with previous versions of iOS may be or may not be working with the latest version of iOS i.e iOS 8. So an upgrade to the code will be required.

Related

AppStore App Submission

I have made an app for iOS that supported iOS 5 and above.
Later I added an update that supported iOS 6.1 and above (which is now live). Thus people with iOS versions 5.x.x and 6.0 could download the first version and those with 6.1 and above could download the second version. I accidentally uploaded a new version (third one) with support for iOS 5 and above.
And now all users are getting the third version of the app in their updates. This update is not working for iOS 5.x.x and iOS 6.0 users. I cannot rollback the update. Uploading a new version with minimum iOS 6.1 and above will not help as the iOS 5 users will continue to receive the 3rd version as the latest update.
Our new technology does not support iOS 5.x users. Hence I can't update for them. The first version used to work. What do I do? I asked Apple but they did not provide any method or idea.
I want my users using iOS 6 and below to get the first version and others to get the latest one. Please suggest.
you should resubmit the first version.
then you should make an other update to users having 6.1+
This is the only solution to your problem.
You can't have any other solution.
But you can also make a version that make a test on ios version to open/close the wanted feature.

Developing for IOS on 10.6.4

Ill start developing for IOS but the hardware I got only suport up to 10.6.4
I know that Xcode 4.2 seems to work on Snowleopard...
but the last version requires 10.7.4, in there anyway to make the last version work on the 10.6? If not, if I just use the 4.2, can I still develop with no problems? what Im going to be missing out?
Thanks
Edit: Thanks guys, Ill be building myself a hackintosh...
Older versions of Xcode are still available:
If you can't install the latest version of Xcode on your MAC, you can get older versions at connect.apple.com.
Notes:
However, they won't come with the latest SDKs.
And you can't develop for the latest iOS devices with an old version
of Xcode.
In short, you will probably need to upgrade your hardware in order to develop using the laters version of Xcode.
Apple are very sneaky - they want to sell hardware - so by dropping support for various OS versions in Xcode and not supporting older hardware with newer OSes they are effectively forcing developers to buy the latest hardware to keep up to date with software development.
You can still develop older iOS apps (i.e. using older SDKs and targeting older iOS versions) using an older version of Xcode (Apple do at least make the older versions of Xcode available through the developer portal). However, you'll need to carefully figure out what iOS versions you can target because Apple are also increasing the minimum app specifications in order to submit new apps and updates to the App-Store. So soon enough it won't be possible to submit apps developed using Xcode 4.2 to the store and you will need to update the Apple hardware you develop on if you want to make apps that will be submitted to the store.
The most annoying thing about this is that you can't even use an older Apple computer as a build server. I have a Mac mini which is less than 5 years old and I can't use it for development any more - it would be perfect as a build server!

Upgrading Xcode issue

I am currently working with Xcode 4.5.2 and I'd like to upgrade it to version 4.6. Will installing the new version completely replace the previous one? If so, is it possible to just "extend" your current version and keep the SDKs you already have? I wouldn't like to lose the compatibility with my current projects...
Thanks!
Xcode 4.6.x supports iOS 4.3 through 6.1. Xcode 4.5.x supports iOS 4.3 through 6.0. Upgrading to 4.6 is not going to result in you losing any compatibility.
"Will installing the new version completely replace the previous
one? If so, is it possible to just "extend" your current version and
keep the SDKs you already have?"
It is possible to install them side by side which allows you to start picking up newer versions as early as preview while being able to fallback to the stable version you've been working with. I roll between versions in parallel. Remember that developer tools have bugs too :)
Go to Applications and rename Xcode to Xcode45. Login to your developer account at apple, look under it for download older versions (which actually has newest version) and download the Xcode dmg for 4.6. Run it and drag to Applications.
If you download from the developer web site rather than the app store you can have multiple versions of Xcode installed at the same time. At one point I had 4 or 5 versions.

Do new Apple SDKs patch previous releases?

A new iPhone will be soon out there along a new iOS release. Sooner or later there will also be a Xcode upgrade with the SDK for iOS 6
Does Apple do any type of bugfix on previous SDKs or are bugfixes just solved on new releases?
As an example: Core Data with iCloud still have some issues but it is getting better over time. Let's say I have an app that really depends on that combo. I would require iOS6, however not all users upgrade the handsets. Ideally an app compiled with a newer XCode release could patch some error on previous SDKs if the target is set to an older iOS release.
Should I expect that a project compiled with future SDK releases to work better on devices running on older iOS versions? will be some SDKs bugfixes backported?
I understand that there are some bugs that cannot be fixed without an iOS update on the client. Also that it is a lot of work (and unlikely) to backport bugfixes. I am just wondering what is the normal release policy of Apple.
The new SDK may enable some new features on old iOS versions due to new constants or functions becoming documented, but it won't fix anything.
You can be reasonably sure at this point there will never be an iOS 5.2. Bugs are here to stay, unless they're security issues and Apple decides to do a security release. I doubt they'll bother, as only the original iPad is being abandoned over this ugprade.

Have 4.3 SDK only, want 3.x as well

I know this has been discussed before, but I didn't quote understand most of the answers. As you can tell from my other questions on here, I'm a complete newbie when it comes to app creation using XCode. I only have the SDK for iOS 4.3.
A friend of mine wants my app, but he only has an iPhone 3. He has not upgraded to iOS4. I don't see any reason my app couldn't run at a lower iOS version, it's pretty simple.
So what I'd like to know is how can I add previous SDKs to my XCode library? Do I just download a previous version of XCode w/ it's SDK and install that? Will that brick XCode? If so, what then? Is there anything I can do, I'd really like this to be written with 3.x and above in mind.
The most simple and more straight forward answers without jargon will be extremely appreciated!
Thank you!
if you have the iOS 4.3 SDK, you also can target any iOS version preceding it. In your Xcode project build settings, make sure your base SDK is set to the highest you have (in this case 4.3) but change your deployment target to whatever iOS version you want (try not to go lower than 3.0).
Make sure you test it though, to be sure that you are not using any features that are not present in the SDK version you are targeting.
Each download of the iOS contains each (most) of the previous versions. They're in installer bundles in a folder on the disk image. For example in the xcode_4.0.1_and_ios_sdk_4.3.dmg, (after you have installed the main package) open the Packages folder, install the iPhoneSDK3_2.pkg, and iPhoneSimulatorSDK3_2.pkg (if needed).

Resources