はじめに
AppleWatch向けのアプリでも作ってみようかと久しぶりにXcodeを触ってみました。
iPhoneアプリは簡単に動いていたのでAppleWatchも簡単に動くかと思いきや、エラーが発生して実機デバッグができるようになるまで数日かかってしまいました。
他にも困っている人がいるかもしれないので、やったことを整理しました。
エラーの症状
- XCodeでAppleWatchのプログラム(SwiftUI)をbuild
- シミュレータ上では動くことを確認。
- TargetをAppleWatchの実機に切り替えて動かそうとすると
"AppleWatch名" via "iPhone名" (waiting for first unlock)
というメッセージが出てきてAppleWatchにアプリを転送できない。
使用環境
項目 | 機種 | バージョン |
---|---|---|
パソコン | MacBookAir M2 | Ventura 13.3.1 |
iPhone | iPhone 13Pro | iOS16.4.1 |
AppleWatch | AppleWatch Series5 | WatchOS 9.4 |
Xcode | 14.3 |
注:OSやXcodeのバージョンは下記記事にて更新後の状態
やったこと
1. MacOS、iOS、WatchOSをすべて最新版に更新する
下記記事を参考に更新。
2. Xcodeを最新版に更新
MacのAppStoreで参考版に更新。
3. iPhoneを開発者モードに切り替える
(1) iPhoneで設定アプリを開く
(2)「プライバシーとセキュリティ」を開く
(3) 下の方にあるデベロッパモードをクリック
(4) 注意事項をよく読んでからデベロッパモードをONにする
4. AppleWatchを開発者モードに切り替える
切り替えはAppleWatch側で行います。
iPhone側のWatchアプリではありません。
ここがハマりどころの一つでした。
(1) AppleWatchで設定アプリを開き、「プライバシーとセキュリティ」を開く
(2)「デベロッパモード」を開く
(3) 注意事項をよく読んでからデベロッパモードをONにする
英語の注意書きはiPhoneの時と同様の内容が書かれています。
(4)再起動を求められるので「Restart」をクリック
(5)再起動後にもう一度確認を求められるので「Turn on」をクリック
5. MacとiPhoneの間をUSBで有線接続する
ここもハマりどころでした。
本来、XcodeはUSB以外にWifi経由でも実機に転送が可能です。
iPhoneアプリはWifi経由でも無事転送できていましたが、WatchアプリはWifi経由ではうまく転送できませんでした。このため、USBで有線接続することにしました。
結果
私の環境では、上記の対策を行った状態で
とすることで、AppleWatchにアプリを転送できました。
うまく行かない場合は、各機器を一通り再起動すると良いかもしれません。
さて、何を作りますかね〜
では、また。