Open halfelf11 opened 3 years ago
xcode 디버깅 내역 추가 된 부분이 있어서 남깁니다. 백그라운드 세션이 무효되면서 로그인 정보를 못 받는 것 같습니다.
2021-05-18 16:49:37.363787+0900 tokmomRN[3258:1365679] BackgroundSession
아직 이 증상이 계속 되고 있습니다. 확인 가능하신분 없으신가요?
<string>kakao0123456789</string>
이 부분 추가하니 전 정상작동합니다!
@HoJin9622 님 답변 감사합니다. 하지만 아직 동작하지 않습니다. kakao네이티브키 역시 LSApplicationQueriesSchemes에 추가한 상태입니다. 혹시 다른 해결방법은 없을까요.
이 부분 한번 확인해보시겠어요? 저도 IOS 부분 같은 상황이어서 수정했던 부분이 위에 첫 답변과 URL Schemes에 콤마 또는 스페이스가 들어가있어서 이렇게 두개 수정을하니 정상 작동이 되었습니다.
@HoJin9622 님 거듭 감사드립니다. 해당부분도 다시 확인했는데 정상적으로 잘 들어가 있습니다. 혹시 naver-login과 같이 쓰는 것에서 발생할수도 있는 문제 일까요?
저도 현재 네이버 로그인과 함께 사용중이고 AppDelegate.m 부분은 이렇게 작상하였고 문제없이 작동중입니다. 위 부분이 다 맞다면 어디가 잘못되었는지 짐작가는부분이 없네요 ㅠㅠ
@HoJin9622 항상 답변 감사드립니다. 아직 해결하지 못했지만 해결되면 저도 해결한 방법 올리도록하겠습니다. 감사합니다.
IOS 카카오톡에서 앱이 시작할때 FaceID가 적용되어있으면 카카오톡으로 진입 후 아무 반응이 없고 다시 앱으로 돌아간 후 카카오톡 로그인 버튼을 누르면 정상 작동됩니다.(카카오톡이 이미 백그라운드로 켜진 상태에서 정상 작동하는 느낌) 그리고 FaceID로 보안 설정을 하지않은 카카오톡에서는 카카오톡이 이미 켜져있지 않더라도 바로 카카오 로그인 모달이 뜨는 것 같습니다.
@HoJin9622 안녕하세요. 저도 같은 현상을 겪고 있어 질문드립니다. 다만 저는 위에 올려주신 것과 같이 RNKakakoLogins를 쓰려고 하면 존재하지 않는 identifier라고 하면서 빌드가 안되는데 혹시 어떻게 import 하셨는지 알 수 있을까요? #193 에 있는 것처럼 #import <RNKakaoLogins.h>
를 했는데도 잘 안되네요.
@min0623
위 이미지처럼 #ifdef FB_SONARKIT_ENABLED
이 부분 위에 #import <RNKakaoLogins.h>
를 선언해보시겠어요?
@HoJin9622 헛 이렇게 하니 너무 잘되네요!! 감사합니다😄
@halfelf11 혹시 이 문제 해결되셨나요? 저도 같은 문제를 겪고있어서요.. 혹시 해결되셨다면 공유좀 부탁드리겠습니다!
Use of undeclared identifier 'RNKakaoLogins'
문제가 (이슈 색인을 위해 남깁니다.) 저도 발생하고 있었는데,
@HoJin9622 님 감사합니다. ^^
혹시 해당 이슈 해결하신분 있으실까요? 위와 똑같은 문제가 발생하고 저는 simulator에서는 정상작동하며 카카오톡이 설치된 디바이스에서 테스트시 문제가 발생하네요..
현재 저는 Info.plist의
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- <string>kakaokompassauth</string>
<string>storykompassauth</string> -->
</array>
같은 이슈가 있었고 지금은 해결했습니다.
제가 한 실수는 링크 여기서 제안한 해결책 대로 진행했었는데
Implementation에서 AppDelegate에서
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if([RNKakaoLogins isKakaoTalkLoginUrl:url]) {
return [RNKakaoLogins handleOpenUrl: url];
}
return NO;
}
이부분 삽입을 #if RCT_NEW_ARCH_ENABLED ... #endif
안에 넣어서 생긴 문제 였습니다.
다른 #if 문 안에 들어간게 아닌지 확인해보세요.
감사합니다~ 덕분에 해결했네요.
@implementation AppDelegate
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([RNKakaoLogins isKakaoTalkLoginUrl:url]) {
return [RNKakaoLogins handleOpenUrl: url];
}
return NO;
}
Version of kakao-login libraries
3.3.2
Version of react-native
0.63.4
Platforms you faced the error (IOS or Android or both?)
IOS
Expected behavior
카카오톡이 설치된 IOS 기기에서 로그인
Actual behavior
카카오톡이 설치된 IOS 기기에서 로그인 할 경우 카카오톡으로 넘어간 다음 아무런 응답이 오질 않습니다. 설치되지 않은 기기에서는 정상적으로 웹페이지가 열리고 로그인하면 정상 로그인이됩니다. 안드로이드 기기에서도 정상적으로 로그인이 되고 있습니다.
info.plist 의 화이트 리스트도 정상적으로 들어가 있습니다. (한글로 적은 부분은 보안상 수정하여 적은 부부입니다.)
xcode 디버깅에는 아래와 같이 로그가 찍히고 있습니다. (한글로 적은 부분은 보안상 수정하여 적은 부부입니다.)
2021-05-18 09:32:57655 [💬][AuthController.swift 323:21] -> code_verifier: j8bh3yjeTWcI+msEzNvDew1Ko0nZkfp3vtMFbJMLziNgchIguY4bECOLi7LhzgYvHD/pgIPsa7gbOY3GNjF96w 2021-05-18 09:32:57656 [💬][AuthController.swift 326:25] -> code_challenge: 2PfGEuJWhKRtHfQaYcrpyrvnzbrT4tQC1SX9stBEcNc 2021-05-18 09:32:57698 [💬][AuthController.swift 99:25] -> 카카오톡 실행: kakaokompassauth://authorize?redirect_uri=kakao인증키값://oauth&headers=%7B%22KA%22:%22sdk%5C/2.4.1%20sdk_type%5C/swift%20os%5C/ios-14.5.1%20lang%5C/ko-KR%20res%5C/390x844%20device%5C/iPhone%20origin%5C/번들아이디%20app_ver%5C/0.16.27%22%7D&client_id=클라이언트아이디¶ms=%7B%22code_challenge%22:%222PfGEuJWhKRtHfQaYcrpyrvnzbrT4tQC1SX9stBEcNc%22,%22code_challenge_method%22:%22S256%22%7D&response_type=code
앱에서는 아래와 같은 코드로 사용하고 있으며, 실행시 로그는 "kakaoSdkAuthTest ::::: service login start" 까지만 찍히고 에러로그도 찍히지 않습니다.
try{ console.log('kakaoSdkAuthTest ::::: service login start'); const token: KakaoOAuthToken = await login(); console.log('kakaoSdkAuthTest ::::: service login token',token); } catch(e) { console.log(e); }
Tested environment (Emulator? Real Device?)
System: OS: macOS 11.2.1 CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz Memory: 98.54 MB / 16.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 10.23.1 - ~/.nvm/versions/node/v10.23.1/bin/node Yarn: 1.22.10 - /usr/local/bin/yarn npm: 6.14.10 - ~/.nvm/versions/node/v10.23.1/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: CocoaPods: 1.10.1 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4 Android SDK: API Levels: 23, 27, 28, 29, 30 Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.3 System Images: android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom Android NDK: Not Found IDEs: Android Studio: 4.1 AI-201.8743.12.41.7042882 Xcode: 12.5/12E262 - /usr/bin/xcodebuild Languages: Java: 1.8.0_282 - /usr/bin/javac Python: 2.7.16 - /usr/bin/python npmPackages: @react-native-community/cli: Not Found react: 16.13.1 => 16.13.1 react-native: 0.63.3 => 0.63.3 react-native-macos: Not Found npmGlobalPackages: react-native: Not Found