Upgrading Xcode issue - ios

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.

Related

Do I need to build my project with the latest available version of Xcode available on the Mac App Store for submission or can I use the older version

I was going through app review guidelines and one thing which I am unable to find the answers is
"Do I need to build my project with the latest available version of Xcode available on the Mac App Store or can I use the older version "
For example the current version of Xcode available on Mac App Store as of writing of these lines is Xcode 9.0, so do I need to build my project using Swift 4 and Xcode 9.0 or can I use older versions (say Swift 3.x and Xcode 8 or Xcode 7).
A similar question was asked in Feb 2012
Do I need the latest version of Xcode to submit apps to the app store?.
But it doesn't provide clear cut answer and the answer is more than 5 years old. And during that time the language for choice was objective -C whose versions were and are more stable than current lingua franca, Swift.
You can use older version of Xcodes (Xcode 8.x) to develop and upload
your project build on app store. There is no any such kind of
restriction by Apple, that you must use latest Xcode Tool to upload a
build on the store
I recommend and a as good advise,
You should use latest version of Xcode Tool to make your app, compatible with latest version of technology. You should see and implement, changes in technology. And one most important and major update in Xcode 9 is - support for iPhone-X device. To see your app interface is compatible with iPhone-X or not, you must use Xcode 9. There are so many other considerable updates in Xcode 9 (with iOS 11)
Here is list of updates with Xcode 9: Highlights of Xcode 9
It's not required to convert/change version of Swift programming language to provide a support of latest Tool.
Xcode 8.3 & Xcode 9, both supports Swift 3.2 version. So, if your current project is supporting, Swift 3.2 version, then you can easily work with Xcode 9.0
How to see current Swift version of your Xcode Project
Also, review this answer to see, how you can make your project compatible to Xcode 9 - Xcode 9 Swift Language Version (SWIFT_VERSION)
Here is nice answer from Apple:
Why You Should Use the Latest SDK
Building with the latest SDK gives your app all possible bug fixes and new behavior. For compatibility reasons, frameworks can't always expose improved behavior, unless apps are built with the latest SDK.
For example, when Retina enabled iPads were first introduced, only iPad apps built with the very latest iOS SDK could create Retina images by simply loading an image with an #2x suffix.
By building with the latest SDK, apps signal that they are ready for all API improvements and bug fixes.

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

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.

How to build a MonoTouch app with SDK version 4.x (not target earlier version with current sdk)

I have a legacy application distributed Ad-Hoc that runs on older iPod Touches (running iOS 3.1.3) with a custom connection to rather expensive 3rd party hardware. Unfortunately my annual renewal of the provisioning profile (which also involved rebuilding with the most recent version of XCode that will compile armv6 (4.5) and the corresponding SDK) seems to have broken the app.
I know that you can set the target platform earlier (and I've done that). But my problem seems to be specifically related to the SDK. The hardware these devices interface with is several hundred miles from me so testing is very difficult.
My first set of problems were related to deprecation of the TouchID APIs, but I've worked around that problem. Unforatunately, I still have crashes and they are proving very elusive to debug.
The simplest solution for me would be to just rebuild against the older SDK (4.x). Is this possible? To make matters worse my Mac is running 10.8.4--so there's a limit to how far back I can get XCode working on it.
I was able to get this to work by renaming my current version of XCode to something else, downloading and installing XCode 4.4 something from the developer site. Then I downloaded an earlier version yet and used the techniques described in this post:
Adding Older iOS SDKs to Xcode 4.1 in Lion
To extract the older SDKs. I was then able to copy these SDKs into XCode 4.4 (as described in the post). Now I was able to build using older versions of the SDK.

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!

How to test on earlier versions on ios SDK

I have xcode 4.2 installed which only allows me to launch a simulator for SDK 4.3 and 5.0. I would like to test on a simulator for SDK 4.0. How would I do this?
From the research I have done it seems that installing an earlier version of xcode will overwrite some of my xcode 4.2 files? I looks as if you have to start with installing the earliest version and end with the latest version. But I'm not sure.
I know there are many questions like this already, but nothing that covers exactly what I'm asking, the other examples use different version in different orders and don't seem to provide a really solid guide on achieving this.
Thanks
Download the old Xcode and extract simulator and sdk folders.
Than copy it to your xcode path.
that's all.

Resources