Does Apple accept a app with iOS6 SDK by using xcode-5? - ios

Long back I submitted an app by using xocde4.5.2 with iOS 6.1 as base SDK. Now I need give version support for my old application.
I don't have much time to support iOS7 by using xcode-5. After goggling I came to know that, We can fix base SDK to iOS6.1 in xcode-5. I can able to run it on my iOS7 device with iOS6 appearance.
My question is, does apple accept this kind of applications( xocde-5 with iOS6 SDK)?

No. For now all applications should be distributed with iOS 7 SDK support and with new Xcode 5.1.1. if you are uploading through Xcode.

Unfortunately NO Apple will reject your application. On December 17th 2013 Apple made an announcement stating that any application submitted to the Apple App Store Review process from the 1st February 2014 must be submitted using xcode 5 and must be iOS 7 optimized.
You can find this announcement HERE but all it says is
Starting February 1, new apps and app updates submitted to the App Store must be built with the latest version of Xcode 5 and must be optimized for iOS 7. Learn more about preparing your apps by reviewing the iOS Human Interface Guidelines.
So you will need to fix any iOS 7 issues before you submit your application.

Related

Migrate to xcode 9 for swift 2.3 apps

I have an app launched in appstore built on Swift 2.3 using Xcode 8, now apple made Xcode 9 mandatory for new and app updates to store
Is it must to migrate to Xcode 9? have any one submitted swift 2.3 apps to appstore in July?
I think you need to migrate to XCode 9. All iOS app updates submitted to the App Store must be built with the iOS 11 SDK.
iOS 11 delivers innovative features and the redesigned App Store to hundreds of
millions of customers around the world. Your apps can deliver more intelligent,
unified, and immersive experiences with Core ML, ARKit, new camera APIs, new
SiriKit domains, Apple Music integration, drag and drop for iPad, and more.
Starting July 2018, all iOS app updates submitted to the App Store must be
built with the iOS 11 SDK and must support the Super Retina display of
iPhone X.
Reference Upcoming iOS 11 App Update Requirements
If your app is in swift 2.x syntax and now you need to upload you must need to convert first to swift syntax 3 (using xcode 8.x) and then you can open it in xcode 9.x to upload your app
if your app is already live it may be give error or warning like below screenshot

Application Transport Security (ATS) and app submission

I searched online extensively but could not find any concrete/official information on the following questions related to submission of an app affected by ATS.
Q: ATS is applicable only on iOS 9 onward. What happens to older apps (built for iOS 8.x and below) when the device is upgraded to iOS9. Will they have ATS disabled by default or will they stop functioning if they are not ATS compliant?
ANS: Apps built for lower SDKs will opt-out of ATS by default. Was able to verify this using an iOS 9 beta 5 device.(app-dev-forum link)
Will applications that set the global ATS disabler flag (allowarbitraryloads) be admitted to the app store?
After iOS 9 releases, can apps linking to older SDKs can still be submitted to the marketplace? Apple is currently accepting apps with deployment_sdk of iOS 5
After iOS 9 releases, should apps be built with the release version of the SDK?
Q: I heard that if an app is built against beta versions, it will be rejected. Please correct me if I'm wrong.
ANS: Yes. Apps based on beta version of SDKs will get rejected.
Great if you can answer any of the above. I'll compile the answers in this post to make it easy for later reference. Would be great if you add any official links for ref. Any help is really appreciated.
As you said in your updated question, pre-iOS-9 apps are unaffected by ATS, because it only applies to apps linked against the iOS 9 (or later) SDK.
Yes. Disabling ATS globally is fine as long as there's a good reason for doing so.
With iOS 8, I think Apple started requiring apps to be built against the iOS 8 SDK about five months after iOS 8 shipped. So Apple might require you to build against the iOS 9 SDK at some point. Or maybe not. It's anybody's guess.
Yes, iOS apps should be built against the iOS 9 SDK at this point. Linking against the iOS 9 SDK probably won't be required (at least initially), but it is usually a good idea to keep up-to-date.
Yes, you must build against the final iOS 9 SDK version rather than any previous iOS 7 beta SDK.
Some of my answers are based on a personal experience, some on openion and some on documented apple guide lines.
It will not function on iOS 9 device.
From a personal experience. I had live app. that was functionning
perfectly in iOS 8.2 devices and once iOS 8.3 got released and those devices updated the App.
suddenly start crashing.
Set the ATS flag, build with iOS 8 (Xcode 6.X) and submit to the store.
PList is just a text file. It always can have non-recognized items by apple. As we always add values there for 3rd party libraries. I strongly don't think that apple's "current automated checker" will or supposed to check a future flag. and they will function for iOS 9 for the same reason app start crashing on point one!
Yes. Those should include the ATS flag. Otherwise, will be rejected.
Apps that do not perform as advertised by the developer will be
rejected. (2. Functionality 2.3)
NO.
Not applicable to force all developers to update their enviroment.
They only have to add the flag. Apple never did such a sudden
restriction.
True.
Refere to this answer. that shows a screen shot here.

