Skip to content

[iOS] #134 수정 이후에도 여전히 중복 심볼(Duplicate Symbols) 및 웹뷰 로그인 이슈 발생 #135

@rexRUBY

Description

@rexRUBY

문제 설명

안녕하세요. 최신 버전의 flutter_naver_login:2.1.1 플러그인을 사용하여 iOS 네이버 로그인을 구현하는 중입니다.

이슈 #134 에서 유사한 문제가 해결된 것을 확인했지만, 여전히 기본 설정으로 빌드 시 네이티브 네이버 앱이 아닌 웹뷰(SFSafariViewController)가 호출됩니다.

Xcode 빌드 로그를 확인하면 다수의 'Duplicate Symbols' 경고가 출력되며, 이는 라이브러리 심볼이 중복으로 링크되어 발생하는 문제로 보입니다.
Class _TtC18NidThirdPartyLogin18SDKRootDIContainer is implemented in both /path/to/NidThirdPartyLogin.framework/NidThirdPartyLogin and /path/to/Runner.app/Runner. One of the duplicates must be removed...

임시 해결책

ios/Podfile의 target 'Runner' do 블록 내부에 있는 use_frameworks! 라인을 아래와 같이 수정했습니다.

  • 변경 전: use_frameworks!
  • 변경 후: use_frameworks! :linkage => :static
    이와 같이 정적 링킹(Static Linking)으로 강제하자, 'Duplicate Symbols' 경고가 사라졌고 네이티브 네이버 앱이 정상적으로 호출되었습니다.

후속 문제: 'Login cancelled by user' 에러 발생

위와 같은 수정으로 네이티브 앱은 정상적으로 호출되었지만, 새로운 문제가 발생했습니다.

네이버 앱에서 인증을 성공적으로 마치고 다시 제 앱으로 복귀했을 때, 로그인 결과가 status: NaverLoginStatus.error와 errorMessage: 'Login cancelled by user'로 반환됩니다. 사용자는 인증 과정 중 어떠한 '취소' 버튼도 누르지 않았습니다.

현재 이 문제로 인해 최종적으로 로그인을 완료할 수 없는 상태입니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions