Like I mentioned in Kerri's discussion re: launch storyboard, the Xcode 6
requirement was an error in the docs unfortunately. We only support what
Xcode was needed to submit to the App Store. We were waiting until Apple
dropped Xcode 6, and we forgot to update the docs. So how do we determine
if Apple drops support for an Xcode version? See: https://developer.apple.
com/library/content/qa/qa1806/_index.html under "Testing Legacy Tool
Here's where it gets tricky:
Xcode 7.3.1 still validates (iOS 9 SDK latest)
Xcode 6.4 still validates (iOS 8 SDK latest)
I used the Hello Cordova app which is pretty barebones so it validates
So using that rule is not foolproof. Here's a better way as a "carrot".
For example, now MPMediaQuery on iOS 10 will ask for permissions before an
app can scan your media library. Previously, you don't need to ask
Enterprising companies might try to build using the iOS 9 or older SDK, or
keep using their old app to try to "get around this". But I suspect it
won't work (I'll double check). It's like how they introduced Contacts
permissions in iOS 9 -- apps built using older SDKs (<= 8) will just
silently fail on an iOS 9 device, so your app is crippled, so it's in your
best interest to upgrade to a newer SDK build.
Note that this is not an Xcode limitation, but a SDK limitation -- usually
to use a newer SDK you need to get the newer Xcode.
On Thu, Sep 15, 2016 at 5:31 PM, Jesse <purplecabb...@gmail.com> wrote:
> +1 to dropping 6 and moving towards 8
> What is apple's required version of xcode for submitting apps to the app
> Does it make sense to always build with the developer cert unless the dev
> specified otherwise? I think there might be cases where I would want to
> run the release build on my own device before submitting it.
> On Thu, Sep 15, 2016 at 1:38 PM, Darryl Pogue <dar...@dpogue.ca> wrote:
> > So Xcode 8 is out, and it simplifies some aspects of code signing, but
> > complicates the process of packaging an app.
> > Currently, cordova-ios will use the "iPhone Developer" certificate when
> > building a debug build, and the "iPhone Distribution" certificate when
> > making a release build. It uses xcrun with the (deprecated)
> > PackageApplication option to bundle up the build into an IPA file.
> > Xcode 8 has automatic provisioning, which means instead of dealing with
> > specifying a bunch of certificate files, you can pretty much just give
> it a
> > team identifier and it will figure things out. With one catch: you need
> > use the "iPhone Developer" certificate. Support for the team identifier
> > build.json has already been added to cordova-ios master.
> > However, in order to make a build in Xcode 8 with automatic provisioning
> > and a distribution certificate, you need to run the xcodebuild archive
> > step, and then an exportArchive step to generate the IPA. This workflow
> > been supported since Xcode 7.
> > Currently, since Cordova uses xcrun PackageApplication, it is packaging
> > a release build with the development certificate. This build cannot be
> > submitted to the App Store.
> > My proposal is for cordova-ios to drop support for Xcode 6 with the xcrun
> > packaging, and start using xcodebuild for archiving and generating the
> > I suppose that would have to wait for a major version bump of
> > unless we detected the Xcode version and kept the old code around
> > conditionally.
> > As part of packaging, we would need to generate a exportOptions.plist
> > indicating what type of build to package (development, enterprise,
> > or app-store). I'd suggest we add a "packageType" or "buildType" field to
> > build.json for specifying this value (with a default of development).
> > I'm happy to start prototyping this on a branch if it sounds like the
> > approach going forward.
> > Related info:
> > https://pewpewthespells.com/blog/migrating_code_signing.html
> > #building-for-distribution-xcode-8
> > https://dpogue.ca/articles/cordova-xcode8.html