Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: iOS
    • Labels:
      None

      Description

      Support iOS 4.2 going forward (in 1.4?) since it offers the most features built-in to the UIWebView: http://www.mobilexweb.com/blog/safari-ios-accelerometer-websockets-html5
      On the native Objective-C side, supporting iOS 4 will also allow us to use blocks http://pragmaticstudio.com/blog/2010/7/28/ios4-blocks-1 which is a fundamental technology used in all of their framework APIs since iOS 4

      Risk factors:

      • Plugin problems - plugins using blocks in native code cannot be used on iOS 3. This can be mitigated with support for PhoneGap versions (as well as built in macros for iOS versions) in pre-processor macros, so this can be conditionally compiled. This can be solved with versioning in our future proposed plugin packaging
      • Possibly maintaining a iOS 3.x branch at the last iOS 3.x supported PhoneGap version for bug fixes – for those that want to still use that version – don't really want to do this though

      We stopped iOS 2.x support when iOS 4.x came out (thus, we usually only supported one version back from the current OS version).

      [iPhone]
      The oldest iPhone to have iOS 4.2 support is the iPhone 3G (released July 2008 - 3+ yrs old, discontinued). Current iPhone is the 4S, 3 models ahead.
      [iPod Touch]
      The oldest iPod Touch to have iOS 4.2 support is the iPod Touch 2nd Generation (released Sep 2008 - 3+ yrs old, discontinued). Current iPod Touch is the 4th Gen, 2 models ahead.
      [iPad]
      The oldest iPad to have iOS 4.2 support is the iPad 1 (released April 2010, 1+ yrs old, reportedly discontinued). Current iPad is the iPad 3rd Generation, 2 models ahead.

      Essentially, we would drop device support for these models: original iPhone and iPod Touch 1st Generation

        Issue Links

          Activity

          Show
          Shazron Abdullah added a comment - Fix commits - http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/7841ae6a
          Hide
          Shazron Abdullah added a comment -

          I just tested the 1.5.0 code, it definitely crashes during runtime for an iOS 3 device right now because of some iOS 4 code, namely registering for pause/resume lifecycle events that we didn't guard for, for devices < iOS 4.

          The fix is to guard the affected code using this:

          NSString* systemVersion = [[UIDevice currentDevice] systemVersion];
          BOOL isLessThaniOS4 = ([systemVersion compare:@"4.0" options:NSNumericSearch] == NSOrderedAscending);
          if (!isLessThaniOS4) {
             // do your thing!
          }
          

          But I'm wondering if this is worth it since we are moving away from iOS 3.

          Show
          Shazron Abdullah added a comment - I just tested the 1.5.0 code, it definitely crashes during runtime for an iOS 3 device right now because of some iOS 4 code, namely registering for pause/resume lifecycle events that we didn't guard for, for devices < iOS 4. The fix is to guard the affected code using this: NSString* systemVersion = [[UIDevice currentDevice] systemVersion]; BOOL isLessThaniOS4 = ([systemVersion compare:@ "4.0" options:NSNumericSearch] == NSOrderedAscending); if (!isLessThaniOS4) { // do your thing! } But I'm wondering if this is worth it since we are moving away from iOS 3.
          Hide
          Shazron Abdullah added a comment - - edited

          A "pro" argument - "iOS 4+ adoption, now at 98.8%, is so ubiquitous that it’s very safe to require it" (Instapaper - which already requires 4.2, see footnote 1): http://www.marco.org/2011/11/30/more-ios-device-and-os-version-stats-from-instapaper

          Also Matt Gemmell articulates it better as well (only current and previous version):
          http://mattgemmell.com/2011/12/05/latest-version/

          Show
          Shazron Abdullah added a comment - - edited A "pro" argument - "iOS 4+ adoption, now at 98.8%, is so ubiquitous that it’s very safe to require it" (Instapaper - which already requires 4.2, see footnote 1): http://www.marco.org/2011/11/30/more-ios-device-and-os-version-stats-from-instapaper Also Matt Gemmell articulates it better as well (only current and previous version): http://mattgemmell.com/2011/12/05/latest-version/

            People

            • Assignee:
              Shazron Abdullah
              Reporter:
              Shazron Abdullah
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development