Possible to still produce iOS6 style apps using xCode 5? - iphone

for now I am keeping my app in iOS6 style until I get a chance to update some of the artwork. I am wondering, if I update to xCode 5, is there a way to compile my code so that it will still produce the iOS6 style and install it on my device with iOS7? Getting a bit tiring uploading my code through TestFlight...

It's not the Xcode version that provides the assets, its the iOS SDK.
That means apps which are compiled using iOS 6 SDK and lower will use the older style default assets, however apps which are compiled on iOS 7 SDK will use the new style controls.
Your best bet would be to create assets and style the controls to your specification if you want to use the new Xcode.

No, Apple has changed the look of all system components. As far as I know, it is not possible to force your app to use the old style on iOS 7.

You would get the new look on iOS 7 (when using iOS 7), When your app would run on iOS 6 it would look like it was on iOS 6.
It's pretty simple and straight forward. You don't have to do nothing just make sure it looks good on iOS 7 also.
To be more clear if you use AlertView you would get the new style when your app runs on 7 (with parallax etc.) and old look when run on 6.
My suggestion to you is just test it on iOS 7 and fine tune graphics if needed.

Related

IOS6 Developed application suppport in ios7?

Hello I am Develop the ios6 supporting application.My thought is ios 6 developed application is compitaple on ios7 or any otherway is available? and also If I developing the application using ios 7 is supporting earlier versions.Give the best solution for me.
An app compiled for iOS 6 runs in a special compatibility mode on iOS 7.
When you compile with Xcode 5 you must support at least iOS 7. By setting the "Deployment Target" you can also support older versions, but if you use features that are only available in iOS 7 you need to check first otherwise your app will crash on iOS 6.
Also note that the various UI components on iOS 7 are different sizes than on iOS 6. You need to cater for that either using Interface Builder (autolayout possibly) or in your code. How to do this is detailed in the iOS 7 Transition Guide.
The easiest solution is to only support iOS 7. The best option depends entirely on your circumstances, customer base, etc.

Testing an app developed with SDK6 on iOS7 device

I have an app I want to update of other reasons than change of of iOS, and the work to redesign it for iOS7 is rather big and also not looking good with iOS7.
If I build it with SDK6 using Xcode 4, how do I test it on a device running iOS7. Or do I have to see how it behaves when it is coming up at App Store.
I have also Xcode 5 but with this I can not build it with SDK6, can I?
I can see the result in the iOS6 simulator after a SDK7 build but since the app does not look good with that I do not want to update it that way.
The look is ok on a iOS7 device I know, but how to test it ??
And my devices running iOS7 are not compatible with Xcode 4.
The best way for you is to install Xcode 5 keeping Xcode 4 on your Mac.
For that, copy past your current Xcode 4 in a folder named Xcode4 on your application folder and renamed Xcode.app to Xcode4.app.
After that, update your Xcode to Xcode 5 and create a symbolic link to have the iOS 6 SDK on Xcode 5.
Have a look here, where I explain how to make this symbolic link.

Will iOS 7 support application developed for older version of iOS

We are planning for a new mobile application for iPhones/iPads this month and we are outsourcing this project as we dont have much knowledge about the subject. Could someone tell me if current iOS applications will run on iOS 7?
I would appreciate help in this as I tried to search but could not find related articles as most of the articles talk about features and not backwards compatibility.
Sure. It will support older versions of iOS. If not millions of applications in Appstore will be unusable in iOS 7. You need to download iOS 7 SDK once available to exploit iOS 7 specific features, thats all.
Yes current iOS application will run on iOS 7, because apple will take care that if they launch new iOS then they create new iOS in such a way that it's always compatible with older iOS apps other wise if someone upgrade the iOS and the apps of previously developed will not work on it then they loose their customers/users. So don't worry new iOS 7 will also support apps developed for iOS5/iOS6. There were only new features in iOS7.
Although iOS 7 has seen a major overhaul in UI field as well as several back end changes too. But the main point for your question is that any application if working on previous versions of iOS should work in iOS 7 too. The OS will take care of all the UI instances drawings in different versions of OS. The situation where the applications supporting newer versions of OS not working on older versions is that they use some features only available to a specific version of OS or later.
It would run in iOS 7, but probably not as you would expect it to run, so my recommendation is to create 2 (or 4 if you build for iPad) 1 for iOS 6 - and one for iOS 7 + just detect the iOS version and load the storyboard for the appropriate version
It is always better to start development in the latest available version of iOS. In this case 7 is the latest with all the support for developers. You can get the relative iOS SDK and Xcode.
Long Story Short: Start Development in the latest iOS and nothing shall go wrong.
From the research I had done, indeed app built using 6.1 SDK and Xcode 4.6 will run on iOS7, however, the app will have an iOS6 look and feel on iOS7.

