はじめに
iPhoneの中に入っているヘルスケアデータをCSVに書き出したい。アプリもあるのだがたいてい有料。そこでGeminiに相談したところショートカットを使うとよいという。しかしGeminiでやってもまともにデータが取り出せない。そこでClaudeに移動してやり方を教えてもらった。結論だけを書くと最終的には作れたのだがClaudeの言う通りにしてはダメだった。
実はデータがどのように書き出されているのかを確認しながらやらないと確実に途中で詰んでしまう。さらにGeminiもClaudeも文字ベースなのだが、文字でいくら説明されてもさっぱりわからなかった。さらにどうもGeminiもClaudeもかなり行き当たりばったり。
せめて出来上がりの「図表でもあればなあ」と思ったので今回はプログラムの内容をすべて公開することにした。
目次
まずはShortcutの基本動作とコツ
順番を入れ替えるためには長押し
まず最初によくわからなかったのが順番の入れ替え方。各コードを長押しすると順番を入れ替えることができる。
変数は文字入力ではなく変数として指定
この青文字になっているところが実は「変数」になっている。つまり手打ちしてもプログラムは動かなない。
変数にきちんと値が入っているかは「コンテンツを表示」で確認する
AIにやり方を教えてもらうと「〜してください」と言われるのが、たいていこの通りにやってもうまく行かない。だからステップ・バイ・ステップで「コンテンツを表示」を入れる必要があった。普通のプログラミング言語でいうところのAlertで変数の内容を確認するという手法だ。
プログラムの詳細
検索部
まず、検索部でデータを検索する。このパートに特に難しいところはない。
ループ部
これはAIに聞かないとまず分からないところ。データを1行づつ取り出すためにはループを作成しなければならない。普通のプログラミング言語でいうところのfor eachである。このときに不思議なのは「値(体重)」はそのまま取り出せるという点。しかし開始日を取り出すことができず繰返し項目から明示的に取り出してやる必要がある。おそらくオブジェクトになっているんだろう。
さらにそれをローカル変数に入れ込む。
結合部
テキストデータをローカル変数に入れ込んでいるのだから当然データがこの中に追加されていると思うだろう。だが次の結合部を入れずにファイルを保存すると毎日のデータが独立したファイルとして保存されてしまう。このためファイルを結合してやらないといけない。何じゃそりゃ?とは思うが、そういう仕様になっているらしい。
最後に結合したファイルを保存して終了になる。

iPhoneショートカットを使うなら最初に知っておきたい基礎知識まとめ
iPhoneの中に入っている「ショートカット」は便利そうに見える。だが、少し複雑な処理をしようとすると、急に難しくなる。
簡単な処理のつもりで始めたのに、数時間ハマって泣きそうになった。「ループ?」「結合?」「変数?」何を言っているのか分からないまま、AIに聞いても余計に混乱するだけだった。
そこで今回は、実際につまずいた経験を踏まえて、最初に知っておいたほうがいい基礎知識をChatGPTに聞いてみた。
1. 変数とは「一時的な箱」である
ショートカットでよく出てくる「変数」。これは難しく考える必要はなく、
👉 「あとで使うための箱」
だと思えばいい。
例:
- 体重データを入れる箱
- 日付を入れる箱
- 計算結果を入れる箱
これを意識しないと、「今、何が入っているのか分からない状態」になって詰む。
2. ループとは「1件ずつ処理する仕組み」
データがたくさんあるとき、まとめて処理したくなる。
しかし実際には、
👉 1件ずつ順番に処理するしかない。
これが「ループ(繰り返し)」。
イメージとしては、
「100件 → 1件ずつ読む → 1件ずつ加工」
という感じ。
ここを理解していないと、だいたい失敗する。ちなみに普通のプログラミング言語ではForeachにあたる。
3. 結合とは「バラバラをまとめる作業」
ループの中でデータを作ると、結果は細切れになる。
そのまま保存すると、
- ファイルが大量にできる
- データが散らばる
という悲惨なことになる。
そこで必要なのが「結合」。
👉 最後に全部まとめて1つにする作業。
正直、最初は「なんでこんなことしなきゃいけないのか」と思ったが、そういう仕様らしい。
4. 「コンテンツを表示」は命綱
途中で必ず分からなくなる。
「今、この変数には何が入っているのか?」
これを確認しないと、迷子になる。
そのための機能が「コンテンツを表示」。
これは、
👉 プログラミングでいう確認表示(デバッグ)
のようなもの。普通のプログラミング言語だとalertとかprintとかに当たる。
分からなくなったら、とにかく入れる。
これだけで生存率がかなり上がる。
⑤ ショートカットは3段構造で考える
どんなショートカットでも、基本はこれ。
- 入力(どこから来るか)
- 処理(どう加工するか)
- 出力(どこへ出すか)
例:
- 入力:ヘルスケア
- 処理:ループ+整形
- 出力:CSV保存
これを意識すると、全体が見えるようになる。
おわりに:ハマるのは普通である
ショートカットは「初心者向け」と言われる。だが実際は、小さなプログラミングだ。
- 変数
- ループ
- 結合
- 確認
これを理解するのに、時間がかかるのは当たり前。何時間も悩んだ経験は、あとで必ず役に立つ。同じところで悩んでいる人の助けになれば幸いである。
コメントを残す