yoonjaepark / flutter_naver_login

A Flutter plugin for Naver Sign In.
BSD 2-Clause "Simplified" License
47 stars 70 forks source link

iPhone 디바이스 상에서 네이버앱이 깔려있을 경우 로그인 불가현상 #25

Open kmh339 opened 3 years ago

kmh339 commented 3 years ago

[✓] Flutter (Channel stable, 1.22.1, on Mac OS X 10.15.7 19H2, locale en-GB)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3) [✓] Xcode - develop for iOS and macOS (Xcode 12.1) [!] Android Studio (version 4.1) ✗ Flutter plugin not installed; this adds Flutter specific functionality. ✗ Dart plugin not installed; this adds Dart specific functionality. [✓] Connected device (1 available)

네이버 앱이 깔린 경우 웹뷰가 아닌 앱을 통해 로그인을 시도하는 듯 한데 이 때,

iOS 의 경우 FlutterNaverLogin.logIn() 가 정상적으로 호출되지 않는듯 합니다.

안드로이드와 네이버앱이 깔리지 않은 iOS의 경우는 정상동작 합니다.

테스트환경은 iOS 버전 13.4와 14.1 입니다.

아래는 제가 구현한 코드입니다.

 Future<void> _naverLogin() async {
    final NaverLoginResult _naverLoginResult = await FlutterNaverLogin.logIn();

    if (_naverLoginResult.status == NaverLoginStatus.loggedIn) {
      final NaverAccountResult account = _naverLoginResult.account;
      final Map<String, dynamic> json = <String, dynamic>{
        'id': account.id ?? '',
        'email': account.email ?? '',
        'name': account.name ?? '',
      };

      final SocialUser _socialUser = SocialUser.fromJson(json);
      final User _user = await _authRepository.socialSignIn('naver', _socialUser);
      if (_user != null) {
        _authBloc.add(UserLoggedIn(user: _user));
      } else {
        log(']-----] _naverLogin [-----[ error ');
      }
    } else {
      log(']-----] _naverLogin [-----[ error ');
    }
  }
astroshim commented 3 years ago

저도 같은 현상 입니다. FlutterNaverLogin.logIn() 에서 return 이 안되네요.

gkssk925 commented 3 years ago

저도 같은 현상입니다. FlutterNaverLogin.logIn() 에서 return 이 안되고 있습니다.

sehoon787 commented 2 years ago

저도 동일한 현상입니다. 추가적으로 await FlutterNaverLogin.isLoggedIn 또한 해당 상황에서 아래와 같은 에러를 반환합니다.

[VERBOSE-2:ui_dart_state.cc(198)] Unhandled Exception: FormatException: Invalid date format
0
#0      DateTime.parse (dart:core/date_time.dart:347:7)
#1      NaverAccessToken.isValid (package:flutter_naver_login/flutter_naver_login.dart:109:52)
#2      FlutterNaverLogin.isLoggedIn (package:flutter_naver_login/flutter_naver_login.dart:32:36)
<asynchronous suspension>

AppDelegate.m에 관련 설정 모두 추가하였고 info.plist에도 관련 설정 및 키 확인 하였습니다.

yjs8237 commented 1 year ago

음 이 이슈 해결되었나요?

sihun0105 commented 1 year ago

저도 안됨;