xcode 5 : can i still create application for ios 5? - ios

Is it possible to create an application that could be executed on iOS 5 devices with the new Xcode 5? On the software update page, within the app store, there is an Xcode 5 update available, but i am wondering if it would be a wise thing to do to update to Xcode 5.
My major concern is whether i could still create applications targeting iOS 5, and if i could still work on old projects targeting iOS 5.
I have searched through SO but seems there is not much related resources yet. Please shed some light on this. Thanks!

in xcode5 Preference you can download the simulator for iOS 5.0, iOS 5.1, iOS 6.0, iOS 6.1 like below image from Xcode Download preference:
After set Deployment Target:-
here you getting option for testing which simulatore:-

One thing of note:
The iOS 5 simulator is only available for download if you're running Xcode 5 under Mountain Lion. If you're running Mavericks then you can't download or use it.

Yes , you can create and test your application on iOS 5.0 simulator too in Xcode 5.
They would just be created with the iOS 7.0 SDK as the base SDK

Yes you can still do App compatible with iOS5
Just set the in your projets settings (General tab)
But you have to be aware that by default, XCode will use the last SDK (7.0), this means that your app will have the new iOS7 native design on iOS7 devices

Yes it is possible, in the project configuration you have to select the correct Deployment Target (in your case 5.0).
The only problem is that you are creating an app with the new SDK 7.0, so your application will use the new user experience.

Related

ios 6.0 Simulator in xcode 5.1

I just successfully updated my Xcode tool to 5.1 version and when I check Downloads option in preference section then I noticed there is no option to download ios 6.0 simulator.(Please check attached image)
So how can I access ios 6.0 simulator in Xcode 5.1?
Please follow this procedure to upgrade your xCode
Upgrade xCode
At last change deployment target to access both IOS 6 and IOS 7 simulators.
There are basically no difference between IOS 6.0 and IOS 6.1, in 6.1 apple just added three header file with few method in MapKit framework and did little modification in UIKit. So I don't think that you should bother about that.
You can check the modification here

What determines if an iOS app gets the new look in iOS 7

