expo에서 카카오 로그인을 구현하고자 했다.
로그인 구현 방식은 웹뷰/앱 내부로 크게 두 가지로 구현이 가능하다.
웹뷰로 로그인을 구현하게 되면 카카오 앱으로 넘어가기 때문에 웹뷰가 아닌 앱 내부에서 로그인을 처리하고 싶었다. (참고링크)
서치한 결과 @react-native-seoul/kakao-login을 사용하면 expo에서도 앱 내부에서 카카오 로그인이 구현 가능하다는 것을 알게 되었다.
yarn add @react-native-seoul/kakao-login
이후에 로컬 빌드를 하였으나 아래의 에러를 마주하게 되었다.
* What went wrong:
Could not determine the dependencies of task ':app:processDebugResources'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
> Could not find com.kakao.sdk:v2-user:2.11.2.
Searched in the following locations:
- https://oss.sonatype.org/content/repositories/snapshots/com/kakao/sdk/v2-user/2.11.2/v2-user-2.11.2.pom
- https://repo.maven.apache.org/maven2/com/kakao/sdk/v2-user/2.11.2/v2-user-2.11.2.pom
- file:/Users/user/projects/myapp/node_modules/jsc-android/dist/com/kakao/sdk/v2-user/2.11.2/v2-user-2.11.2.pom
- https://dl.google.com/dl/android/maven2/com/kakao/sdk/v2-user/2.11.2/v2-user-2.11.2.pom
- https://www.jitpack.io/com/kakao/sdk/v2-user/2.11.2/v2-user-2.11.2.pom
- file:/Users/user/projects/myapp/node_modules/react-native/android/com/kakao/sdk/v2-user/2.11.2/v2-user-2.11.2.pom
Required by:
project :app > project :react-native-seoul_kakao-login
> Could not find com.kakao.sdk:v2-talk:2.11.2.
Searched in the following locations:
- https://oss.sonatype.org/content/repositories/snapshots/com/kakao/sdk/v2-talk/2.11.2/v2-talk-2.11.2.pom
- https://repo.maven.apache.org/maven2/com/kakao/sdk/v2-talk/2.11.2/v2-talk-2.11.2.pom
- file:/Users/user/projects/myapp/node_modules/jsc-android/dist/com/kakao/sdk/v2-talk/2.11.2/v2-talk-2.11.2.pom
- https://dl.google.com/dl/android/maven2/com/kakao/sdk/v2-talk/2.11.2/v2-talk-2.11.2.pom
- https://www.jitpack.io/com/kakao/sdk/v2-talk/2.11.2/v2-talk-2.11.2.pom
- file:/Users/user/projects/myapp/node_modules/react-native/android/com/kakao/sdk/v2-talk/2.11.2/v2-talk-2.11.2.pom
Required by:
project :app > project :react-native-seoul_kakao-login
> Could not find com.kakao.sdk:v2-story:2.11.2.
Searched in the following locations:
- https://oss.sonatype.org/content/repositories/snapshots/com/kakao/sdk/v2-story/2.11.2/v2-story-2.11.2.pom
- https://repo.maven.apache.org/maven2/com/kakao/sdk/v2-story/2.11.2/v2-story-2.11.2.pom
- file:/Users/user/projects/myapp/node_modules/jsc-android/dist/com/kakao/sdk/v2-story/2.11.2/v2-story-2.11.2.pom
- https://dl.google.com/dl/android/maven2/com/kakao/sdk/v2-story/2.11.2/v2-story-2.11.2.pom
- https://www.jitpack.io/com/kakao/sdk/v2-story/2.11.2/v2-story-2.11.2.pom
- file:/Users/user/projects/myapp/node_modules/react-native/android/com/kakao/sdk/v2-story/2.11.2/v2-story-2.11.2.pom
Required by:
project :app > project :react-native-seoul_kakao-login
...
해당 라이브러리 문서에 나온대로 아래 설정을 해주고 리서치를 진행했으나, 빌드시 kakao android sdk를 찾지 못하는 원인에 대한 해결책을 찾을 수 없었다..
그러다 해당 이슈에 대한 원인을 친절히 알려주시는 코멘트를 발견하였다!
Maven은 안드로이드의 라이브러리들을 관리해주는 도구인데, kakao sdk를 찾지 못하니 app.json / app.config.ts에서 해당 라이브러리에 대한 레포를 추가해줌으로서 해결할 수 있다는 가이드였다.
이에 따라 아래와 같이 설정해주었다.
plugins: [
[
'expo-build-properties',
{
android: {
"extraMavenRepos": ["https://devrepo.kakao.com/nexus/content/groups/public/"]
}
}
],
[
'@react-native-seoul/kakao-login', {
kakaoAppKey: '카카오 앱 키',
}
]
]
하지만.. 또 다시 에러를 마주하고 말았다.
expo에 세팅된 kotlin gradle version은 1.5.10인데, 플러그인 호환 버전이 최소 1.5.20 이상인 것을 알게 되었다.
따라서, @react-native-seoul/kakao-login 플러그인 세팅에서 코틀린 버전을 1.5.20으로 설정하였다.
plugins: [
[
'expo-build-properties',
{
android: {
"extraMavenRepos": ["https://devrepo.kakao.com/nexus/content/groups/public/"]
}
}
],
[
'@react-native-seoul/kakao-login', {
kakaoAppKey: '카카오 앱 키',
kotlinVersion: '1.5.20'
}
]
]
드디어 빌드 성공.. 역시 지식 공유의 힘은 크다👍
별거 없지만 해당 이슈에 대한 PR에 코틀린 버전 명시가 제거되어 있길래 먼지톨보다도 작은 제안을 하며 이번 이슈를 마무리하였다..
해당 제안에 피드백이 오면 추가 공유 예정!
'IT > React-native' 카테고리의 다른 글
eslint, husky, lint-staged, commitlint 설정 (0) | 2024.01.11 |
---|