Swift 2 시리즈 Parse.com의 샘플 응용 프로그램 사용하기 (Chapter 1: 가져오고 소통할 때까지)

※ 이는 자신의 메모로, 헷갈리기 쉬운 표현과 기술 오류 등이 발견되면 게시판 등에서 제출하세요.

개요: Parse.mbaS란 무엇입니까?이렇게 막연한 설명


'mbaS=mobile Backend asa Servise'의 약칭이다.
클라우드에서 준비한 기능(데이터베이스, 알림, 인증 등)은 백엔드가 실현해야 하는 서비스의 약칭이다.
여기를 이용하면 백엔드 기능을 스스로 개발할 필요가 없기 때문에 실제 조작에서든 서버에서든 지식이 없는 사람이든비교적 적은 학습 비용으로 데이터 로그인, 알림 전송 등 응용이 불가결하거나 부족한 기능을 만들 수 있다는 것도 큰 장점이라고 생각합니다.
(또한 Parse에는 Android 및 PHP 버전의 SDK도 있음)
인용 & 참고: 개인 스마트폰 프리개발자가 파스를 사용해야 하는 15가지 이유
그리고 파르세도 있어요.com 이외에도 대표적인 것이 있나요?(이름을 스스로 들었다)도 다음 내용에 부합한다.
  • 니프티클라드
  • GMO MBaas
  • AWS Mobile Service
  • Microsoft Azure(실제 mBaaS 사용 사례 등)
  • 인용 & 참고: 정리를 해봤어요.
    위 기사에는 각 mbaS의 비교와 실제 사용한 소감이 실려 있으니 회사가 아니라면 개인적으로 mbaS를 융통성 있게 활용하고 싶을 때 살펴봤다.

    준비: Parse 계정을 SDK 다운로드에 생성


    사용 환경은 다음과 같습니다.
    ・OS X10.5 Yosemite
    ・XCode 7.2
    ・Swift2.1.1
    ・ParseSDK 버전: v10.10.1(기사 작성 시 최신 버전)
    ※ 제 경우는 비교적 오래된 버전에서는 비트코드 주변에서 오류가 발생할 수 있습니다.
    우선 파세입니다.com 페이지에서 계정을 만들면 iOS SDK를 다운로드합니다.
    페이지 정보

    (계정을 만들지 않은 사용자는 Sign Up에서 시작하여 계정을 만들십시오.)
    "Createa newapp"단추를 누르고 자신의 앱 이름(이번은parse spa)을 입력하면 다음과 같은 화면이 나타납니다.

    이른바 관리화면이다.데이터를 저장하면 "Core"섹션에 클래스 이름이 표시됩니다. "You have no classyet"의 섹션에 데이터가 추가됩니다.
    ※ 인상은 phpMyAdmin 같은 느낌.
    App Settings 탭에서 Security & Keys를 클릭하면 해당 App과 인증을 위한 버튼 일람이 표시됩니다.XCode에서 Parse와 대화할 때 사용하는 항목은 다음과 같습니다.
  • Application ID
  • Client key
  • .

    왼쪽 아래에 있는 "//"섹션을 클릭하면 레이블이 표시됩니다.

    "Download"를 클릭하여 ParseSDK를 다운로드하고 zip 파일을 동결해제하세요.

    동결해제된 파일은 다음과 같습니다.
  • Bolts.framework
  • Parse.framework
  • ParseFacebookUtils.framework
  • ParseFacebookUtilsV4.framework
  • ParseTwitterUtils.framework
  • ParseUI.framework
  • 설정:필수 프레임 추가


    그런 다음 XCode로 새 프로젝트를 만듭니다.

    1. Parse 페이지에서 다운로드한 내용 추가
    다음 내용을 자신의 항목으로 복사한 다음 항목을 마우스 오른쪽 버튼으로 클릭하고 Add Files to 자신의 항목 이름에서 다음 프레임을 선택하고 추가합니다.
  • Bolts.framework
  • Parse.framework
  • ParseUI.framework
  • ※ 사회관계망서비스(SNS) 접속은 추후 가능하지만, 이번에는 아래 3개를 먼저 이용하면 됩니다.
    2. 관련 프레임 증가
    위 프레임워크 외에도 "Linked Frameworks and Libraries"(아래의 "+"버튼에서 추가)
  • Social.framework
  • Accounts.framework
  • SystemConfiguration.framework
  • StoreKit.framework
  • Security.framework
  • QuarzCore.framework
  • CoreLocation.framework
  • CoreGraphics.framework
  • CFNetwork.framework
  • AudioToolBox.framework
  • libz.tbd
  • libsqlite3.tbd

  • ※ 추가적인 프레임이 많기 때문에 위의 캡처처럼 그룹으로 분리해서 관리하는 것이 좋다고 생각합니다.

    코드:준비된 데이터를 Parse에 추가할 수 있는지 테스트


    그러면 Parse에 실제로 연결되었는지 테스트합니다.
    이번에는 일단 도입해 가동할 수 있는 곳이라 조금 마음에 들지 않을 수도 있겠지만 일단 준비를 해야 한다.
    1. AppDelegate.swift에 Parse의 응용 ID 및 클라이언트 키 추가
    AppDelegate.swift의 응용 프로그램 방법에서 얻은
  • Application ID
  • Client key
  • 를 설정합니다.
    AppDelegete.swift
    //先頭に追加したフレームワークのクラスをインポート宣言
    import Parse
    import Bolts
    
    (途中省略)
    
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    
        // ----- 追加 ここから↓ -----
        // [Optional] Power your app with Local Datastore. For more info, go to
        // https://parse.com/docs/ios_guide#localdatastore/iOS
        Parse.enableLocalDatastore()
    
        //※ここをみなさんのアカウントのやつにしてください
        // Initialize Parse.
        Parse.setApplicationId("Application ID",
                clientKey: "Client key")
    
        // [Optional] Track statistics around application opens.
        PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)
        // ----- 追加 ここまで↑ -----
    
        // Override point for customization after application launch.
        return true
    }
    
    2. ViewController.swift에 Parse 연결 여부를 확인하는 코드를 기술합니다.
    ViewDidLoad()에 새 테스트 데이터 코드를 Parse에 추가합니다.
    ViewController.swift
    //先頭に追加したフレームワークのクラスをインポート宣言
    import Parse
    
    (途中省略)
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    
        //Parseテスト用のコード(Object has been saved.がコンソールに表示されれば通信が成功)
        let testObject = PFObject(className: "TestObject")
        testObject["testKey"] = "testValue"
        testObject.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
            print("Object has been saved.")
        }
    }
    
    확인한 것은
    ・“Object has been saved.”로그에 추가
    • 아래 캡처한 대로 데이터 1개 새로 등록
    의 2점.

    이번엔 여기까지.

    다음 예고


    (Chapter2:ParseUI를 사용한 계정 인증)
    이번엔 파세야.저는 이미com을 사용할 준비가 되어 있다고 생각합니다. 다음에
  • Chapter2가 전진하는 곳:Parse.com의 SDK에서 제공하는 ParseUI 프레임워크를 이용하여 인증 화면 제작
  • 하려고요.
    ※ 순서대로 뛰면 느슨한 느낌이 들 수 있으니 참고하면 좋을 것 같아요.

    추기 및 기타


    Giithub 여기 있습니다: PremiumCafeList
    2015.12.30:
  • Chaper1까지 샘플을 업데이트했습니다.각 Chapter의 샘플을 확인할 때는 다음 명령을 사용하여 확인합니다.
  • $ git clone [email protected]:fumiyasac/PremiumCafeList.git
    $ git checkout afaef4f0c6fbc877267a76ad9f475bf927dd58bd
    
    이 샘플에 관하여
  • Giithub의 Pull Request 및 요구와 개선에 대한 건의도 받아들입니다. 마음대로 사용하세요!
  • 좋은 웹페이지 즐겨찾기