Skip to content
1.3.0 문서 · List API, scope를 지정하는 삭제 API, error normalization은 1.3.0부터 지원합니다. 릴리스 이력 확인 ↗

플랫폼 지원 ​

Nitro Cookies는 iOS, Android, tvOS의 native React Native 앱에서 사용합니다. Android TV도 Android 구현을 사용하며, cookie store 작업에는 정상적으로 동작하는 WebView provider가 필요합니다. 웹과 Expo Go에서는 이 native module을 사용할 수 없습니다.

플랫폼별 지원 기능 ​

기능iOStvOSAndroid / Android TV
기본 cookie store 조회·저장·header·삭제Shared cookie storeShared cookie storeCookieManager. WebView provider 필요
useWebKit: true기본 WebKit cookie store. Async만 지원WEBKIT_UNAVAILABLE인자 무시
List 조회저장된 metadata 포함저장된 metadata 포함URL list는 name과 value만 제공
getAll, getAllList지원기본 cookie store에서 지원PLATFORM_UNSUPPORTED
Scope를 지정한 삭제저장된 식별 정보로 삭제저장된 식별 정보로 삭제호출자가 지정한 scope에 쿠키 만료 요청
getFromResponse, getFromResponseListNative 네트워크 요청Native 네트워크 요청Native 네트워크 요청
flush아무 작업도 하지 않음아무 작업도 하지 않음CookieManager의 쿠키를 디스크에 저장
removeSessionCookies삭제 없이 false 반환삭제 없이 false 반환플랫폼의 삭제 callback 사용

Android의 기본 최소 지원 버전은 API 24입니다. Apple deployment target은 React Native와 Nitro의 요구사항에도 영향을 받습니다. WebKit API를 iOS 11부터 사용할 수 있다는 이유로 앱도 iOS 11을 지원한다고 판단하면 안 됩니다. 라이브러리 podspec에는 tvOS 지원을 선언했지만, 사용하는 React Native tvOS 버전이 더 높은 deployment target을 요구할 수 있습니다.

저장소의 검증 구성 ​

아래 표는 현재 예제 앱과 native fixture에 설정한 버전입니다. 모든 React Native 버전과의 호환성을 보장하지는 않습니다. 플랫폼 변경을 검토할 때는 해당 CI 실행 결과도 확인하세요.

프로젝트React NativeNitro Modules추가 설정
iOS / Android 예제 앱0.85.30.35.9react-native-webview 13.16.1. Android 앱 minSdk 24
iOS native fixture0.85.30.35.9test-apple.sh ios로 XCTest 실행
tvOS native fixturereact-native-tvos 0.85.3-30.35.9test-tvos.sh로 XCTest 실행
Android instrumentation예제 앱의 dependency 사용0.35.9CI API 35, google_apis, x86_64

Android CI는 phone 이미지를 사용합니다. WebView provider가 없는 경우의 테스트는 그 실패 경로를 확인하는 데 그치며, Android TV system image에서의 검증을 대신하지는 않습니다. Nitro의 peer 범위는 react-native-nitro-modules >=0.35.0 <1.0.0입니다. react-native: *라는 peer 선언도 모든 React Native 버전에서 검증했다는 뜻은 아닙니다. Expo에서는 native 패키지를 포함한 development build를 사용하세요. 자세한 설정은 설치와 CI workflow를 참고하세요.

쿠키가 조회되지 않을 때 ​

  1. 두 패키지를 설치한 뒤 native 앱을 다시 빌드했는지 확인하세요.
  2. 전체 URL, HTTPS 조건, domain, 요청 path를 확인하세요.
  3. iOS에서는 읽기와 저장에 같은 cookie store를 사용하세요.
  4. Android에서는 WebView provider가 설치되어 있고 활성 상태인지 확인하세요.
  5. 같은 이름의 쿠키가 여러 개라면 list로 조회하세요. Android에서는 저장할 때 사용한 scope를 별도로 보관하세요.

WebView가 없는 Android TV 기기에서 이 패키지를 설치해도 cookie store가 생기지는 않습니다. WEBVIEW_UNAVAILABLE이 발생하면 cookie store를 사용할 수 없는 상태로 처리하세요.

플랫폼별 동작 차이는 cookie store와 scope, 오류 처리 방법은 Errors에서 확인하세요. 증상별 확인 순서는 트러블슈팅을 참고하세요.

MIT 라이선스 · React Native Nitro Cookies