소개
이 튜토리얼에서는 동기화 게이트웨이와 카우치베이스 라이트를 사용하여 해커 뉴스의 최신 기사를 다음과 동기화하는 방법을 배웁니다.
iOS 앱입니다.
특히 iOS 7에 추가된 백그라운드 가져오기 기능에 초점을 맞추겠습니다. 이제 애플리케이션은 백그라운드에서 작은 작업을 수행하여 서버에서 최신 데이터를 가져올 수 있습니다. 앱이 백그라운드 가져오기를 등록한 경우 운영 체제에서 주기적으로 애플리케이션을 깨워 새로 고침을 수행하며 백그라운드 가져오기 한 번에 할당되는 최대 시간은 30초입니다.
이는 원샷 풀 복제를 위한 완벽한 사용 사례입니다. 이제 시작해보겠습니다!
이 튜토리얼의 소스 코드는 GitHub.
동기화 게이트웨이로 작업하기
첫 번째 단계는 동기화 게이트웨이를 설정하는 것입니다. 최신 커뮤니티 에디션 다운로드 여기. 매우
이 예제의 간단한 구성입니다. 라는 새 파일에서 config.json 다음을 붙여넣습니다:
여기서 주목해야 할 중요한 점은 바다코끼리 데이터베이스에 문서를 저장합니다. 와 바다코끼리다음과 같은 경우 문서가 유지되지 않습니다.
동기화 게이트웨이를 다시 시작합니다. 둘째, 저희는 게스트 계정을 생성하고 모든 채널에 대한 액세스 권한을 부여했습니다. 액세스 제어를 추가할 수 있습니다.
및 사용자 관리 로직이 필요하지만 이 예제에서는 프로토타이핑에 좋은 방법인 제한 없이 개발하겠습니다.
이제 이 구성 파일을 사용하여 명령줄에서 시작해 보겠습니다:
iOS 앱 시작하기
종속성을 관리하고, Cocoapods를 사용하여 Xcode 프로젝트를 설정하고, 실행하고 포드 설치 가 있는지 확인하려면 카우치베이스 라이트
프로젝트에 연결된 프레임워크입니다. Open 해커뉴스싱크+백그라운드페치.xc작업공간 in Xcode 를 클릭하고 시뮬레이터에서 앱을 실행합니다.
빈 테이블 보기가 표시되어야 합니다:
실제로 먼저 동기화 게이트웨이에 해커 뉴스 스토리를 추가해야 합니다.
해커 뉴스 인기 기사
에서 NodeJS 스크립트를 사용해 보겠습니다. worker.js 를 사용하여 해커 뉴스 API에서 인기 기사를 가져옵니다. Mashape를 사용합니다.
를 사용하세요. 다음에서 매시업 키를 가져옵니다. 여기
에 붙여넣고 worker.js 파일 대신 xxxx-xxxx-xxxx-xxxx.
다음을 실행하여 종속성을 설치합니다. npm 설치 를 클릭하고 워커를 시작합니다:
$ 노드 worker.js
Hacker News API에서 인기 기사를 가져와서 그 중 5개를 Sync Gateway에 저장합니다. 데이터를 처리할 필요 없이 각 인기 기사에 대한 새 문서를 생성하는 Sync Gateway의 관리자 포트로 바로 응답을 파이프하기만 하면 됩니다.
백그라운드 가져오기 트리거
백그라운드 가져오기를 트리거하려면 디버그 > 백그라운드 가져오기 시뮬레이션 옵션을 선택합니다:
이렇게 하면 앱이 백그라운드로 전송되고 application:performFetchWithCompletionHandler:
메서드에서 풀 복제를 시작하고 변경 이벤트 리스너를 등록하여 백그라운드 가져오기 작업을 닫는 것을 알 수 있습니다.
복제가 완료된 상태(kCBLReplicationStopped). 앱을 열면 테이블 보기가 이미 채워진 것을 볼 수 있습니다:
애플리케이션에서 백그라운드 가져오기를 사용하면 사용자 경험과 사용자 체감 속도를 크게 향상시킬 수 있습니다.
제임스 좋은 기사입니다. 하지만 Xcode10.0에서는 실행되지 않습니다.
최신 CBL이 포함된 신속한 버전 코드를 제공해 주시겠어요?