Swift2.0으로 Couchbase Lite 이동

개요


Couchbase Lite는 이동을 위한 NoSQL 데이터 기반입니다.
iOS 버전는 Objective-C로 기술된 프로그램 라이브러리로 Swift 프로그램에서도 사용할 수 있다.
Swift2.Couchbase Lite를 0으로 시작하려면

작업 환경

  • Xcode 7.2
  • OS X El Capitan (10.11.2)
  • 전제는 코코팟이 설치되어 있다는 것이다.

    프로젝트 작성


    Xcode 메뉴에서 [File] [New] [Project] 선택
    이번에는 심플한 Single View Application을 선택하십시오.

    Language에서 Swift를 선택합니다.

    프로젝트가 완료되면 Xcode가 한 번 종료됩니다.

    Couchbase Lite 설치


    CocoaPods 설치가 간단합니다.
    터미널에서 방금 만든 프로젝트 디렉터리로 이동해서Podfile을 만듭니다.
    $ cd /path/to/your/app
    $ pod init
    
    편집기에서 Podfile을 열고 추가couchbase-lite-ios합니다.
    버전은 CocoaPods 웹 사이트에서 확인할 수 있습니다.명령을 복사하려면 클립보드 아이콘을 클릭합니다.
    target 'Sample' do
      pod 'couchbase-lite-ios', '~> 1.1'
    end
    
    터미널에서 다음 명령을 실행하여 Couchbase Lite를 설치합니다.
    $ pod install
    
    Pods 디렉토리 및 작업공간 파일(*.xcworkspace)을 생성합니다.

    Xcode 설정


    생성된 작업공간 파일을 두 번 클릭하여 Xcode를 시작합니다.

    빌드 확인


    실제 시스템의 경우 Couchbase Lite 버전에 따라 다음 오류가 발생할 수 있습니다.
    시뮬레이터와는 무관하다.
    ld: 'CouchbaseLite' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
    이 경우 [Build Settings] [Build Options] [Ennable Bitcode]를 NO로 설정합니다.

    Re-release 1.1.1 built with Xcode 7, for bitcode support

    브리지 머리글 생성하기


    Swift에서 Objective C로의 코드를 보려면 브리지 커넥터를 준비해야 합니다.
    [Build Settings][Swift Compuiler-C Bridging Header]에서 브리지 커넥터를 지정하는 간단한 방법이 있습니다.
    Xcode 메뉴에서 [File][New][File] 선택
    Objective-C File 을 선택합니다.

    파일 이름은 나중에 삭제되기 때문에 적당히 해도 괜찮아요.

    [Create Bridging Header]를 선택합니다.

    프로젝트에 브리지 헤더를 추가하고 설정을 반영합니다.
    생성된 Objective-C 파일을 삭제합니다.
    브리지 머리글에서 Couchbase Lite의 머리글을 가져옵니다.
    Sample-Bridging-Header.h
    //
    //  Use this file to import your target's public headers that you would like to expose to Swift.
    //
    
    #import <CouchbaseLite/CouchbaseLite.h>
    
    지금까지 Couchbase Lite의 사용 준비 작업이었습니다.

    테스트 코드


    실제 사용 여부, 간단한 테스트 코드를 써 보겠습니다.
    Swift2.이것은 0의 기술이니 주의하세요.
    ViewController.swift
    import UIKit
    
    class ViewController: UIViewController {
    
        var database: CBLDatabase?
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            do {
                try test()
            } catch let error {
                print("\(error)")
            }
        }
    
        func test() throws {
            let manager = CBLManager.sharedInstance()
            try self.database = manager.databaseNamed("test")
    
            let properties = [
                "name": "taro",
                "age": 30
            ]
            let doc = self.database?.createDocument()
    
            let ret = try doc?.putProperties(properties)
            print("ドキュメントID=\(ret!.document!.documentID)")
    
            let count = self.database?.documentCount
            print("ドキュメント件数=\(count!)")
        }
    }
    
    생성 및 실행
    디버그 콘솔에 등록된 문서 ID와 데이터베이스에 있는 문서 개수를 표시합니다.
    앱을 끝내고 다시 실행하면 문서 건수가 늘었는지 확인할 수 있을 것이다.

    최후


    스위프트는 2015년 12월 오픈소스 코드를 공개했다.
    앞으로 스위프트 코드로 쓰는 애플리케이션이 점점 많아지겠죠.
    Couchbase Mobile Develop 사이트에는 스위프트 코드의 샘플이 많이 있습니다.
    참고해주세요.

    좋은 웹페이지 즐겨찾기