LoginSignup
4

More than 5 years have passed since last update.

CareKitをシンプルに動作させてみるサンプル

Last updated at Posted at 2016-06-03

CareKit とは?

Introducing CareKit 日本語訳
GitHub
CareKit Framework Programming Guide

CareKit を取得する

git clone --recurse-submodules https://github.com/carekit-apple/carekit.git

開発環境の準備をする

  1. Xcode -> File -> New -> Project -> Single View Application で新しいプロジェクト(名前はCareKitSampleとしておく)を作成する
  2. 余計なものを削除する
    1. ViewController.swift を削除する
    2. Main.storyboard を削除する
    3. Info.plist -> Main storyboard file base name をエントリーごと削除する
  3. File -> Add Files to "CareKitSample" -> clone した CareKit.xcodeproj を追加する
  4. CareKitSampleのProjectを選択 -> TARGETS -> CareKitSample -> General -> Embedded Binaries の + ボタンから CareKit.framework を追加する

実装する

  1. AppDelegate.swift を下記のように書き換える
AppDelegate.swift
import UIKit
import CareKit

extension OCKCareCardViewController {
    class func create() -> OCKCareCardViewController? {
        let fileManager = NSFileManager.defaultManager()
        guard let documentDirectory = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).last else { return nil }
        let storeURL = documentDirectory.URLByAppendingPathComponent("MyCareKitStore")
        guard let storePath = storeURL.path else { return nil }
        if !fileManager.fileExistsAtPath(storePath) {
            do { try fileManager.createDirectoryAtURL(storeURL, withIntermediateDirectories: true, attributes: nil) }
            catch { return nil }
        }
        let carePlanStore = OCKCarePlanStore(persistenceDirectoryURL: storeURL)
        return OCKCareCardViewController(carePlanStore: carePlanStore)
    }
}

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    lazy var window: UIWindow? = UIWindow(frame: UIScreen.mainScreen().bounds)
    lazy var careCardViewController: OCKCareCardViewController? = OCKCareCardViewController.create()
    lazy var navigationController: UINavigationController? = self.careCardViewController.map(UINavigationController.init)

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        window?.rootViewController = navigationController
        window?.makeKeyAndVisible()

        return true
    }
}

今回はCareCardだけを動かしてみました。他のモジュールはドキュメントに書いてある・・・かと

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4