Can you set a Max iOS version for an iPhone App?

Our iPhone Apps run beautifully up through iOS 6, but certain features do not work on the iOS 7 beta. My fear is that we won't be able to complete our iOS 7 compatibility before iOS 7 is released and our customers will upgrade to iOS 7 and the App will be unusable....resulting in negative reviews, etc...
Does anyone have any suggestions on how to best handle this? Is there a way to set a Maximum SDK that the App supports?
I think if you do this you will get bad reviews anyway, but it may be your only option if you can't revise in time.
You need to take a look at this SO answer and use a condition with a macro like
if(SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(#"6.1.3")) {
// work normally
} else {
// fail gracefully
}
to disable any part of your app that is broken post that version number.
I don't think there is a way to restrict users with later versions installing and trying to use your app as there is with users with versions earlier than you require. The reason is probably that while it's OK to use new features and lock out older devices it generally isn't OK to not support new devices indefinitely.
If you run a binary built against the iOS N SDK on iOS N+1, the device substitutes the behaviour of iOS N. Assuming you have an iOS 7 device set up for testing, try downloading anything from the App Store — you should see gradients and wide UISwitches and view controllers acting properly when wantsFullScreen is set to NO and everything else.
So you don't need to handle anything. It's dealt with automatically on the device.
There is not maximum iOS version setting anywhere but it shouldn't necessary.
If you build the app with Xcode 4.6 / iOS 6 SDK, then run it on device w/iOS 7 installed, does it work OK? If so, that's what you should release first (or leave in the app store). If not, you need to fix just those problems that show up and release an update made with Xcode 4.6. Just fix those issue, don't try to restyle and redo everything for iOS7 yet. Most apps built with Xcode 4.6 won't need fixes to run on iOS 7.
When you build with Xcode 5 / iOS 7 SDK, then you'll want to fully use and support iOS 7. But you can't release that build until we get a gm Xcode/SDK anyway. You don't have to go down this path right away if you aren't ready.
Try systemVersion of UIDevice.
Format is 6.1.3 or 7.0.1
Split them with '.' to get major version
https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/systemVersion

Run iOS 5 application in iPhone 4.3.3

I am creating an iPhone project for iOS 5. I need to know if i can run the program in iPhone 4.3.3 and higher ?
Are you using anything in your code that was introduced with iOS 5.0 & newer? (such as storyboards)
If your answer is yes, then you can't run it on 4.3.3.
If no, then you can set the minimum required version to 4.3.X (and here's a tutorial you can use).
Here is a related question (and another one) that may help you out a bit more.
IIRC, you can configure the simulator in xCode to emulate an earlier version of iOS so you can confirm whether or not it will work on 4.3.3. Have a look at the build settings for your project, you can change the target O/S. I'm not sure all versions are available by default though. You might need to download other versions to test.
You said you are using ARC. ARC will work with iOS 4.x, but not iOS 3.x. So ARC will not be a problem. Based on everything else you said about not using storyboards and everything being coded, you should be okay. If you click on a method in Xcode it should allow you to bring up the documentation, and in the documentation it will provide the iOS version that it was released for. Make sure that this it iOS 4.3.3 or lower.