Mandatory to use XCode SDK 4? - xcode

Well you know they just released this new XCode 4 version thing...... I am still using version 3.x.x.
Is it mandatory to use XCode 4 for my iPhone apps to be approved?

Not at all. You can still build, sign and submit iOS Apps using XCode 3.

No, but it is recommended. You can use XCode 4 with base SDK 4.3 and target an older iOS version.

You can download iOS SDK 4.3 with either Xcode 4 or Xcode 3.2.6 from Apple's iOS developer page. Remember that the Xcode version number is not the SDK version number.
You should always use the latest SDK, even if you're targeting an older iOS version. As I understand it, Apple will sometimes fix bugs in older OS versions. In order to get those fixes, though, you need to use the latest SDK.

unless you don't want to try Git integration you should be fine :) I'm struck with xcode 3.2.5 and shortcuts. And I hate iTunes like toolbar for no reason :(

Related

Is it possible to install iOS 7 SDK on Xcode 6?

I have Xcode 6 installed but realise that I am only able to develop for iOS8. I am aware that this beta development kit is meant for the development of the iOS 8 beta release but I am in a position where I don't have the time yet to develop for it but wish to take advantage of some of Xcode's new features while I am developing for my current iOS 7 apps.
What can I do to get the iOS 7 SDK installed on xcode 6?
Seems like if you symlink the relevant SDK from a previous installation of Xcode to the Xcode 6 Beta directory, Xcode 6 will be able to use it. Assuming you still have Xcode 5.1.1 on your machine, try the following in terminal:
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
This should link the iOS 7 SDK for iPhone (not sim), allowing you to select iOS 7 as the Base SDK in Xcode 6 Beta. If you want to do this for the simulator, replace iPhoneOS.platform with iPhoneSimulator.platform.
NOTE: Just because you have the iOS 7 SDK now doesn't mean it'll build. I'm personally having trouble with the fact that Xcode 6 Beta is using the Apple LLVM 6.0 compiler, which apparently isn't compatible with some of the stuff I'm trying to build.
ref: https://stackoverflow.com/a/11424966/2383003
Just posting so that someone might find it useful: I wanted to debug my app in iPhone running iOS 7.1, in XCode 6.0.1. The previous iOS version was not being listed in the settings page, to choose as base SDK/deployment target. (I'm using OS X 10.10 Yosemite). I installed both XCode 6.0.1 and Xcode 5.0.1 and copied
/Application/XCode501.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk
to
/Application/XCode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Now I'm able to run iOS 7 apps from XCode 6.0.1.
I changed the deployment target just fine and installed on my iOS7 iPhone 4s all the same. You can do all your development this way and then use 5.1.1 to make your relevant builds. I wouldn't advice to build apps for production in this beta environment even if you could.
Just repeating Christian's comment (on Ziewvater's answer) so it's more prominent:
What's strange is the fact that after adding the symbolic link to my Xcode folder, I see my device twice with the exact name and with some infos (iOS build number, model, device identifier) in the target selector in the upper left corner of Xcode. Depending on which of the both entries I chose, my app works fine or not, no matter which BASE SDK I chose. ??! Anybody experiencing the same?
This is exactly my experience also! Me and my team were tearing our hair out trying to understand why some builds seemed to be working and others were not.
It looks like Apple must be ignoring the base SDK (or target... or something) when you pick the wrong device from the list.
in Xcode 6.1.1 (Window -> Preferences - Downloads) you can install iOS 7.1 simulator. unfortunately it doesn't install iOS 7.1 SKD. if you set deployment target to 7.1 all builds without any trouble. be worry!!!! it is up to you to check the compatibility with 7.1 (SDK is still 8.1). so or so, all runtime trouble should be seen in simulator. i use this approach to build for my iPhone 4 in swift, where iOS 7.1.2 is the last available. (simply don't use any classes available only for newer devices :-))

Uninstall xcode 4.5 (iOS 6)

