Want to change Xcode Project from iOS 6.1 to iOS 7 - ios

i created an iPhone app in Xcode 4.6.1 which supports only up to iOS 6.1. i want to run the app in iOS 7. is that possible? thank you.

iOS 6 apps run on iOS 7 devices. If you want to "convert" just launch the app in xcode 5 and it will ask if you want to migrate to iOS 7, say yes to do so. If you do, you won't be able to take the app back to iOS 6 and xcode 4.
Personally I haven't launched on xcode 5 because there are bugs with it and crashes often

Yes. It is definitely possible.
When you open your Storyboard or .XIB file, Xcode 5 will prompt you if you want to upgrade your User Interface to iOS 7 style. You can choose to ignore that. And your app will run as is on the iOS Simulator.
Hope this helps.

New operating systems (iOS 7) are written as to add new features, while still running programs written in older operating systems, provided the old operating systems are not VERY old, or problems might happen. An iPhone with iOS 7 will run the iOS 6 program, while an iOS 6 phone would not run a program written for iOS 7. You say you wrote the program to support "up to iOS 6.1" - that is probably not precise. Your program supports from 6.1 UPWARDS ;). A phone with iOS 5 would not run your program. In other words, when you set your support to 6.1, it doesn't mean your code will be supported by all iOS's up to 6.1, but that your code can only be supported by 6.1 and up.

Related

Xcode 8 no support iOS 7

I've upgraded my Xcode to Xcode 8. Now I notice that I cannot run/debug on an iPhone with iOS 7.n.n. I've have read that it isn't supported in Xcode 8. I do know that my app will still work on iOS 7, but if something fails I would like to hang it on Xcode to debug it. So my question is:
Do I still get the bug fixes/improvement that were introduced in iOS 10 when submitting my app with a base sdk setting of iOS 9.3?
Xcode 8 (or even Xcode 7) doesn't include support for iOS 7 simulator, which is what I think you're really asking about.
To pick up the new iOS 10 SDK changes, link against the iOS 10 SDK and then set your target's minimum deployment version to iOS 7.
If you were using analytics, chances are very high that you'll find the number of iOS 7 using customers is incredibly low.
Do I still get the bug fixes/improvement that were introduced in iOS 10 when submitting my app with a base sdk setting of iOS 9.3?
No, of course not. If you do that, you are still an iOS 9 app. You must link against iOS 10 if you want to run natively under iOS 10.
However, you can do that and still be backward compatible to iOS 7. And you can easily test on an iOS 7 device, so the change to Xcode 8 does you no harm.

Do I need iOS 9 or higher to test an app on an iPhone without a developer program plan?

I can download the latest Xcode, but must I also be running at least iOS 9 to be able to develop an app and run it on my device without being a member of the developer program? I've got an iPhone 4 which cannot be upgraded any further from iOS 7.1.2.
My question is answered here: https://forums.developer.apple.com/thread/52904
No, I don't need iOS 9 as there is probably nothing on the iOS side preventing from using free provisioning. Xcode 7.3.1 supports iOS down to version 6, meaning I could test an app for free on a device with iOS 6.0.

Using Xcode 7 to develop apps for iOS 6 and iOS 7

I'd like to use Xcode 7 when it's released to develop apps for i-devices running iOS 7 or even iOS 6. Is this possible? ... I know
I'll need to use Objective-C; Swift code generally requires devices be running iOS 8 (or at least iOS 7).
I know each version of iOS brings new capabilities (and code that is not backwards compatible).
I'm planning pretty basic apps (I'm very much a beginner), and I'm assuming apps are forward compatible, e.g., if it runs OK on an iOS 6 iPhone 4S then it'll be OK on an iOS 8 iPhone 4s. What I don't know are settings, options, etc. I should set in the Xcode IDE to assure my code will compile and run on all OS's >=6 or 7. What, if anything, do I need to do when starting a project other than setting the Deployment Target to be iOS 6 or 7?
After you create the project in your target settings you need to choose deployment target 6.0
Then in your build setting you need to make sure you choose correct architectures that supports 32 bits and 64 bit processor.
If you are going to use storyboards you need to make sure that you dont rely on Auto Layout feature because that is ios 7 and later versions.

