せでぃのブログ

ブログ初心者おいどんのどうでもいい愚痴やどうでもいい愚痴やどうでもいいマメ知識などを披露するチラシの裏です。

Watchアプリ作る人の根性スゲーと思った

wayohoo.com
 AndroidWearもだけど、AppleWatchも大概。

コードの書き方が異なる

 これはある程度予想してた。してたんだけど、ラベルの書き方まで違うのは正直、面食らった。しかもsetTextって……垢抜けないアライドテレシスかルータ・スイッチ統合前のCiscoSystems時代のコマンドを見ているようだよ。だっせぇ。何のためにSwftまで覚えさせられたんだよ。
 アイコン作成、国際化対応、プロビジョニングプロファイル(端末認証)まで、アプリ申請のための準備作業すべてが二度手間である。め、面倒くせぇ……。

iPhoneApp

@IBOutlet weak var mainLabel: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let str: String = "Hello"
    mainLabel.text = str
}

WatchApp

@IBOutlet weak var mainLabel: WKInterfaceLabel!

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)
    // Configure interface objects here.
    let str: String = "Hello"
    mainLabel.setText(str)
}

iPhoneアプリのバンドルという位置付け

 試しにAppleWatchのシミュレータを起動してみようとした開発者は、ふと疑問に思うはずだ。え? Watchアプリの開発したいんだけど、iPhoneアプリのコードは後でどうするの?
 共通のプロジェクト内(緑枠)にiPhoneアプリ用のコード類(青枠)があり、Watchアプリ用のフレームワーク(WatchKit.framework)を追加することでWatchアプリ用のコード類(赤枠)が追加されるという手順なのです。
f:id:Sediment:20150531164825p:plain
 え? 作るんですよ? iPhoneアプリの「バンドル」という位置付けだから、iPhoneアプリ側もクソでも何でも作る必要がある。watchアプリだけで審査が通るかどうか不明。少なくとも、info.plistのバージョンは確認されるようだ。ユーザ視点でのAppleWatchアプリのインストール手順はこれだもん。
Apple Watchにアプリを追加(インストール)する方法 | Apple Watch Wave

2度手間でDL数は1

 ですしね。ダミーiPhoneアプリで審査が通るならまた違うんだろうけどね。