1 Reply
      Latest reply on Oct 1, 2019 8:00 AM by eskimo
      svd265 Level 1 Level 1 (0 points)

        With iOS13, Apple is deprecating bunch of classes and properties. Specifically for UIWebVIew Apple has called out that “Apple will stop accepting submissions of apps that use UIWebView”. I am replacing that from the codebase.


        My codebase is also using the other classes and properties as below; Apple has not called out specific ‘stop accepting the submissions’ warning on any of those. I am looking to know if anyone has heard when/if Apple will stop accepting the submission on these.

        While it’s ideal to replace all below as well, team does not have bandwidth to update all below at this time; I want to figure out how much time is available at hand. Any insights will be great.



        1. UIActionSheet
        2. UIActionSheetDelegate
        3. UIWebViewDelegate and classes which implement this delegate
        4. initWithBase64Encoding
        5. MPMoviePlayerViewController
        6. MPMoviePlayerPlaybackDidFinishNotification
        7. interfaceOrientation
        8. CC_MD5
        9. statusBarHidden
        10. keyWindow
        11. openURL
        12. connectionWithRequest
        13. stringByReplacingPercentEscapesUsingEncoding
        14. CFURLCreateStringByAddingPercentEscapes
        15. isStatusBarHidden subscriberCellularProvider
        16. willAnimateRotationToInterfaceOrientation



        • Re: Time available for deprecating classes and properties
          eskimo Apple Staff Apple Staff (13,935 points)

          Apple has not announced a specific timeline for these, and in the absence of such an announcement I can only offer some basic guidelines:

          • Some APIs are deprecated because the underlying concept is deprecated.  For example, MD5 is deeply insecure and you shouldn’t be using it in any modern crypto code.  However, there are existing protocols and file formats that use MD5 and keeping CC_MD5 running is pretty easy, so I expect it’ll stay around for a while.

          • Some APIs are so popular that removing them is very unlikely.  NSURLConnection is a great example; it’s still used by a bazillion apps.  It’s hard to remove APIs like this, but what you will find is that the API might not show up on new platforms or new architectures.  For example, NSURLConnection is not available on watchOS and, to reach back into the history of the Mac, QuickDraw was never made available to 64-bit code.

            In the specific example of NSURLConnection, however, the replacement API, NSURLSession, is much nicer, and so you should probably just make the switch anyway.

          • Some APIs are deprecated because this only make sense in a specific architecture.  For example, anything to do with interface orientation make no sense in the modern iOS landscape, where your app must be able to handle a wide variety of size classes.

          Looking through your list, I see a number of entries where the way forward is obvious.  For example, it’s trivial to fix items 4 and 11.  You should make those changes as soon as possible.

          I also see some examples where the fix will fall out naturally as part of generally modernising your app.  For example, items 7 and 16 will just go away when you support size classes properly.  That’s not a trivial thing to do, so you should schedule it part of your app’s general modernisation efforts.

          Share and Enjoy

          Quinn “The Eskimo!”
          Apple Developer Relations, Developer Technical Support, Core OS/Hardware
          let myEmail = "eskimo" + "1" + "@apple.com"