初めてWatch専用Appを作ってリリースしてみた

2022/03/21に公開

はじめに

今回は初めてWatch Appの作り方について調べて作成し、そのままリリースまでしてみました。
今後、Watch Appを作ってリリースしてみたいと考えている人の参考にればと思い記事にしてみました。

環境

・ macOS: Monterey
・ Xcode: 13.3
・ watchOS: 8.5

プロジェクト作成から実機へBuild

早速ですがXcodeを立ち上げてwatchOSのタブを選択します。

2つのApplicationから選択できます。それぞれは以下の通りです。

iOS App with Watch App Watch App
ウォッチアプリを搭載したiOSアプリの開発ができる ウォッチアプリのみの開発ができる

今回はウォッチアプリのみの開発したいのでWatch Appを選択しました。
(公式のドキュメントもつけておきます)

https://developer.apple.com/documentation/watchkit/creating_independent_watchos_apps

初期コードは以下のようになっています。

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
            .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

コードは普通にSwiftUIでのiOSと同じ。

プレビュー

実機へBuildしてみる

iPhoneと同じようにSimulatorを自分のApple Watchに変更してBuildする。

※ここで証明書周りでエラーがでる人はApple Developperにて [Certificates, Identifiers & Profiles]で更新してみてください。筆者更新していなくBuildできなかったので。

アプリ作成〜リリースまで

アプリ作成

実際に書いてみました。
所感としてはSwiftUIで書くことに慣れていれば特に問題なく作成できました!
しかしDatePickerなど使用できない部分もあったのでそこは調べながら進めるしかないといった印象です。
今回は手元で西暦と和暦をサクッと変換してくれるアプリが丁度欲しかったのでだいたい6時間ぐらいで作成できましたが、基本的にはiOSと作る事が多く、Watch側に通知処理などするなどがデフォルトなのかなと想像していますのでその場合は複雑になってボリュームが増えそうな印象です。

リリース

せっかくアプリを作ってみましたのでリリースまで体験してみました。
初Watchアプリ名はSeiwaChangerです!(是非使ってみてください!)
単純に西暦、和暦をそれぞれ指定した年に変換してくれるものですが、書き物の途中でサクッと調べたい時にWatchにあると便利かなと思い作ってみました!
立ち上げてすぐにスクロールで検索できるので爆速で使用することができるのがポイントです。
また変換もトグルで変換できるので使用方法が超単純なところも使いやすいかなと思いました。

手順

アプリができたらまずアイコンを作成します。
とりあえず1024×1024を用意します。

(今回作成したもの)
その他サイズを用意しますがこちらでリサイズしました!
全てAssetsに入れていきます。

後は以下の記事で詳細に説明してありますので参考にリリースしていただければと思います。
https://zenn.dev/moutend/articles/feebf0120dce6e6426fa

※上記記事には無く、Watch App特有で迷った部分

・スクリーンショット
初見ではAppStore ConnectでのAppプレビューとスクリーンショットを登録する画面でどこに写真を入れればいいか分かりませんでした。
結果"メディアマネージャーですべてのサイズを表示"にあるApple Watchにスクリーンショットのを入れるのみで良かったです。サイズも適当にシミュレーターで撮ったものをワンサイズ入れるだけでよかったです。

・Bundle IDについて
これは自分の知識の甘さもありますが、Watch AppはデフォルトでTARGETが3種類用意されていて
・App
・WatchKit App
・WatchKit Extention
それぞれの主な役割として
・WatchKit AppはApple Watch に表示する画面を設計
・WatchKit ExtentionはWatchKit App の画面をコントロールする機能を実装
・AppはWatchKit Extensionを内包してWatchKit Appと通信を行うための親としての役割
があるようです。よってBundle IDはAppのものを使用しました。

リリースしてみて

後はいつものようにプライバシーポリシーを書いて、提出し、約1日半で無事リジェクトも無くリリースされました!
初めてのWatch Appの作成でしたがリリースまでできたのはいい体験でした!
こんな感じで簡単なアプリでも、便利になるなら気軽にリリースしていければと思いますので、今年は何個かリリースに挑戦してみたいと思います!
最後に再度今回リリースしたアプリの宣伝をさせて下さい。

https://apps.apple.com/app/seiwachanger/id1615239477

Discussion