luis901101 / oauth_webauth

BSD 3-Clause "New" or "Revised" License
15 stars 17 forks source link

IOS 17 Not Compatible #15

Closed Fyandono closed 1 year ago

Fyandono commented 1 year ago

Hi Luis. The package flutter_inappwebview ^5.4.0+2 (used by the oauth_webauth package) appears to be incompatible with iOS 17. This compatibility issue is causing build errors, specifically the error message: "type argument 'nw_proxy_config_t' is neither an Objective-C object nor a block type." It is recommended that you upgrade flutter_inappwebview to a version that is compatible with iOS 17 to resolve this issue.

luis901101 commented 1 year ago

Hi, thanks for the heads up, I will be upgrading it as soon as possible.

luis901101 commented 1 year ago

It’s already reported in the flutter_inappwebview repo issues. Check here for possible fixes:

Fyandono commented 1 year ago

Yes, it's already reported. But the oauth_webauth package depends on flutter_inappwebview version ^5.4.0+2, preventing from using the compatible version of flutter_inappwebview for iOS 17.

The temporary solution involves modifying WKWebsiteDataStore.h which is not a proper fixes. I'd like to request an update to the oauth_webauth package to allow for the use of the iOS 17 compatible flutter_inappwebview version and resolve the issue more effectively. I already tested to use the latest flutter_inappwebview in iOS 17 and it's not outputing the build errors.

Thank you for the reply.

luis901101 commented 1 year ago

This plugin depends on stable version of flutter_inappwebview, I have not upgraded to v6.0.0 because it is still beta. The dependency in the oauth_webauth pubspec.yaml is ^5.4.0+2 as you say but this is only for compatibility purposes, when you add oauth_webauth to your project dependencies it will automatically download the latest flutter_inappwebview which is ^5.7.2+3 at the time of writing this comment, you can check this in your project’s pubspec.lock as a transitive dependency, if it’s not pointing to the latest stable one you can run flutter pub upgrade so you get the latest according to your project dependency resolution.

On the other hand if the build problem is something specifically of flutter_inappwebview v5.x.y then yess a migration to use v6.x.y will be required. I have not checked the issue in deep yet, I will possible next week.

Fyandono commented 1 year ago

Alright Luis. Thank you for the explanation, it gives me a clear insight about the problem.

In my pubspec.lock, flutter_inappwebview is already ^5.7.2+3. Yes its actually caused by flutter_inappwebview v5.x.y. Guess I just need to wait an update from flutter_inappwebview to release stable v6.0.0 version and your packages updated so I can use it on iOS 17.

Thank you for the response and I hope it will work for future iOS version because your package have significant impact in my project.

luis901101 commented 1 year ago

Alright Luis. Thank you for the explanation, it gives me a clear insight about the problem.

In my pubspec.lock, flutter_inappwebview is already ^5.7.2+3. Yes its actually caused by flutter_inappwebview v5.x.y. Guess I just need to wait an update from flutter_inappwebview to release stable v6.0.0 version and your packages updated so I can use it on iOS 17.

Thank you for the response and I hope it will work for future iOS version because your package have significant impact in my project.

Ok, then I will upgrade oauth_webauth to use flutter_inappwebview v6.x.y even if it is beta because I use oauth_webauth in several production projects as well.

Fyandono commented 1 year ago

That's wonderful news! I'm glad to hear that. Thank you Luis. I will wait for the new version.

frederikstonge commented 1 year ago

There's a pull request ready to be merged to fix this issue : https://github.com/pichillilorenzo/flutter_inappwebview/pull/1790

frederikstonge commented 1 year ago

Alright Luis. Thank you for the explanation, it gives me a clear insight about the problem.

In my pubspec.lock, flutter_inappwebview is already ^5.7.2+3. Yes its actually caused by flutter_inappwebview v5.x.y. Guess I just need to wait an update from flutter_inappwebview to release stable v6.0.0 version and your packages updated so I can use it on iOS 17.

Thank you for the response and I hope it will work for future iOS version because your package have significant impact in my project.

The issue is happening in 6.x.x as well.

luis901101 commented 1 year ago

@frederikstonge thanks for telling. @Fyandono try using this dependency override in the meanwhile:

  flutter_inappwebview:
     git:
      url: https://github.com/nesquikm/flutter_inappwebview
      ref: heads/v5.7.2+3_fix_xcode_17
Fyandono commented 1 year ago

I already use dependency override for the flutter_inappwebview and it is not outputing any build error. But the login is not working on iOS 17. It did not show the login page.

luis901101 commented 1 year ago

I already use dependency override for the flutter_inappwebview and it is not outputing any build error. But the login is not working on iOS 17. It did not show the login page.

Oki I will check it as soon as I can

Fyandono commented 1 year ago

Have you found any updates related to the iOS 17?

luis901101 commented 1 year ago

Hi @Fyandono, I have not been able to check anything yet, really busy over here with some production releases, but I will check this for sure as I mentioned before I rely on this plugin for several projects. I will share any news here as soon as I have something.

pichillilorenzo commented 1 year ago

Released new flutter_inappwebview version 5.8.0 and 6.0.0-beta.25 with the fix!

luis901101 commented 1 year ago

Thanks @pichillilorenzo for letting know

luis901101 commented 1 year ago

I'm closing this issue as it was not really an issue of this plugin and also because the issue was already fixed on flutter_inappwebview.

Fyandono commented 1 year ago

Hello Luis, have you tried it on iOS17? it still doesn't work for me.