interceptApplication(_:didFinishLaunchingWithOptions:)' is deprecated










1















Just upgrade AWSMobileClient from 2.6.8 to 2.7.0 and see the following line of warning message:




'interceptApplication(_:didFinishLaunchingWithOptions:)' is deprecated: This method will be removed in the next minor version. Please update to use AWSMobileClient using initialize. Please visit https://aws-amplify.github.io for the latest iOS documentation.




func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?) -> Bool
return AWSMobileClient.sharedInstance().interceptApplication(
application, didFinishLaunchingWithOptions:
launchOptions)



It is not obvious to me what we should change interceptApplication to. There is indeed a initialize function. Should we just put that in application(didFinishLaunchingWithOptions: ) and return true always?



func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?) -> Bool

AWSMobileClient.sharedInstance().initialize (userState, error) in
// ...


return true










share|improve this question


























    1















    Just upgrade AWSMobileClient from 2.6.8 to 2.7.0 and see the following line of warning message:




    'interceptApplication(_:didFinishLaunchingWithOptions:)' is deprecated: This method will be removed in the next minor version. Please update to use AWSMobileClient using initialize. Please visit https://aws-amplify.github.io for the latest iOS documentation.




    func application(_ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions:
    [UIApplication.LaunchOptionsKey: Any]?) -> Bool
    return AWSMobileClient.sharedInstance().interceptApplication(
    application, didFinishLaunchingWithOptions:
    launchOptions)



    It is not obvious to me what we should change interceptApplication to. There is indeed a initialize function. Should we just put that in application(didFinishLaunchingWithOptions: ) and return true always?



    func application(_ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions:
    [UIApplication.LaunchOptionsKey: Any]?) -> Bool

    AWSMobileClient.sharedInstance().initialize (userState, error) in
    // ...


    return true










    share|improve this question
























      1












      1








      1


      0






      Just upgrade AWSMobileClient from 2.6.8 to 2.7.0 and see the following line of warning message:




      'interceptApplication(_:didFinishLaunchingWithOptions:)' is deprecated: This method will be removed in the next minor version. Please update to use AWSMobileClient using initialize. Please visit https://aws-amplify.github.io for the latest iOS documentation.




      func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions:
      [UIApplication.LaunchOptionsKey: Any]?) -> Bool
      return AWSMobileClient.sharedInstance().interceptApplication(
      application, didFinishLaunchingWithOptions:
      launchOptions)



      It is not obvious to me what we should change interceptApplication to. There is indeed a initialize function. Should we just put that in application(didFinishLaunchingWithOptions: ) and return true always?



      func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions:
      [UIApplication.LaunchOptionsKey: Any]?) -> Bool

      AWSMobileClient.sharedInstance().initialize (userState, error) in
      // ...


      return true










      share|improve this question














      Just upgrade AWSMobileClient from 2.6.8 to 2.7.0 and see the following line of warning message:




      'interceptApplication(_:didFinishLaunchingWithOptions:)' is deprecated: This method will be removed in the next minor version. Please update to use AWSMobileClient using initialize. Please visit https://aws-amplify.github.io for the latest iOS documentation.




      func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions:
      [UIApplication.LaunchOptionsKey: Any]?) -> Bool
      return AWSMobileClient.sharedInstance().interceptApplication(
      application, didFinishLaunchingWithOptions:
      launchOptions)



      It is not obvious to me what we should change interceptApplication to. There is indeed a initialize function. Should we just put that in application(didFinishLaunchingWithOptions: ) and return true always?



      func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions:
      [UIApplication.LaunchOptionsKey: Any]?) -> Bool

      AWSMobileClient.sharedInstance().initialize (userState, error) in
      // ...


      return true







      amazon-web-services






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 12 '18 at 2:55









      Yuchen ZhongYuchen Zhong

      12.1k788132




      12.1k788132






















          1 Answer
          1






          active

          oldest

          votes


















          0














          I too have have experienced the same issue this week. In the latest documentation, specifically the initialization section you will see it says:




          Open the AppDelegate of your Xcode project, or optionally in your View Controller viewDidLoad() and invoke the initialize routine




          So what I did is go to AppDelegate and replace:



          return AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)


          With:



          return true


          Then in viewDidLoad in your main UIViewController call the initialization routine as per the docs:



          import AWSMobileClient

          override func viewDidLoad()
          super.viewDidLoad()

          AWSMobileClient.sharedInstance().initialize (userState, error) in
          if let userState = userState
          print("UserState: (userState.rawValue)")
          else if let error = error
          print("error: (error.localizedDescription)")





          You will then be able to use the new user state listener for your app's auth logic:



          AWSMobileClient.sharedInstance().addUserStateListener(self) (userState, info) in
          switch (userState)
          case .guest:
          print("user is in guest mode.")
          case .signedOut:
          print("user signed out")
          case .signedIn:
          print("user is signed in.")
          case .signedOutUserPoolsTokenInvalid:
          print("need to login again.")
          case .signedOutFederatedTokensInvalid:
          print("user logged in via federation, but currently needs new tokens")
          default:
          print("unsupported")




          And you can now also use getTokens:



          AWSMobileClient.sharedInstance().getTokens (tokens, error) in
          if let error = error
          print("Error getting token (error.localizedDescription)")

          else if let tokens = tokens
          print("id token: (tokens.idToken!.tokenString!)")
          print("access token: (tokens.accessToken!.tokenString!)")




          Hopefully that helps!






          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53255416%2finterceptapplication-didfinishlaunchingwithoptions-is-deprecated%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            I too have have experienced the same issue this week. In the latest documentation, specifically the initialization section you will see it says:




            Open the AppDelegate of your Xcode project, or optionally in your View Controller viewDidLoad() and invoke the initialize routine




            So what I did is go to AppDelegate and replace:



            return AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)


            With:



            return true


            Then in viewDidLoad in your main UIViewController call the initialization routine as per the docs:



            import AWSMobileClient

            override func viewDidLoad()
            super.viewDidLoad()

            AWSMobileClient.sharedInstance().initialize (userState, error) in
            if let userState = userState
            print("UserState: (userState.rawValue)")
            else if let error = error
            print("error: (error.localizedDescription)")





            You will then be able to use the new user state listener for your app's auth logic:



            AWSMobileClient.sharedInstance().addUserStateListener(self) (userState, info) in
            switch (userState)
            case .guest:
            print("user is in guest mode.")
            case .signedOut:
            print("user signed out")
            case .signedIn:
            print("user is signed in.")
            case .signedOutUserPoolsTokenInvalid:
            print("need to login again.")
            case .signedOutFederatedTokensInvalid:
            print("user logged in via federation, but currently needs new tokens")
            default:
            print("unsupported")




            And you can now also use getTokens:



            AWSMobileClient.sharedInstance().getTokens (tokens, error) in
            if let error = error
            print("Error getting token (error.localizedDescription)")

            else if let tokens = tokens
            print("id token: (tokens.idToken!.tokenString!)")
            print("access token: (tokens.accessToken!.tokenString!)")




            Hopefully that helps!






            share|improve this answer



























              0














              I too have have experienced the same issue this week. In the latest documentation, specifically the initialization section you will see it says:




              Open the AppDelegate of your Xcode project, or optionally in your View Controller viewDidLoad() and invoke the initialize routine




              So what I did is go to AppDelegate and replace:



              return AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)


              With:



              return true


              Then in viewDidLoad in your main UIViewController call the initialization routine as per the docs:



              import AWSMobileClient

              override func viewDidLoad()
              super.viewDidLoad()

              AWSMobileClient.sharedInstance().initialize (userState, error) in
              if let userState = userState
              print("UserState: (userState.rawValue)")
              else if let error = error
              print("error: (error.localizedDescription)")





              You will then be able to use the new user state listener for your app's auth logic:



              AWSMobileClient.sharedInstance().addUserStateListener(self) (userState, info) in
              switch (userState)
              case .guest:
              print("user is in guest mode.")
              case .signedOut:
              print("user signed out")
              case .signedIn:
              print("user is signed in.")
              case .signedOutUserPoolsTokenInvalid:
              print("need to login again.")
              case .signedOutFederatedTokensInvalid:
              print("user logged in via federation, but currently needs new tokens")
              default:
              print("unsupported")




              And you can now also use getTokens:



              AWSMobileClient.sharedInstance().getTokens (tokens, error) in
              if let error = error
              print("Error getting token (error.localizedDescription)")

              else if let tokens = tokens
              print("id token: (tokens.idToken!.tokenString!)")
              print("access token: (tokens.accessToken!.tokenString!)")




              Hopefully that helps!






              share|improve this answer

























                0












                0








                0







                I too have have experienced the same issue this week. In the latest documentation, specifically the initialization section you will see it says:




                Open the AppDelegate of your Xcode project, or optionally in your View Controller viewDidLoad() and invoke the initialize routine




                So what I did is go to AppDelegate and replace:



                return AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)


                With:



                return true


                Then in viewDidLoad in your main UIViewController call the initialization routine as per the docs:



                import AWSMobileClient

                override func viewDidLoad()
                super.viewDidLoad()

                AWSMobileClient.sharedInstance().initialize (userState, error) in
                if let userState = userState
                print("UserState: (userState.rawValue)")
                else if let error = error
                print("error: (error.localizedDescription)")





                You will then be able to use the new user state listener for your app's auth logic:



                AWSMobileClient.sharedInstance().addUserStateListener(self) (userState, info) in
                switch (userState)
                case .guest:
                print("user is in guest mode.")
                case .signedOut:
                print("user signed out")
                case .signedIn:
                print("user is signed in.")
                case .signedOutUserPoolsTokenInvalid:
                print("need to login again.")
                case .signedOutFederatedTokensInvalid:
                print("user logged in via federation, but currently needs new tokens")
                default:
                print("unsupported")




                And you can now also use getTokens:



                AWSMobileClient.sharedInstance().getTokens (tokens, error) in
                if let error = error
                print("Error getting token (error.localizedDescription)")

                else if let tokens = tokens
                print("id token: (tokens.idToken!.tokenString!)")
                print("access token: (tokens.accessToken!.tokenString!)")




                Hopefully that helps!






                share|improve this answer













                I too have have experienced the same issue this week. In the latest documentation, specifically the initialization section you will see it says:




                Open the AppDelegate of your Xcode project, or optionally in your View Controller viewDidLoad() and invoke the initialize routine




                So what I did is go to AppDelegate and replace:



                return AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)


                With:



                return true


                Then in viewDidLoad in your main UIViewController call the initialization routine as per the docs:



                import AWSMobileClient

                override func viewDidLoad()
                super.viewDidLoad()

                AWSMobileClient.sharedInstance().initialize (userState, error) in
                if let userState = userState
                print("UserState: (userState.rawValue)")
                else if let error = error
                print("error: (error.localizedDescription)")





                You will then be able to use the new user state listener for your app's auth logic:



                AWSMobileClient.sharedInstance().addUserStateListener(self) (userState, info) in
                switch (userState)
                case .guest:
                print("user is in guest mode.")
                case .signedOut:
                print("user signed out")
                case .signedIn:
                print("user is signed in.")
                case .signedOutUserPoolsTokenInvalid:
                print("need to login again.")
                case .signedOutFederatedTokensInvalid:
                print("user logged in via federation, but currently needs new tokens")
                default:
                print("unsupported")




                And you can now also use getTokens:



                AWSMobileClient.sharedInstance().getTokens (tokens, error) in
                if let error = error
                print("Error getting token (error.localizedDescription)")

                else if let tokens = tokens
                print("id token: (tokens.idToken!.tokenString!)")
                print("access token: (tokens.accessToken!.tokenString!)")




                Hopefully that helps!







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 15 '18 at 17:06









                ingh.amingh.am

                14.7k37120173




                14.7k37120173





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53255416%2finterceptapplication-didfinishlaunchingwithoptions-is-deprecated%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

                    Edmonton

                    Crossroads (UK TV series)