ただし調光時はタップ領域が見えにくくなるため、isLuminanceReduced が true のときはボタンを非表示にするか、輪郭だけ残す判断が要ります。App Intents 自体の設計はApp Intents と Siri ショートカットの統合で扱っているので、操作の入口を Siri と共有したい場合はそちらが参考になります。
Rork Max が担う範囲と、自分で詰める範囲
ここまでの実装を通して感じた責任分界を、率直に整理します。Rork Max は、WidgetKit の Provider・Entry・基本ビューという足場を、自然言語の指示からかなり正確に組んでくれます。systemSmall のレイアウトや App Intents の雛形までは、生成された時点で動く状態でした。
一方で、StandBy の三環境(昼・ナイト・常時表示)を出し分ける isLuminanceReduced 分岐、containerBackground への置き換え、更新予算を踏まえたタイムライン設計は、生成コードには入っていませんでした。これは Rork Max の弱点というより、StandBy が「実機を横向きで充電して初めて見える」性質を持つため、生成時のプレビューだけでは検出しようがない領域だからだと考えています。
私の運用ルールとしては、ウィジェットの骨格は Rork Max に任せ、StandBy 固有の調整は必ず実機で一周見てから手で入れる、という分担に落ち着きました。生成 AI を使う場合でも、こうした「プレビューに映らない環境差」は人が見て詰めるしかない、と割り切るのが結局いちばん速いと感じています。
領域
Rork Max 生成
手で詰める
Provider / Entry / 基本ビュー
◎ ほぼそのまま動く
軽微
containerBackground 宣言
△ 手書き背景になりがち
必須
isLuminanceReduced 分岐
✕ 生成されない
必須
更新予算を踏まえたタイムライン
△ 毎分更新を作りがち
必須
操作可能ウィジェット(App Intents)
◎ 雛形は正確
調光時の表示のみ
動作確認のときに見るべき三点
実機で StandBy を確認するとき、私が必ず見ているのは次の三点です。まず、横向き充電・ロック状態でウィジェットが意図したレイアウトで出るか。次に、部屋を暗くして数十秒待ち、ナイトモードに切り替わったときに文字が読めるか。最後に、14 Pro 以降であれば常時表示のまま放置し、更新が深夜に止まらないかを翌朝確認します。
特に三点目は、タイムライン予算を使い切る設計だと「夜中の2時で時刻が固まっている」という形で表面化します。これは App Store のレビューでも指摘されやすく、ウィジェットの基礎データの鮮度問題とも絡むので、ウィジェットの App Group 経由データが古くなる設計で扱っている鮮度管理と合わせて見ておくと安心です。