LoginSignup
3
4

More than 1 year has passed since last update.

既存のiOSアプリにwatchOS Appを追加する

Posted at

はじめに

これまではStoryboardを用いたwatchOSのアプリ開発ができていたようですが、最近はそれがなくなり、SwiftUIしか使えなくなったようです。
なので、Storyboardを用いた既存のiOSアプリにwatchOSアプリを追加する方法がだいぶ変わっていたため、まとめておきます。

Targetの追加

まずはTargetを追加します。
スクリーンショット 2022-12-25 2.47.50.png
こちらの+ボタンから、
スクリーンショット 2022-12-25 2.49.24.png
watchOSの項目の中のAppを選択します。
スクリーンショット 2022-12-25 2.57.05.png
名前は「Watch + 既存アプリの名前」などにしておくといいでしょう(改善の余地あり…)。また、Watch App for Existing iOS Appを選択してください。
スクリーンショット 2022-12-25 2.59.16.png
Activateします。

次に、TARGETSからiOSアプリの方を選択し、General > Frameworks, Libraries, and Embedded Contentの欄をみます。
もしそこに先ほど追加したwatchOSのアプリが記載されていなければ、+からwatchOSアプリを追加します。

スクリーンショット 2022-12-25 3.02.44.png
スクリーンショット 2022-12-25 3.05.04.png
以下のようになればOK。
スクリーンショット 2022-12-25 3.06.27.png

Bundle Identifierの設定

次に、2つのTargetのBundle Identifierを設定していきます。

追加したての状態だと、watchOS側のBundleがこのように不完全になっているかと思います。
スクリーンショット 2022-12-25 3.08.09.png

iOSアプリ側のBundleをコピーし、watchOS側にペーストします。
スクリーンショット 2022-12-25 3.09.30.png
スクリーンショット 2022-12-25 3.10.43.png
このようになればOK。

また、watchOSのInfo.plistWKCompanionAppBundleIdentifierに、今コピペしたiOSのBundle Identifierを入力します。
スクリーンショット 2022-12-25 3.13.01.png
スクリーンショット 2022-12-25 3.13.16.png

ここまで設定することで、iOSアプリにwatchOSアプリを追加することができました🎉🎉

実行する時

AppleWatchで実行する時・iPhoneで実行する時で、それぞれ実行しなければいけません。
スクリーンショット 2022-12-25 3.17.43.png
AppleWatch側を実行するとなぜかiPhone側のアプリが閉じてしまうので、両方とも同時に実行しておきたい時にはAppleWatch→iPhone の順番で実行するようにした方がいいでしょう。

まとめ

現在あるほとんどの記事で「WatchApp Extension」が出てきますが、watchAppとwatchApp Extensionを一度に追加する機能がもうなくなってしまっているので、この記事のようにやるのが一つの方法だろうと思います。
また、watchOSの開発にSwiftを使うことはもうほとんどできないようになっているようですから、頑張ってSwiftUIに切り替えていきましょう。

3
4
0

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
3
4