AppleWatch Compolication Controller의 Sample(초보자용🔰)

실장할 때 아래의 보도를 참고하였다.
교류란 무엇입니까?이렇게 말하면 이쪽을 보면 더 좋을 것 같아.
http://qiita.com/HIkaruSato/items/66e7857435bbcd4f75f9

Commplication이란?


애플워치가 시간을 표시할 때 오른쪽 아래에 표시되면 바로 프로그램을 시작할 수 있습니다.여기서부터 자신의 앱을 시작하면 여성들에게 인기가 많을 것이다.

                ☝준비됐습니다.

목적:CompolicationController의 샘플을 추가하고 싶습니다


해외의 사이트를 포함해 샘플이 적기 때문에 일부 출처를 살짝 공개했다.코멘트로.
아래 샘플
ComplicationController.swift

import Foundation
import ClockKit

class ComplicationController: NSObject, CLKComplicationDataSource {

    //complication.familyはプロジェクトで設定したものが落ちてくる
    //TARGET -> WatchKit Extension -> General -> Conplications Configurationでチェックつけた奴が落ちてくる
    //今回はConfigurationでチェックを付けていないものはnilで返すようにしている
    func getCurrentTimelineEntryForComplication(complication: CLKComplication, withHandler handler: (CLKComplicationTimelineEntry?) -> Void) {

        //ComplicationのTemplate これを関数の最後のhandlerに掴ませる
        var template: CLKComplicationTemplate?

        //他の例にならってswitchに
        switch complication.family {
        case .ModularSmall:
            //こっちは小文字がイケる
            let modularSmallTemp = CLKComplicationTemplateModularSmallSimpleText()
            modularSmallTemp.textProvider = CLKSimpleTextProvider(text: "Test")
            template = modularSmallTemp
        case .UtilitarianSmall:
            //こっちは大文字に統一されるっぽい
            let modularSmallTempFlat = CLKComplicationTemplateUtilitarianSmallFlat()
            modularSmallTempFlat.textProvider = CLKSimpleTextProvider(text: "Test")
            template = modularSmallTempFlat
        case .CircularSmall:
            //画像を出すときはこんな感じ
            let modularTemplate = CLKComplicationTemplateCircularSmallRingImage()
            modularTemplate.imageProvider = CLKImageProvider(onePieceImage: UIImage(named: "32pxImage")!)
            //パーセント表示を外殻の円で表示したい時
            //modularTemplate.fillFraction = 0.0
            //modularTemplate.ringStyle = .Closed
            template = modularTemplate
        case .ModularLarge:
            template = nil
        case .UtilitarianLarge:
            template = nil
        }
        //タイムトラベル機能(いらない)を使う時などはdateを使うようですが今回はNSDate()で大丈夫そうです
        let timelineEntry = CLKComplicationTimelineEntry(date: NSDate(), complicationTemplate: template!)
        handler(timelineEntry)

    }
    //カスタマイズ画面のプレースホルダーの設定
    //ほとんど本番と一緒
    func getPlaceholderTemplateForComplication(complication: CLKComplication, withHandler handler: (CLKComplicationTemplate?) -> Void) {
        var template: CLKComplicationTemplate?

        switch complication.family {
        case .ModularSmall:
            let modularSmallTemp = CLKComplicationTemplateModularSmallSimpleText()
            modularSmallTemp.textProvider = CLKSimpleTextProvider(text: "Test")
            template = modularSmallTemp
        case .UtilitarianSmall:
            let modularSmallTempFlat = CLKComplicationTemplateUtilitarianSmallFlat()
            modularSmallTempFlat.textProvider = CLKSimpleTextProvider(text: "Test")
            template = modularSmallTempFlat
        case .CircularSmall:
            let modularTemplate = CLKComplicationTemplateCircularSmallRingImage()
            modularTemplate.imageProvider = CLKImageProvider(onePieceImage: UIImage(named: "32pxImage")!)
            template = modularTemplate
        case .ModularLarge:
            template = nil
        case .UtilitarianLarge:
            template = nil
        }

        //最後にhandlerに持たせるのはtemplateになる
        handler(template)
    }
}
상술한 예라면 시간의 표시가 전혀 없기 때문에 심사에 통과할 수 있을지 모르겠다(여보세요)
이외에도 시간여행 기능(필요 없음), 프라이버시를 고려한 정보 표시 여부 등을 설정하고, 이 내용을 적으면 앱 화면에 스스로 설정한 값이 나와 감정이 고조될 것을 보증한다.

좋은 웹페이지 즐겨찾기