HealthKitの差分同期でデータを取りこぼす — HKAnchoredObjectQueryのアンカーを設計する
HealthKitの差分同期で歩数や睡眠が二重に数えられたり欠けたりする原因は、HKQueryAnchorの永続化設計にあります。newAnchorとdeletedObjectsを正しく扱い、再インストールやバックグラウンド更新をまたいでも整合するローカル取り込みの実装を、動くSwiftコードでまとめました。
Rork Max で App Clip を実装する — QR を読んだ瞬間にアプリの核だけを届ける設計メモ
Rork Max が出力するネイティブ Swift を土台に、App Clip の15MB制約・起動URLの受け取り・親アプリへの状態引き継ぎまでを実装ベースで整理します。
クラッシュとして記録されない強制終了 — Rork アプリの JetsamEvent を読む
Crashlytics には何も出ていないのにレビューで「勝手に閉じる」と書かれる。その多くはメモリ超過による OS からの強制終了です。JetsamEvent レポートの読み方と、画像中心アプリのメモリ上限を実測から設計する手順をまとめます。
Rork の Companion アプリで iPhone 実機テストをする方法 — シミュレーターとの違いと設定手順
Rork の Companion アプリを使って iPhone 実機でアプリをテストする方法を解説。ローカルのシミュレーター・クラウド Mac のライブシミュレータ・実機の違いと、Companion のセットアップから動作確認までを手順付きで紹介します。
Rork Max のジオフェンスが20件で頭打ちになる問題を、動的再登録で解く
Rork Max が生成したネイティブ Swift のアプリで、登録したはずのジオフェンスが途中から反応しなくなる——その多くは iOS の「1アプリ20件」という上限に静かにぶつかっています。近い順に20件だけを登録し直す動的再登録の設計と、そのまま組み込める Swift の実装をまとめます。
Rork Max の SwiftUI を @Observable へ移す — ObservableObject で広がっていた再描画を絞り込む
Rork Max が生成する SwiftUI アプリは ObservableObject と @Published をよく使いますが、状態が一つ変わるだけで購読しているビュー全体が再評価されます。Observation フレームワークの @Observable へ移すことで、プロパティ単位に再描画を絞り込む手順と、Instruments で実測したビュー実行回数の変化を、個人開発の作業ログとしてまとめました。
Rork Max のアプリ機能を Apple Intelligence に開く — App Intents Assistant Schemas の設計と、収まらない機能の逃がし方
Rork Max が生成した Swift アプリの操作を Apple Intelligence から呼べるようにする App Intents Assistant Schemas の設計を、固定スキーマへの当てはめ方・収まらない機能の逃がし方・実機での確認手順まで含めて実装ノートとしてまとめます。
Mac を持たずに Rork のアプリを実機まで出す — ブラウザ内シミュレータの守備範囲と落とし穴
Rork のブラウザ内シミュレータで Mac なしにアプリを試せる一方、実機でしか出ない不具合があります。シミュレータで確かめられること・確かめられないことを切り分け、提出前に実機の壁を越えるための手順を整理します。
Rork Max のアプリで、選んだ写真が次回起動時に消えている — PHPicker の限定アクセスで URL を握り続けようとする罠
Rork Max が生成したネイティブ Swift アプリで、PHPickerViewController で選んだ写真が再起動後に読めなくなる——限定アクセスの時代に URL や PHAsset を握り続けようとするのが原因でした。選んだ瞬間に自前ストレージへ実体をコピーする設計をまとめます。
Rork Max のアプリでアプリを起動せずに Live Activity を出す — push-to-start トークンが無言で取れない時の設計
Rork Max が生成したネイティブ Swift アプリで、アプリを一度も開かずにサーバから Live Activity を開始したい。ところが push-to-start トークンが観測できず無言で失敗する——その原因と、トークンを確実に取り切る観測レイヤーの実装をまとめます。
Rork Max の健康アプリで、朝になると歩数が更新されない — HKObserverQuery が無言で止まる background delivery の設計
Rork Max が生成したネイティブ Swift の健康アプリで、アプリを閉じている間の歩数や心拍が反映されない——その多くは HKObserverQuery の background delivery が無言で止まっていることが原因でした。切り分けと、そのまま組み込める観測レイヤーの実装をまとめます。
Rork Max 生成アプリで端末同士を直接つなぐ — MultipeerConnectivity が無言で失敗する Local Network 権限の罠
Rork Max が生成したネイティブ Swift アプリに、サーバを介さず近くの端末同士をつなぐ共有機能を組み込む方法です。シミュレータでは動くのに実機でピアが見つからない——その多くは Local Network 権限まわりの無言の失敗が原因でした。