Just realised I've made a mistake of updating xcode 4.5 (iOS 6) as it causing problems.
How to uninstall xcode 4.5 (iOS 6)? safely? as iOS 6 is beta. I want to go back to xcode 5.1.
iOS6 is no longer beta. So if you installed Xcode 4.5 from the store, you already have the release version of Xcode 4.5. If not, get it from the store.
If you want an older version of Xcode, look here.
There are cases where you may not want to upgrade to the latest version of Xcode.
In my company there are still customers with iPhone 3 that are running iOS 4.2.1 and Xcode 4.5 won't generate code for it. Xcode will generate for 4.3 upwards.
Surprisingly I have an iPhone 3 (A1303) that has been upgraded to iOS 6.0 and Xcode won't generate code for that either.
So, for those that do need to downgrade, you use the link that #leo posted to get hold of the dmg for the version of Xcode you want (4.4.1 probably) and mount it. You then find the existing Xcode (in your application folder) and drag it to the waste bin, then drag the downgraded Xcode to the application folder. You may need to re-install the command line tools, if you use them. Make sure you get the version for your Mac's OS.

Confused about deploying to ios 5.0, which xcode to use

I want my app to run on iOS 5.0 and all newer versions. Should I do all my development work in Xcode 4.2.1, or use the Xcode 4.5 beta? If I implement maps, then will devices running ios 5.0 show google maps while future devices running ios 6.0 show apple maps?
Thanks for your help.
XCode 4.5 beta is for testing and report bugs to apple, test iOS 6, etc. You cannot submit an app with it.
I'd use Xcode 4.4.1 it's the latest non-beta version.
https://developer.apple.com/xcode/

how to fix old xcode installations on mac

I had xcode 3.2.something. and iwth ios sdks 3.0-3.1-....4.1 and 2 iphone simulator sdks.
Now i installed xcode 4.0 with ios sdk 4.3 something like that.
Now all my previous applications cannot be launched nor on device nor on simulator because there's not a single old sdk available.
so next i reinserted the original cds containing macosx and xcode and reinstalled the first xcode i used, but now there's not one ios sdk available at all.
i've been surfing the net for hours now, andi have a couple of questions:
1)have i had to uninstall the xcode 3.2.x before installing xcode 4?
2)how to uninstall applications on mac??? just to make sure that the answer i've found is the correct one.
3)how can erase the traces of all previous xcodes and their sdks in order to install the original one, now that i learned how to install different xcode versions side by side.
4) now what do you think i should to recover? do i have to back up everything and reinstall mac from the beginning?
thank you
So, your questions:
1. Have I got to uninstall XCode 3.2 before installing XCode 4? - No, you don't, but the XCode installer will overwrite your old copy by default. When installing the newer version of XCode and the iOS SDK you must specify a different install directory (eg, create a new folder in the root of your drive called 'Developer 4' for XCode 4.
2. How can I uninstall XCode? - Normally on a mac you would just drag your application to the trash, but it's a little more complicated with XCode. Refer to the instructions at this link: http://pushkararora.com/how-to/how-to-uninstall-xcode-completely/
3. How can I erase all traces of all previous XCodes? - see the answer above for question 2 :)
You can obtain old versions of the SDK from various unofficial online sources if you need to roll back to iOS 3 SDKs. However, it may not be all that much work to move your apps over to the 4.x SDKs.
ok it turned out that at the beginning i was using xcode 3.2.4 with ios sdk 4.1
The xcode that comes with mac osx only targets mac sdk. No iphone support
So i got xcode 3.2.4 setup from a backup (you can find it online) and installed and this should work
And now i have 3.2.5 using sdk 4.2 and targetting all till 3.0
and also xcode 4.0.2

Base SDK missing after a fresh install of XCode 3.2.5 which includes iOS SDK 4.2

I'm new to iPhone development. I just did a fresh install of XCode 3.2.5 with iOS SDK 4.2. No previous XCode or iOS versions have been installed before. However trying to compile some sample project from some books gives "Base SDK Missing". :( What to do? How can I use XCode 3.2.5 for older iPhones like 3GS if it only supports 4.2?
When I go to "Project/Edit Project Settings/Architecture/Base SDK/iOS SDK's" only iOS 4.2 is available to be selected.
Do I need to install older XCode first and then upgrade?
In the build settings, you can support older phones by setting "iOS Deployment Target" to something like 3.0. http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html has more details on the difference between this and the Base SDK setting.
Set Project/Edit Project Settings/Architecture/Base SDK to the Latest OS version, then quit and restart Xcode. You can later set the Deployment target to a lower OS version.
I had the same problem for most of the afternoon. I did everything suggested and nothing worked UNTIL I cleaned and cleaned and saved and rebooted and re-built. Unfortunately that doesn't tell me what actually worked, but it does give everyone "just one more thing" to try.

Resources