What exactly does iOS 7 use to determine whether the application should be displayed with the traditional iOS 6 style UI (aka iOS6 compatibility mode), or the newer iOS 7 UI?
If I build our app in Xcode 5, with base SDK set to 7 I get the iOS 7 UI as expected
If I build our app in Xcode 5, with base SDK set to 6 I still get the iOS 7 UI (unexpected, happens on real device and simulator)
If I build in Xcode 4.x, I get the older UI as expected
In all cases, the deployment target is set to 5.
Since our app has fairly custom UI we're not ready to move to the new look of iOS 7 yet. However we do need to make some backend changes to support iOS 7 which we need to release now. Can we still submit apps built with Xcode 4.x and expect them to be accepted?
For the time being, you are able to. Apple will make an announcement when they stop accepting apps built with Xcode 4.x. My company is currently submitting apps with Xcode 4.6 since we do not have a new enough operating system for 5. I suspect it will be at least a few months until they stop.
Running against 6.1 Base SDK should do it.
However, as I discovered yesterday. Anything less than 7.0 Base SDK isn't supported by Xcode 5 (officially) and so it is undefined behaviour.
My app suddenly switched from iOS6 UI to iOS7 UI with no code changes.
In the end I restarted my mac and phone, deleted the app, deleted derived data and reinstalled cocoapods and it was working on iOS6 UI again.
Make sure that you set the Base SDK to iOS 6 in both the Project build settings & the target build settings - that should do the trick. Even though the target settings are supposed to override the project, I found that when just the target was set to 6 - it compiled with 7.
Regarding XCode 5, it's true that it doesn't officially ship with the iOS 6 SDK. However, you can extract it from XCode 4.6 and use it in 5.
You'll find the SDK in the XCode app under:
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
Simply copy it from an existing installation of XCode 4.6 or from its .dmg (which can still be downloaded from Apple's website) to the corresponding folder in XCode 5, restart and you should now be able to select it as the Base SDK. Note that you'll have to do this after every update of XCode so you might find it easier to use a symbolic link rather than copying.
We've successfully submitted apps built this way to the App Store although as has been said before me, it would be a good idea to transition to iOS 7 ASAP before Apple makes it compulsory.

Can I build an app that runs on iOS 5.1 and iOS 7 in the respective native look & feel?

I have an app that is targeted mainly for iPads, and I want the users to be able to still use their original iPads (iOS up to 5.1). On the other hand my app should look like a “native” iOS 7 app when run on an iOS 7-device.
When I select SDKROOT (Base SDK) as iOS 7 and the deployment target as 6.0, the app runs fine on both systems, showing the respective look & feel. But since I want my app to run on 5.1 also, I set the deployment target to 5.1 (I copied the iPhoneOS5.1.sdk to Xcode 5 according to the answers of this question). The app then runs on 5.1, 6.0 and 7.0, but it (almost) looks like an iOS 6 app on iOS 7.
This is what I found when dealing with the compiler settings (depending on settings, app runs on what iOS version):
So, is this possible: One app, native look & feel on iOS 5.1, iOS 6 and iOS 7?
Thanks for any help.
It turned out that I ran into an installation/configuration problem by adding the iPhoneOS5.1.sdk to Xcode 5. When I upgraded to Xcode 5.0.2, I did not add that SDK again and now I got what I requested: I can set the Base SDK to 7.0 and Deployment Target to 5.1, then I get native L&F on all iOS versions.
I just have to make sure that I don’t use features introduced later than 5.1 without checking for the OS version (Look here for how to check the OS version).

How to deploy iPad app for iOS 6.1 from Xcode 5

I am new to iOS. With iOS 7 release I am struggling to find how to target my app for previous versions but building from new iOS 7.
I do not know if at all this is possible. but iOS has changed app UI totally, but can not do all change now. So I have been told to build it on new version but target should be for old, so that no UI changes to be done.
Something like building from Xcode 5 but iOS should be 6.1. I do have both Xcode running on my Mac.
If I open both it shows: Xcode 5 - iOS 7, Xcode 4.6 - iOS 6.1. How can I use Xcode 5 to target iOS 6.1?
As far as I know you can't deploy only for iOS6.x using xcode 5, but you can deploy for iOS7 and iOS6, setting the deployment target ad Raptor said.
If you want to deploy only for iOS6 you can download the old xcode 4.6.3 from apple site and make the procedure from there.
I guess your question is How to build iOS app with iOS6.1 SDK in XCode5. Am i right?
You must install iOS6.1 SDK (iphoneos6.1 not simulator iOS6.1) to your XCode first. This question Is it possible to install iOS6 SDK on Xcode 5? could help you to install iOS6.1 SDK.
Than you could configure your project using iOS6.1 SDK to build your app like below:
If you are looking to test your app on lower iOS simulators.
go to Xcode - > Preferences - > Downloads
Over here download the desired simulator.
Once you have downloaded and installed it you can test your application on lower iOS versions.

iOS app for iPad I (and iOS 5.1.1)

We are making an iOS iPad app, that needs to work on iPads 1, which means that it has to work on iOS 5.1.1 as this is the latest iOS version supported on them.
Does this mean that the target for this app needs to be 5.1.1?
Is there a way to install iOS 5.1.1 simulator into Xcode so far I have only been able to add 5.1.
Are there any 'tricks' that need to be done to get Xcode 4.5.2 to prepare iOS 5.1.1 apps?
Thanks in advance.
Yes, but it can be as low as you want it to be (target iOS 4.3 for all Xcode cares).
No, iOS 5.1.1 was not released as a new simulator (bug fix builds are rarely sent out to developers as new simulators).
Just link to the highest possible SDK and set the deployment target correctly, and you should be fine.

Resources