iOSショートカットのiCloud共有エラー対策

先日、子供が道端で見つけた花をiPhoneで撮影し、位置情報や地図を合成してポストカードにするための「iOSショートカット」を作成しました。この仕組み自体は非常に満足のいく仕上がりとなり、同様の試みをする方々へ向けて共有したいと考えたのが、今回の事端の始まりです。

目次

iOSショートカットの共有

作成したショートカットを不特定多数の方に利用してもらうには、Appleが提供するiCloud共有リンクの発行が最も効率的です。リンク一つで、誰でも私の作成したレシピを自身の端末に取り込むことが可能になります。

iCloudサインイン済みにもかかわらず作成できないエラー発生

共有操作を行った際に不可解な障害に直面しました。ショートカットアプリ内の同期設定がすべて「オン」になっている。当然、Apple IDにも正常にログインしている状態です。にもかかわらず、共有リンクを作成しようとするとこの操作を実行するには、iCloudにサインインする必要がありますというエラーメッセージが表示され、処理が強制終了してしまいます。設定画面上は「サインイン済み」であるのに、機能側からは「未サインイン」と見なされる、エラーが生じていました。

ショートカット共有エラー

ショートカット共有の確認手順

このエラーを解決するため、技術コミュニティ(Reddit)の知見を参考に検証を行いました。結論として、iCloud全体のサインイン状態ではなく、ショートカットアプリ個別の同期コネクションが内部でスタックしていることが原因でした。以下の手順を踏むことで、正常な状態に復帰させることが可能です。

アプリ個別の「iCloud同期」を有効化

設定 > アプリ > ショートカット を開き、その中にある「iCloud同期」を有効にする

iCloud Driveの基本設定を有効する

設定 > iCloud > iCloud Drive が「このiPhoneを同期」を有効にする。
これが無効な状態では、ショートカットのメタデータをクラウドへアップロードすることができません。

ショートカットの個別同期フラグの再起動

これが最も重要な工程です。設定 > iCloud > 「iCloudに保存済み」セクションの『すべて表示』 をタップします。アプリリストの中から「ショートカット」を探し、スイッチを一度無効にします。数秒待機した後、再び有効に戻します。

オフオン切り替え

認証セッションの再確立

スイッチを入れ直すことで、ショートカットアプリとiCloudサーバー間の認証トークンが再発行されるようです。私の環境ではこの操作に加え、iPhoneの再起動を行うことで、共有リンクの発行が可能になりました。

まとめ

自作ショートカットをブログで配布するという目的の前に立ちはだかったのは、iCloudサインイン済みにもかかわらず認証を求められるというシステム上の不整合でした。この課題に対し、無効化されていたiCloud Driveの再有効化や、アプリ個別の同期設定の見直し、さらにはiCloud内部の同期スイッチを「オフからオン」へという解決策を講じることで、共有リンクを発行することができました。