前回の記事にも書きましたが
AppleWatchのシミュレータはこと通知に関しては機能性が低く
実機で試してみないと分からないことは多かったです。
そこでハマったポイントをまとめてメモ。
1.AppleWatchのUDIDをdeveloper centerに登録する必要がある。
AppleWatchのUDIDはペアリング済のiPhoneをつないだ状態で
XcodeのWindow>Devicesを見て確認できます。
iPhone同様developer centerでデバイス登録して
デバイスに紐付けた開発用プロビジョニングを用いてビルドする必要があります。
それができていないと
ちなみにアプリケショーン!?というのは原文ママです笑
そのうち直ると思いますが。
2.AppleWatchの通知は初期設定で腕につけている時しか来ない。
これは既にいろんなところで記事になっているので確認だけ。
詳しくは下記リンクなど御覧ください。
Watch App の開発時に通知を楽に検証する方法
http://blog.fenrir-inc.com/jp/2015/04/turn-off-wrist-detection-for-watch-app-development.html
3.通知画面のカスタマイズはカテゴリを指定しないと出来ない。
ストーリーボードにNotification Interface Controllerで
カスタマイズした通知画面を用意してあったんですが
通知画面が標準のままなので困りました。
カスタマイズした通知画面はカテゴリごとに作られていました。
標準ではmyCategoryというカテゴリの名前になっています。
(iPhone側で)通知を予約するインスタンスの
categoryプロパティに同じ名前をセットする必要があります。
4.ローカル通知のDynamic Interface設定はdidReceiveLocalNotificationメソッドで行う。
これは当たり前といえば当たり前なのですが。
プッシュ通知では
ローカル通知ではStaticなままです。
ローカル通知でDynamic Interfaceを使いたければdidReceiveRemoteNotificationの代わりに
didReceiveLocalNotificationを使います。
未解決な問題
1.Dynamic Interfaceにボタンを配置できない。
ストーリーボードでDynamic Interfaceの上にボタンを乗せると下記のエラーが出ます。
その代わり、PushNotificationPayload.apnsで指定したボタンがシミュレータでは表示されましたが
実機では出ません。
PushNotificationPayload.apns(の記述)がシミュレータ専用ということなのか
あるいは(僕が試したローカル通知でなく)プッシュ通知であれば
シミュレータと同じように表示されるのか...?
いずれにせよボタンが配置できず困っているので
情報を待ちたいところです。
2.Long Lookについて
これなんですが、そもそもShort Look / Long Lookで
何が表示されるのかというところから確認したいですね。。。
Dynamic/Staticとは(わざわざ区別してあるぐらいですから)違うんでしょう...(;´д`)
腕の上げ下げで画面が変わる、みたいなのは確かに無かったですね。
@utchari
AppleWatchのシミュレータはこと通知に関しては機能性が低く
実機で試してみないと分からないことは多かったです。
そこでハマったポイントをまとめてメモ。
1.AppleWatchのUDIDをdeveloper centerに登録する必要がある。
AppleWatchのUDIDはペアリング済のiPhoneをつないだ状態で
XcodeのWindow>Devicesを見て確認できます。
iPhone同様developer centerでデバイス登録して
デバイスに紐付けた開発用プロビジョニングを用いてビルドする必要があります。
それができていないと
(アプリ名)のインストールに失敗しました。エラー:アプリケショーンの検証に失敗しましたというエラーがAppleWatchに出ます。
ちなみにアプリケショーン!?というのは原文ママです笑
そのうち直ると思いますが。
2.AppleWatchの通知は初期設定で腕につけている時しか来ない。
これは既にいろんなところで記事になっているので確認だけ。
詳しくは下記リンクなど御覧ください。
Watch App の開発時に通知を楽に検証する方法
http://blog.fenrir-inc.com/jp/2015/04/turn-off-wrist-detection-for-watch-app-development.html
3.通知画面のカスタマイズはカテゴリを指定しないと出来ない。
ストーリーボードにNotification Interface Controllerで
カスタマイズした通知画面を用意してあったんですが
通知画面が標準のままなので困りました。
カスタマイズした通知画面はカテゴリごとに作られていました。
標準ではmyCategoryというカテゴリの名前になっています。
(iPhone側で)通知を予約するインスタンスの
categoryプロパティに同じ名前をセットする必要があります。
4.ローカル通知のDynamic Interface設定はdidReceiveLocalNotificationメソッドで行う。
これは当たり前といえば当たり前なのですが。
プッシュ通知では
とすればDynamic Interfaceの通知画面が表示されますが- (void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler {completionHandler(WKUserNotificationInterfaceTypeCustom);}
ローカル通知ではStaticなままです。
ローカル通知でDynamic Interfaceを使いたければdidReceiveRemoteNotificationの代わりに
didReceiveLocalNotificationを使います。
未解決な問題
1.Dynamic Interfaceにボタンを配置できない。
ストーリーボードでDynamic Interfaceの上にボタンを乗せると下記のエラーが出ます。
Illegal Configuration: Buttons are not supported in Notification interfaces.
その代わり、PushNotificationPayload.apnsで指定したボタンがシミュレータでは表示されましたが
実機では出ません。
PushNotificationPayload.apns(の記述)がシミュレータ専用ということなのか
あるいは(僕が試したローカル通知でなく)プッシュ通知であれば
シミュレータと同じように表示されるのか...?
いずれにせよボタンが配置できず困っているので
情報を待ちたいところです。
2.Long Lookについて
akisute/Masashi Ono@akisutesama通知のShort Look / Long Lookも正しく機能していないですね。本来であればShort Lookを先ず見せて、その段階で中身を見るか見ないかをユーザーが判断してからLong Lookに遷移するはずなのですが、通知を受けた後の腕上げ動作でもうLong Lookになる
2015/04/24 14:40:29
これなんですが、そもそもShort Look / Long Lookで
何が表示されるのかというところから確認したいですね。。。
Dynamic/Staticとは(わざわざ区別してあるぐらいですから)違うんでしょう...(;´д`)
腕の上げ下げで画面が変わる、みたいなのは確かに無かったですね。
@utchari
コメント