iOS 14.8 を実行している iPhone X を checkra1n で初めて脱獄したとき、さまざまな脱獄の調整 (特に通知の動作を変更することを目的とした調整) をテストしようとしているときに気付き始めたのは、デバイスがiMessageを受信できなくなったことです。
この図では、iMessage が受信者への送信に失敗しています。
iMessageは問題なく送信できたのですが、ジェイルブレイクした端末は受信を認識しておらず、結果として通知も来ませんでした。さらに悪いことに、iCloudに接続している他のデバイスでは表示される会話の吹き出しが、メッセージアプリにさえ表示されませんでした。
最初に直感的に思いついたトラブルシューティング手順は、デバイスをジェイル状態に再起動し、ジェイルブレイク関連の何かが問題の原因になっているかどうかを確認することでした。そしてなんと、再起動後、すべてが期待通りに動作しました。ご存知ない方のために説明すると、ジェイル状態とは、セミテザードまたはセミアンテザードのジェイルブレイク済みデバイスを再起動した後の状態です。この状態では、ジェイルブレイクの調整機能は動作せず、ジェイルブレイクでインストールしたアプリは起動しようとするとクラッシュします。
次に行ったトラブルシューティングは、ジェイルブレイク済みの状態で再起動し、ジェイルブレイクのTweakが問題の原因かどうかを確認しようとしたのですが、持っていたすべてのジェイルブレイクのTweakをアンインストールしても問題は解決しませんでした。様々なTweakの挿入方法によって同様の問題が発生したというオンラインの記事を読んだことを思い出し、別の方法を試しました。Tweakの挿入方法を変えてみたのです。
Substituteはバグ修正と改善を含む定期的なアップデートを受けているため、checkra1nで脱獄してからはTweakの注入にSubstituteを使っていました。Cydia Substrateは最近ほとんどアップデートされていない、あるいは全くアップデートされていないため、時代遅れの選択肢よりもスムーズに動作するだろうと期待していましたが、少なくとも私の場合は、Substituteを除外するのは間違いでした。
Substituteをアンインストールし、Cydia Substrateに置き換えたところ、ジェイルブレイクしたiPhoneが当初期待していた通り、再びiMessageを受信できるようになりました。この修正に数週間満足しており、この記事を書いている時点でも期待通りに動作し続けています。
/r/jailbreakで、主に checkra1n と unc0ver ユーザーに影響する同様の報告を複数見かけました。そのため、これは Substitute に共通する問題である可能性があります。checkra1n と unc0ver ユーザーのほとんどが、ボックスへの微調整注入に Substitute を使用していることを考えると、これは懸念すべき事態であり、さらなる調査を行う価値があります。
もちろん、Cydia Substrate は iPhone X 以前などの arm64 以前のデバイスのみをサポートしているため、iPhone XS 以降などの arm64e デバイスは、それらのデバイスのユーザーが代わりに libhooker を使用した Odyssey または Taurine エコシステムを試して調整を注入しない限り、Substitute でしか使用できないことになります。
参考までに言うと、Cydia Substrateはおそらくarm64eデバイスをサポートするようにアップデートされないでしょう。Saurik氏によると、これらのデバイスは内部的に変更が多すぎるため、対応に必要な作業にコミットできないとのことです。とはいえ、このiMessageの問題を解決できる可能性のある解決策を利用できるのは、主にcheckra1nユーザーと、arm64端末を使用しているunc0verユーザーの一部に限られます。
残念ながら、この問題を抱えるarm64eデバイスをお使いの方は、この問題を解決するSubstituteアップデートを待ち続けるか、その間に別の脱獄ツールに切り替えるかの選択を迫られます。残念ながら、checkra1nやunc0verのエコシステムに慣れている方にとっては、どちらの選択肢もあまり魅力的ではありません。
Cydia Substrateをまだ使用しておらず、互換性のあるデバイスをお持ちで、この記事で説明した問題の解決に使用してみたい場合は、checkra1nまたはunc0verの脱獄アプリにプリロードされているBingnerリポジトリから入手できます。何らかの理由でこのリポジトリをまだ入手していない場合は、以下のURLを使用してパッケージマネージャーアプリに追加できます。
https://apt.bingner.com/
この方法は私の状況ではうまくいきましたが、すべての人に効果があるとは限りません。デバイスの設定はそれぞれ異なるため、例えば競合する脱獄ツールなど、根本的な原因が異なっている可能性があります。それでも、Cydia Substrateが実行できるデバイスをお持ちの場合は、この方法を試してみることをお勧めします。私のように運が良ければうまくいくかもしれません。
ジェイルブレイクしたiPhoneやiPadで、iMessageで同じ、あるいは似たような問題が発生したことはありますか?ぜひお知らせください。また、下のコメント欄で、どのように解決したかをお聞かせください。