What version of Xcode should I be using? - objective-c

My app is fairly close to being submitted for approval. I would like to make sure I am using the most current version of Xcode that I can. My Mac's operation system is Mac OS X Version 10.6.8 and I am using Xcode Version 3.2.3. I have seen that there are Versions 4.0 and 4.1 for Xcode. Should I be using one of these, or am I good to go?

Both Xcode 3.2 and 4.0 are supported on Snow Leopard. You can use any of them. Since you already use 3.2 I would recommend that you keep using that version until you find a good time to update to the 4.x series.
It is however a good idea to update to the latest version of Xcode 3.2, which is currently 3.2.6. That way you get the latest bug fixes and updates while staying on the 3.2 branch.

I highly recommend Xcode 4. You'll want to upgrade to it eventually anyway. Also, it makes it much easier to package up an app and submit it to the App Store. Just make sure you keep your Xcode 3, in case you need it - see here: Can I run Xcode 3 and Xcode 4 at the same time?

Related

XCode autocomplete not working for a particular project in Objective C

I am currently on XCode Beta Version 9.3 beta 2 (9Q107o. I am facing some issues with a particular project. Autocomplete seems to have broken for the project. Its working fine for other projects.
Can anyone please help. Can't seem to figure out.
Thanks
Autocomplete working in Xcode is by no means guaranteed and definitely not for a beta. Try quitting everything, deleting your derived data, restarting your computer and if that doesn't work, go back to a supported version.
You can do as #Alper say, If it doesn't work. try restore Xcode to the default Settings ,than restarting your Xcode
This is the officially recommended way to delta Xcode preferences, type in Terminal.app:
defaults delete com.apple.dt.Xcode
That should restore Xcode to the state of its first launch.
(for older versions of Xcode the command was defaults delete com.apple.Xcode, i.e. without the dt in the middle).

xcode upgrade to 7.3.1 from 7.2.1

Right now i'm using xcode 7.2.1 and planning to upgrade to 7.3.1, my question is, xcode 7.3.1 has swift 2.2 and 7.2.1 has swift 2.1. there are some new functionalities added and old ones are removed by apple. so, is it ok to upgrade to 7.3.1? will it affect my current project? (which is in swift 2.1)
It definitely will affect your current project. But the changes shouldn't be that bad. Of course this depends on your project.
That's the situation with Swift right now and that won't change until the language becomes more stable.

XCode 6.4 submission

As new Xcode 7 released, Swift 2.0 also arrived. I've got a big project build in 1.2 and migrating to 2.0 standard can take a long time. Did anyone submit apps from 6.* Xcode? Or i MUST update my app and build it with 7.0 release? Thanks in advance.
Yes, i must update, i've updated and it was really painful

GameCenter authentication compatibility issue in iOS 4, 5, and 6

currently I'm in the stage where I'll be integrating GameCenter into my games.
I saw these 2 authentication methods in the documentation
authenticateHandler
authenticateWithCompletionHandler: (Deprecated in iOS 6.0)
My question is, which one should I use?
Because my games will be supported by the minimum iOS which is 4.3 and up until 6.0
If I use authenticateWithCompletionHandler: , it says will be deprecated in iOS 6.0
If I use authenticateHandler property, I wonder does iOS 4.x and 5.x able to run it?
Hope someone can explain to me, I'm confused by the compatibility now :(
Usually it is safe to use deprecated methods if you want to support older devices or iOS versions. It does not mean that the function is removed anytime soon... It's just a hint that a better or newer version of the function is available.
If the new function offers something the old don't, you could check if the function is available at runtime (respondsToSelector) and if not use the old one.

Multiple Xcode Installation

After a fresh install of Lion and Xcode 4.1 from the Mac App Store, I would like to install another version of Xcode alongside.
I heard that this perfectly safe to install it in another directory (considering the first to be on /Developer). The only thing to remember is that running xcodebuild would result in launching the last one installed.
But I have another issue while installing it, even f I changed the directory it clearly says that it will upgrade Xcode Toolset, System Tools and UNIX Development and that they can only be located is /Developer and for one installation per system, here is a screenshot :
So how to have another clean instance of Xcode and SDKs without screwing up the production one ?
Thanks a lot.
It doesn't seem to be possible to install the System Tools on both versions. I've never had success with that.
One thing to note, if you install an older version of xCode side-by-side with the latest version, the "Build Archive" function in the Organizer will not function. The only remedy I found was to remove both xCodes and reinstall the one I wanted to use for building the archive. It was a painful process.
Actually you can do this (or at least I seem to be able to). At times I have had three separate instances of XCode installed - an older XCode 3.x (which I've subsequently gotten rid of), an XCode 4 production, an XCode 5 beta; all in separate directories.
The key thing for me was calling the command line tool to tell which system is the "primary" xcode for the purposes of running xcodebuild, instruments, agvtool and a bunch of others: xcode-select -switch /Developer (just man xcode-select ftw).
So, I have a 4.0.2 build as primary now, and keep upgrading the iOS5 betas. I try them out, but when I want to cut a production build using 4.0.2, I ensure that my system knows that /Developer is current, switching it if I need to. FWIW, there is risk that the single-set-of-System-tools could be broken when you replace them with the latest set, but that's (so far) never hit me.
Also, for reference there is another discussion along similar lines here: Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs