Xcode 5 and apps deployed for previous versions of iOS - ios

Maybe it´s a really stupid question, but how will my app look on previous versions of iOS if I make it with the new Xcode? It looks good in the simulator, but thats just showing ios7. I have made some design changes to fit ios7 and since the toolbars and navBars had to be moved it feels like it will look awful in ios6 for example.

Maybe will your app look good on older versions. But that depends on your code. You have to test it.
You can install your app on a older iOS version by setting the deployment target in the general tab.
After that, you should be able to run the app on older iOS simulator. This should look like this
If there is still only the iOS 7 simulator, than go ahead and hit more simulators to get more.

Having installed Xcode Version 5.0.1 (5A2053), the More Simulators option is no longer present. The Components tab on Xcode Preferences/Downloads only offers the options of 6.0 and 6.1. The release notes don't say that anything's been removed, but I can't find how to reinstate pre-6 simulators.
[Further note] In the iOS Simulator user guide, there's a section on iOS Version Limitations that seems to imply that even 6.0 might disappear without notice - "iOS Simulator does not have complete backward compatibility. In addition to supporting iOS 7.0, iOS Simulator supports iOS 6.1". Worrying if you still have apps that target 5.0 or 5.1.

Related

Migration project to iOS 7 required or not?

I have project which was developed iOS 6 and when I install it on device with iOS7 it's looks good. But now I update xcode to 5th version and now it's look not so fine. I know about application migration. My question is will I have some problems if I will continue using xcode 4 and upload to Apple will be targeted to iOS 6?
Your iOS 6 app runs in a compatability mode when run on iOS 7. You can currently submit apps compiled with older versions of Xcode but they will stop accepting them at some point -- and probably quite soon.
To directly answer you question: no, you don't have to update now. But assuming you will want to maintain the app for more than another couple of months it's some work you'll have to schedule.
Update: Apple will require new and updated apps to be compiled with Xcode 5 from February 1 2014, around four months after iOS 7 came out.
You are fine with Xcode 4 -- for now. But I would advise to get familiar with the iOS 7 SDK and Xcode 5 as soon as possible.
You did not explain why "it's look not so fine". Just set the target OS to 6.0, and it should really behave exactly the same way, maybe with a couple of more warnings.
I have left a project on the App Store, compiled with iOS 5.
With my surprise (I did not know about that) I found out that the App, running on iOS 7 device looks perfectly fine, without all the problem of elements positioning, just as it was on an iOS 5/6 device. Even the keyboard is displayed old style.
On the contrary if I run with a simulator, everything is messed up. So I choose to leave as it is, and plan a layout upgrade in the nearest future.
Yes. You can use 4.
You want you can build against an older sdk with 5.
How to build against older iOS versions with the latest Xcode downloads?

ios - Regarding compatibility issue

I am making an iphone application. The target version is 6.0..
Recently I ran this app on ios 7.0 beta simulator and my app's user interface doesn't look good because of compatibility issue. MY question is, if I fix my app and change the target os to 7.0, will it still appear nicely on 6.0 or lower devices?
Currently my app looks beautiful on 6.0. But I am worried that if I target 7.0, it might not look nice on 6.0 anymore.. What should I do? Is there a way for an app to target two different os versions with one build? Since App Store doesn't allow me to upload separate builds for the same app, I am a bit worried about this..

Can't test on my IPad - iOS version reported as too old

My iPad2 device is running iOS 6.1. Since I upgraded XCode from 4.5->4.6 I get an error that my device is not running a new enough version of iOS!
I use no advanced features and in XCode my project iOS Deployment Target is 5.0.
Here are my settings:
Here are my provisioning stuff, it looks fine to me:
I am using Xcode 4.6 and see I have all deployable targets available. See screenshots. Though note the base SDK is set to iOS 6.1.
Apple always suggests building against the latest SDK and then setting the deployment target to whatever you want it to be. Also make sure any IB item has the correct deployment version set as well.
Just a helper for newer developers (like me):
I had problems testing my iPhone app on a new iPad and it was due to not running Organizer to initialising the new device (iPhone or iPad).
(You also have to select that the device is used for debugging)
It will update your new device with the necessary libraries and then deploying is simple.
You can run Organizer from the Xcode->Windows menu.

How can I make sure that app developed in xcode4.2 will support ios4 as well as ios5

I am using xcode4.2 , I want my app to support ios4 and ios5 as well,can someone guide me how can i make sure that my app will support both and how can I test my app in simulator(for ios4 and ios5)
ABSOLUTELY NO SIMULATOR. The simulator is WIDLY different from a real iOS device. I recommend buying something cheap off of EBay and loading iOS 4.x into it if you really want to do some serious issue finding. Speaking from experience, we released a buggy version that was just meant to be a minor bug fix (ARC+Leaves= Epic Fail), anyways, because we did not test on a physical device, we shipped a build that crashed on startup. You NEED to test compatibility on a physical device.
In your target's summary view (select project icon at top of Navigator view, elect your target in the editor view, select the Summary tab), set the "Deployment Target" to 4.0, then make your code such that you either don't use any API newer than 4.0 or you conditionally use it based on the installed OS version.

Test iOS app with device of iOS 5.0.1 beta version

Now, I use Xcode 4.2 supporting iOS 5.0. Apple has just released iOS 5.0.1 beta 2. I can install it on my iPhone.
I want to test with this beta version, i.e build code from Xcode.
How do I build code from Xcode 4.2 for device of iOS 5.0.1 beta?
Please help
In exactly the same way that you would do so for iOS 5.0. We can't talk about beta versions of the software, but we can talk about what happens when newer versions of iOS are released. When you connect a device with a newer version of iOS installed, the Xcode Organizer will give you a message like:
Xcode does not have debugging information for the version of iOS on the device named “Dev iPhone”. Xcode can collect debugging data from the device to enable development with this version of iOS. This process only needs to be done once per iOS version, and will take several minutes.
You simply click OK or similar, and Xcode downloads the necessary debugging data. You can then build to the device from Xcode and use all the debugging tools as usual. This process works for point releases. It is highly unlikely this would work for major updates (e.g. if iOS 6 was released) and it may or may not work for iOS 5.1, depending on the changes included. But when Apple have not released a new version of Xcode to developers, you can be sure it is because one is not required.
It is important to understand the distinction between an updated version of iOS (for the device) and the iOS SDK (for Xcode). A point release of iOS does not necessarily require any change to the iOS SDK, and therefore with Xcode's ability now to download the debugging information on demand (a feature that has been around for a while), you don't necessarily need an updated version of Xcode. Likewise, with Xcode 4.2 you still set the iOS 5.0 as your base SDK even if you are setting an earlier version (e.g. iOS 4.2) as your deployment target. You don't need the iOS SDK v4.2 to target iOS 4.2 for deployment. (Just make sure you add back "armv6" to targeted architectures in your build settings, if you still want to support the iPhone 3G and equivalent iPods, as in Xcode 4.2 this is not included by default.)

Resources