Use pre-iOS 7 look and feel on iOS 7

How is it possible to use your pre-iOS 7 look and feel for your app? I just upgraded to iOS 7 and I have some apps on the phone that are still using the pre-iOS 7 look and feel. For instance one app is using the old UIPickerView look but it's running on iOS 7.
When I tested running the app that I am developing on the iOS 7 simulator it's using the new UIPickerView "automatically" without me doing any changes.
So I'd rather that my app uses the pre-iOS 7 look and feel until I have upgraded my app for iOS 7.
Here's an image of running Checkmark on iOS 7, you can clearly see it's using the pre iOS 7 keyboard:
That's rather simple: You have to build your app using the iOS6 SDK. iOS 7 detects older apps by checking the SDK against which the app was linked.
You can switch "Base SDKs" in Xcode by selecting the target, switch to the build settings tab, and find the "Base SDK" build setting under "Architecture".
If you don't have an older SDK you may need to use an older version of Xcode (4.6). Rob Napier describes here how to point a newer Xcode to older SDKs.
Note that while many UI elements retain their iOS 6 look, some don't (UIAlertView, UIActionSheet).
If you're using the standard UI components you're going to automatically get the new style on iOS 7, there's no way I've come across to force them to appear as they would in iOS 6. The only way you're going to be able to have them appear as iOS 6 elements is to build custom elements and style them yourself, however there's a risk in doing that that when you submit to Apple they'll reject on the basis of breaking the HIG.
On a device running iOS 7, all of the system UI—such as alerts and notifications—uses the iOS 7 appearance, even if your app is currently using an earlier appearance.
From Apple transition guide:
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TransitionGuide/SupportingEarlieriOS.html#//apple_ref/doc/uid/TP40013174-CH14-SW1
Not only do you need to build your app using iOS 6 SDK or earlier, you need to use Xcode 4.6 or earlier. I just went through all of this and targeting iOS 6 SDK from Xcode 5 is just not enough.
Luckily you can dual install both versions of Xcode. Just download Xcode 4.6 and drop it in your Applications Folder and rename is to something else

Making iOS 6 apps with an iOS 7 beta device

This may seem an odd question but bear with me. I am all excited to try out iOS 7 beta, however I am developing an app that will be complete before iOS 7 comes out to the public.
So can I install iOS 7 on my device, and then develop and publish my app for iOS 6? Or would I need to downgrade to iOS 6 to develop my app and release it in the next few weeks?
I should add I want to do this because I only have one device.
You cannot release an app that has been built, compiled, or created with the pre-release SDKs and Tools. That means you can't release an app built with iOS 7 SDK features in Xcode 5 until Apple gives the green light for submission. (EDIT: iOS 7 is now public, but this will apply to any future betas - including iOS 7.1 and onward).
On the other hand, testing your app on a beta device is OK. It's not a good idea to test your iOS 6 app on iOS 7, but it will work. You can install iOS 7 beta on your device, but first think about your users. You'll want to test your app in the environment that your users will be using it in.
If you do upgrade to iOS 7 on your one and only device, you'll be stuck with the iOS Simulator - which is very very far from recommended. You can't downgrade or restore to an earlier iOS version from iOS 7.
If you are using the beta version of XCode, be sure to set the target to iOS 6, not iOS 7. When you target a version of iOS, that's the minimum version. You can run an app targeted for iOS 6 on iOS 7.
When you target iOS 6, the compiler will prevent you from including features that require iOS 7.
Still, for testing purposes, you'll want to test on a device with the latest released version. iOS 7 may have bug fixes that iOS 6 does not, so your app may run fine on iOS 7 but have bugs when run on iOS 6. Also, there may be performance differences.
You should test on both the simulator and an actual device, however if you want to risk it, the worst that will happen is your app may be rejected.
Theroretically you should not be able to run an app from Xcode 4 on an iOS 7 device. I was able to do this however, but I'm not sure why. Try deploying your app with Xcode 5 and then redeploy it with Xcode 4. In my case Xcode 4 would deploy to an iOS 7 device if the app is already installed (including all profiles).

Resources