Can I submit an app supporting iOS 7.0? - ios

Recently I tried to upload my app that supports iOS 7, but iTunes Connect rejected that. So, I tried to change the supported version to iOS 8.0+, it worked.
Is iOS 7 dead? I need to support version 7.0.
Could you help me?

If you want to support iOS 7 users, you can set the minimum deployment target to iOS 7. You need to take great care though that iOS 7 users aren't executing iOS 8 code. You should read up on Configuring a Project for SDK-based development.
FWIW, 82% of users right now are using iOS 8.

The simple answer is "yes". My app supports iOS 7.0 and up at the moment, no problems at all.

You can support ios 7. You have to set your architecture for both 32 bit and 64 bit and you need to take care of your code. You code should work on both os. Apple has changed many classes for ios 8. Set your build architecture and your minimum deployment target.

Related

Upload app using old version of Xcode. Will the app be available on iOS 10 devices?

I don't want to update to Xcode 8 after hearing that people got problems withcocoa pods. I know that I have to eventually, but what I wonder is if I can upload an app to the App store using Xcode 7 and Swift 2.3 and still have it available for iOS 10 users?
Fortunately Yes
It will be applicable for all devices. Because you set Minimum Target, Not maximum.
So it will be run above the version, you set as target.
Yes! You can upload your application using Xcode 7.x (or below) and it will be available for iOS 10 users.
The Deployment Target is the determinant (minimum)

iOS App's on Device with xCode6.4 and xCode7 beta

i want add a Comment to these Answer,Test iOS app on device without apple developer program or jailbreak but i don't have 50 comments :(
I want to know if is possible that I install xCode7 beta, than go back to xCode6.4 and start from xCode6.4 my App on my device? I have problems with the convert from my projects from xCode6.4 in xCode7. I hope someone can help me. I can start the Apps from xCode7 on my device without problems :) but i need the code from xCode6.4...
Please Help me...
Greetz
Xcode is only an IDE you use. In general, an IDE could switch freely.
BUT with IOS development you always work against a Base SDK that defines the abilities of the apple frameworks.
Now Xcode 7 comes with IOS SDK 9
Xcode 6 comes with IOS SDK 8
So Switching between Versions of Xcode also switches the base sdk (unless otherwise configured)
--> your app may behave differently with different base sdks. If that is acceptable though OR you don't see any change THEN switching is no issue
I switch all the time :)
EDIT: just saw the swift 2 tag. That is not supported in Xcode 6 so you can't switch

Can I add iOS 7 support to an app that was released as an iOS 8 app only

I've been searching through documentation for a while and I can't really find it. My question is very simple:
If I submit an app that works on iOS 8 only, will I be able to add a iOS 7 support with an update?
Thanks!
Yes, this is possible. You need to do the following:
Go to your project target's settings "General -> Deployment Info -> Deployment Target" to iOS 7.x.
Test your application on iOS 7.x device and make sure your application is not crashing and working as expected. If there are iOS
8.x only API's used in your code, you need to switch to API's for iOS 7.x at runtime.
Note: Since you are about to add the support for iOS 7.x, avoid using the deprecated API's. This will save your life later on when these deprecated API's are gone.

Supporting Both iOS 7 and iOS 8 With the Use of AutoLayout and Apple's Requirement

iOS 8 launches my first experience with two OS's available in the market to support as my first app came out for iOS 7 only, in December of 2013.
As I'm quite new to this experience, I wanted to ask for the best way forward with this. I'm sure that a fair amount of my users are on iOS 7 but there will be a lot on iOS 8. The app works really well on both iOS 7 and 8 thus far, but I'm now updating it for the iPhone 6 resolution and features like widgets and Touch ID.
Can I support both iOS 7 and iOS 8 from Xcode 6? If so, how would I do this?
For example, when I select iOS 8 as the Deployment Target, I'm getting warnings from depreciated methods with iOS 7 which is fine. However, what do I do about that?
In the code where the warnings are appearing, if I change it to the iOS 8 methods, how would that work on iOS 7 devices with code that's not used for iOS 7? If I switch back to iOS 7, I'm getting warnings "Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0", so something with AutoLayout has messed up on the storyboard.
Also, with Apple's iOS 8 requirements for apps by Feb 2015 (https://developer.apple.com/news/?id=10202014a), does that mean my app has to be iOS 8 only support?
My questions are basically asking for what's the best way forward. Should I just make everything iOS 8 and make sure the users are required to update their OS before upgrading?
Any advice on this would be really helpful and appreciated.
Thanks,
First of all if you set the Deployment Target to 8, you raise your minimum SDK level to 8.0, so no one with iOS7 will be able to run the new version of your app. So back to 7.0 with that.
What you need to do is to use in-code logic to detect which iOS the user is running and provide the best user experience.
There are a number of ways to achieve this, like testing against respondsToSelector, checking the iOS version ([[UIDevice currentDevice] systemVersion]) or using macros

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

Resources