リクエストがあったので, 少しスマートにした上で作り直しました.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS14.4
スポンサーリンク
ダウンロード
今回は直リンクです.
フロー
RoutineHubをAPIを介してバージョンやリリースノートといった情報を得る方法は先日紹介した通りなので重複してはいます.
先頭にある「辞書」アクションの各々の値は対応するレシピのそれに合わせて書き直してください.
画像の情報はこちらのレシピのものになります.
そのまま"Version"の値を弄ると結果が変わるので試験的に試すのもいいです.
まず先頭の辞書からRoutineHub IDとCurrent Versionを取り出しておきます.
この"Current Version"はそのレシピの現在のバージョンです.
https://routinehub.co/api/v1/shortcuts/"RoutineHub ID"/versions/latest
にアクセスすることで対応するレシピの最新バージョンにおける情報を取得できます.
ここではバージョンが知りたいので取得したデータを辞書化した上で"Version"の値を取得します.
この値が最新のバージョンですね.
Current VersioとLatest Versionが異なれば, 最新のバージョンのダウンロードを促します.
先程取得したAPIデータから"Notes(アップデート内容)"と"Release(リリース日)"を取得し, 好きな体裁にして表示します.
必ずしもアップデートするとは限らないため「メニューから選択」アクションでアップデートするかどうか訪ねます.
アップデートする場合は
https://routinehub.co/shortcut/"RoutineHub ID"/
にアクセスさせます.
アップデートしない場合は何もアクションを入れないことで次の, 本来のアクションへ移行します.
手元のレシピのバージョンと最新のバージョンが一致しなかった場合, 画像のようになります.
(紛らわしいですが3行目の"release"はNotes本文です)
〆
前回の時点でも大したことではありませんでしたが, 今回は冗長な変数定義を行わなかったことでアクション数を22まで減らしました.
実際の処理時間もそんなに待たせるほどかかりません.
海外ではUpdateKitがあるようなんですがどうやって実装しているのがイマイチ把握できないんですね…
JavasciprtやGitへのアクセスも散見されるのでそこから取得してるのかも?
そっちは専門外なのでさっぱりで…
この方法なら実際に見て分かる内容のため手を出しやすいと思います.
そもそもRoutineHubを利用している方がどれだけいるか…というのもありますけどね.