Submitting an app update using the iOS6 SDK

I have inherited an app that is built against the iOS6 SDK. There are numerous UI bugs when building against the iOS7 or 8 SDKs.
I understand that as of Feb 1, 2014 Apple is no longer accepting submissions for apps that are built against iOS6.
My question is, does this rule include updates or is the rule just for brand new apps?
I will probably update the app to the latest SDK, but still currently weighing up my options.
The announcement text was:
Starting February 1, new apps and app updates submitted to the App
Store must be built with the latest version of Xcode 5 and must be
optimized for iOS 7. Learn more about preparing your apps by reviewing
the iOS Human Interface Guidelines.
So unfortunately you'll have to update the app in order to submit any changes.

Lowest permitted base SDK for App Store submissions

I'd like to know if Apple states the lowest permissible base SDK for submission to the iOS App Store. There was a statement somewhere around 2010 that said you need to use at least SDK 4, but i cannot find this any longer.
Now, before you jump me, I always build against the latest base SDK. The reason i ask this question is because i want facts to counter some customer requests.
Apple seems to have never explicitly required any Base SDK above iOS 3.0 as far, as far I can find, today, either in their app submission guidelines or any official developer email. Thus, there likely is no such link as you require. However there are many indirect hints.
As of 2013-May-01, Apple indirectly requires a Base SDK of 6.0 for submitting iPhone apps by requiring 4" display support and no longer approving any apps where 4" support was added using any Base SDK lower than 6.0 (that latter stated in their enrolled developer forums, login required). This requirement may or may not apply to iPad-only apps, where Apple might still allow submission using a Base SDK of 5.1.
There is a statement (in their enrolled developer forums, login required) from an Apple employee that currently a Base SDK of 7.0 or higher is not required for app submission, but with no date given as to when this may or may not change.
Note that if a developer uses an SDK lower than 7.0 to build an app, they still need to test the app on a iOS 7.x device or risk rejection by Apple if the app fails to run properly on such a device.
The Deployment Target of an app can get set to a much lower OS version. But an iOS Base SDK of 6.0 lacks armv6 support, and thus doesn't allow XCode to build an app with a Deployment Target lower than 4.3 where armv6 support is required.
You should always use the latest SDK as Base SDK whenever possible. If you set the deployment target to a lower SDK, your app will run on device with previous SDK version.
Starting from XCode 4.5 (and also in XCode 5) iOS 4.3 is the lowest available SDK for deployment target. You have no way to submit new App on the App Store running on SDK lower than 4.3.
To answer the initial question, Apple seem to still accept application compiled with SDK 6.0 ( at least a few weeks ago).
Apple has recently announced that as of March 27, 2019, you will have to have a base SDK of 12.1:
Upcoming App Store Submission Requirements
March 20, 2019
iOS 12 is now running on more than 80% of devices worldwide. Make sure your app delivers a great user experience by seamlessly integrating with the latest advances in iOS. Starting March 27, 2019, all new apps and app updates for iPhone or iPad, including universal apps, must be built with the iOS 12.1 SDK or later and support iPhone XS Max or the 12.9-inch iPad Pro (3rd generation). Screenshots for these devices will also be required. All new apps and app updates for Apple Watch will need to be built with the watchOS 5.1 SDK or later and support Apple Watch Series 4.
Understanding Changes in Memory Accounting
iOS 12 and tvOS 12 require apps to use memory far more efficiently than before. If you have difficulty reducing your app’s memory requirements, contact us to request an entitlement for your app to use iOS 11-style memory accounting.

Will Apple reject our app if I support iOS 3.x?

I'm aware that if I build our app on Xcode 4.5, We won't be able to submit our app to the App Store not to mention we won't even be able to run the thing on the device with iOS3.x.
Not what I want to clarify is that, if we decided to still support iOS3.x do we just use Xcode 4.3 or any Xcode lower than 4.5 and voila I can submit it to the app store and Apple won't give a care and approve the app if it supports iOS3.x or not since it was built using a lower version of Xcode?
As long as you provided an iPhone 5 screenshot, you should be able to submit app that backward supports iOS 3.x .
But why do you want to support iOS 3.x ? Not many devices are using this iOS version .

Resources