Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9011A10502 for ; Thu, 1 May 2014 17:03:41 +0000 (UTC) Received: (qmail 2179 invoked by uid 500); 1 May 2014 17:03:41 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 2149 invoked by uid 500); 1 May 2014 17:03:41 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 2141 invoked by uid 99); 1 May 2014 17:03:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 May 2014 17:03:40 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of shazron@gmail.com designates 209.85.216.179 as permitted sender) Received: from [209.85.216.179] (HELO mail-qc0-f179.google.com) (209.85.216.179) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 May 2014 17:03:36 +0000 Received: by mail-qc0-f179.google.com with SMTP id x3so310078qcv.38 for ; Thu, 01 May 2014 10:03:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=WqKCXDPNxZJchzonqRhmJBtdyPsPEedqdNoYBF6SSCY=; b=sDTipuGUNoq+IzLb0LAogjZ9dlMiduCmyusPSz3RgzlIt5qlIrmpvbn7XP8F6hmhKH 87pta+YQdchQ4vNq3POD3g60SNctu3MZ5YGsS68FQlC89HU0YPFVgCwegRc5Yg4pn0kG ko7slBaCGbniy30EeUKxEkd2c98BY1oxux9GFeY9Kl0ji4Nk/6mAGcWeaIwgehg8BuO4 f9dV3Md7EWemwuah4v7kLWDCWQV2UytXddEJ40GN317+NTtjEWJ2mdJX8vLgFQFdoFPD xHik/O9HJz76gJZeSklbi2P3aqH9scclQCK0TtC4dktF12rZnFmr/9+TNhj8s7EziSbH 3gpA== X-Received: by 10.224.26.71 with SMTP id d7mr14881130qac.29.1398963796045; Thu, 01 May 2014 10:03:16 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.29.2 with HTTP; Thu, 1 May 2014 10:02:35 -0700 (PDT) In-Reply-To: References: From: Shazron Date: Thu, 1 May 2014 10:02:35 -0700 Message-ID: Subject: Re: [ios] plugin os version support To: "dev@cordova.apache.org" Content-Type: multipart/alternative; boundary=089e0149c5101df87504f859a4ec X-Virus-Checked: Checked by ClamAV on apache.org --089e0149c5101df87504f859a4ec Content-Type: text/plain; charset=UTF-8 I agree that is the eventual goal, and that it is definitely not trivial. Right now it's definitely based on the min version only of course. Here's how the CLI handles the engine tag: 1. https://github.com/apache/cordova-plugman/blob/8aca4cb5b1a8012aa23ba05386d10cb59b3b4817/src/util/default-engines.js 2. https://github.com/apache/cordova-plugman/blob/8aca4cb5b1a8012aa23ba05386d10cb59b3b4817/src/install.js#L186-L200 I haven't tested the impact of this change in several scenarios, I'll make sure to document and report my results if they are significant before making any changes. On Thu, May 1, 2014 at 5:59 AM, Ian Clelland wrote: > How would the CLI tools use this information? These sorts of dependencies > are tricky, and involve: > * The minimum version of iOS required to build cordova (depends on when > the APIs used were introduced) > * The maximum version of iOS supported by cordova (depends on when the > APIs used were deprecated) > * The corresponding min and max versions for the plugin > * The versions of iOS that the developer *can* build for > * The version that the developer actually *wants* to build for. > * Oh, and also the regular plugin/engine dependencies > > Really, the information that we have available is the minimum iOS versions > required for cordova-ios and for the plugin. (We don't know the maximum > version until long after the code has been released, but it's at least as > important) > > We don't have information (currently) about what versions of iOS the user > *can* compile for, nor (maybe more importantly) what version they *want* to > compile for. > > Cordova-ios 3.4.1 *supports* iOS 6 and 7. Applications built with just > cordova *require* iOS 6. > > That doesn't mean that a plugin that supports iOS 5 won't work; it also > doesn't mean that a plugin that requires iOS 7 won't work, for a particular > app. And who knows about iOS 7.2, or 8? > > If our tools could support it, this is what I'd *love* to see: > * A way to declare in plugins a min and (optional) max iOS version, in > plugin.xml > * A way to specify the ios target version when creating a project, that > would live in config.xml > * A CLI that could download the right version of cordova-ios to match > that version > * A plugman that could find and download the *appropriate* version of a > plugin, or complain if one wasn't available. > > We're quite a long way from that today, but I'd love to get there. > > Ian > > On Wed, Apr 30, 2014 at 8:54 PM, Shazron wrote: > > > Another motivation is to actually use it ourselves and bring light to > this > > feature which is underused. Inevitably there will be iOS 7 only plugins. > > Eventually we will support only iOS 7 and 8 only, etc > > > > On Wednesday, April 30, 2014, Shazron wrote: > > > > > It's also informational - so it has some value for plain human eyes > > > (browsing the registry for example) vs automatons > > > > > > On Wednesday, April 30, 2014, Michal Mocny > > > > > wrote: > > > > > >> Why do we need to do that? > > >> > > >> If the cordova-ios template support iOS 6+, don't we only need to > update > > >> the cordova engine requirements? If you are using an older > cordova-ios > > >> platform (that still supported iOS5), then would you be using a CLI > that > > >> understood apple-ios engine tag? > > >> > > >> -Michal > > >> > > >> > > >> On Wed, Apr 30, 2014 at 4:54 PM, Shazron wrote: > > >> > > >> > I agree of course, now comes the part where we add the "apple-ios" > key > > >> into > > >> > the engines tag for all plugins. We can add 6.0 for everything or > > >> actually > > >> > test whether it actually needs 6.0 (more work, requires testing with > > an > > >> > older Cordova version, and Xcode version that has the iOS 5 SDK....) > > >> > > > >> > > > >> > On Wed, Apr 30, 2014 at 1:47 PM, Michal Mocny > > >> wrote: > > >> > > > >> > > https://developer.apple.com/support/appstore/ > > >> > > > > >> > > iOS <6 = 2%. That meets the criteria we've used in the past.. > > >> > > > > >> > > > > >> > > On Wed, Apr 30, 2014 at 4:13 PM, Shazron > wrote: > > >> > > > > >> > > > With 3.4.0, the default template only supports iOS 6.0 and up. I > > >> know > > >> > > that > > >> > > > plugins can specify iOS support (apple-ios key in engines tag) > but > > >> we > > >> > > > haven't done it yet. I'm not even sure if the cli plugin > installer > > >> > checks > > >> > > > for this yet. > > >> > > > > > >> > > > Should we start using this in core plugins? > > >> > > > > > >> > > > A specific case is this PR: > > >> > > > https://github.com/apache/cordova-plugin-camera/pull/24 > > >> > > > It is using [ALAssetsLibrary authorizationStatus] and that API > > only > > >> > > occurs > > >> > > > in iOS 6.0 and up. > > >> > > > > > >> > > > Wrapping this in a runtime os version check is not hard, however > > >> > > > (IsAtLeastVersion macro). > > >> > > > > > >> > > > > >> > > > >> > > > > > > --089e0149c5101df87504f859a4ec--