Hackintoshの完成度を評価する目安は色々あります。例えば、起動するかどうか、画面が出るか、音が出るか、LANに接続できるか、WiFiが動くか、iPhoneと連携できるかなどあります。中でも、iMessageが動くかどうかは機種情報が正しく設定できていることの目安になります。
Table of Contents
iMessage騒動
2014年の8月に、多くのHackintoshが、iMessageに繋がらなくなりました。「カスタマーコード」が表示され、iMessageサポートに連絡せよというダイアログが出て、締め出されて(ロックアウト)しまったのです。サーバ管理者側でセキュリティポリシーが変更されたことなので、具体的にどうなったのか知る由もありません。でもHackintoshコミュニティが手探りで試し尽くしたところ、機種ID、ロムとメインロジックボードのシリアル番号情報が、接続ごとに変動したり、フォーマットが正しくない場合に接続できないらしいとわかりました。
2014年のセキュリティ強化はあまりに過激すぎたのか、Appleサポート掲示板を見ると、本物のMacユーザにも支障が出ていたようです。セキュリティはその後、緩んだり厳しくなったりして、11月頃には、とうとう実機のシリアル番号じゃないと接続できなくなったこともありました。でも2015年の2月のバレンタインデーに、突如チェックが緩和され、ロックアウトが発生しなくなりました。それでも、シリアル番号やボードシリアル番号などは、設定機種に合った正しいフォーマットのデータを継続的に使用することが良いとされています。間違った設定を行っても、ロックアウトには至らなくなりましたが、接続できない問題が発生するようです。
en0に設定する
iMesssageに限らず、Appleのネットサービスを利用するためには、EthernetもしくはWi-FiのBSD装置名がen0である必要があります。実機がそうなっているからです。en0になっていないと、iMessageは使えませんし、App Storeへの接続でもエラーが出ます。
以下の記事でも紹介していますが、
以下のファイルを消して再起動すれば良いです。
- /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
- /Library/Preferences/SystemConfiguration/Preferences.plist
また、en0があってもこれの状態がBuiltinになっていないと接続できないことがあるようです。コメントで教えていただきました。こちらに説明があります。これの対処法も、上記のファイルを消して再起動すれば良いようです。
シリアル番号類を正しいフォーマットで設定する
先のiMessage騒動の時に、iMessageに認められる正しいシリアル番号のフォーマットが、コミュニティの協力で調べられました。その結果が、Clover Configuratorの自動生成機能に組み込まれています。なので、これを利用して、正しい情報を設定しておけば良いです。以下の記事で紹介しておきました。
注意すべき点は、一回設定したら、継続して使い続けることです。iMessageにログインするたびに機種情報が変動すると、不正な利用とみなされて接続できなくなる場合があるようです。
iMessageへの接続失敗を無かったことにする
以前にiMessageにログインしようとして失敗したことを無かったことにするためには、以下のファイル/ディレクトリを消して再起動すると良いそうです。
- ~/Library/Caches/com.apple.Messages*
- ~/Library/Caches/com.apple.imfoundation*
- ~/Library/Preferences/com.apple.iChat*
- ~/Library/Preferences/com.apple.imagent*
- ~/Library/Preferences/com.apple.imessage*
- ~/Library/Preferences/com.apple.imservice* ~/Library/Messages
ただし、ロックアウトが発生していた時は、ローカルの記録をいくら消去しても無駄でした。失敗した記録は当然ですがサーバ側にも残っているようです。
そのほかの条件
大抵の場合は、en0にすることと、SMBIOSで機種情報を正しく設定することで、iMessageを利用できます。それでも、接続がうまくいかなくて苦労している人もいるようです。ネット上にはたくさんの対処法が紹介されています。わかりやすいガイドには以下があります。
iMessageのメッセージが届かないとか、遅延するなどの問題も報告されますが、実機を使っても、同様なことが発生します。なので、実はHackintoshの問題ではなく、iCloud / AppleID自体のトラブルである可能性も高いです。
また、古くからのApple IDユーザのアカウントであったり、クレジットカードを登録しているアカウントは問題を起こしにくいという噂もあります。本当かもしれませんし、都市伝説みたいなものかもしれません。さらには、最近はApple IDが2ファクタ認証に移行しつつあります。2ファクタ認証しているApple IDは従来よりセキュアなので、その結果ロックアウトされにくいように思います。何れにしても、サーバ側でどのように運営しているかは謎ですし、そのポリシーも変化していると思われます。
ども、Boot macOSさん
>古くからのApple IDユーザのアカウントであったり、
>クレジットカードを登録しているアカウントは問題を起こしにくいという噂もあります。
>本当かもしれませんし、都市伝説みたいなものかもしれません。
最近はセキュリティ観点上で安全が確保されたAppleIDじゃないといろいろ問題が起こりやすい展開になってるかもですよね?まだ感覚レベルというかなんかそうゆう気がしてしまうのですが。。。
>実はHackintoshの問題ではなく、iCloud自体のトラブルである可能性も高いです。
さらにAppleIDのトラブルっちゅうのもあるかもって気がしてます。
iOS11とmacOS High Sierra 10.13以降の組み合わせでiMessageやFaceTimeを動かそうと思うと、事実上の標準として、いわゆるデファクトで2ファクタ認証が要求されてるだけではなく、仕様的に動かないレベルにきてるのかもかもですね。いろいろ調べても明確に必須という文言が書いてあるわけではないんですけど、iOS11とmacOS High Sierra 10.13では自動的に2ステップ確認から2ファクタ認証にアップデートされてたという流れの中で、2ファクタ認証とiMassege & FaceTimeと絡めて補足していかなきゃいけないかもですね?
2ステップ確認のユーザーが「iOS 11」および「macOS High Sierra」を搭載したデバイスでサインインすると、Apple IDが自動的に2ファクタ認証にアップデート。
https://applech2.com/archives/ios11-new-features-update-to-two-factor-authentication.html
Apple IDの2ファクタ認証と2ステップ確認の違いや設定する方法について
https://www.sin-space.com/entry/2step-vs-2Factor-Authentication
あとFaceTimeでロックアップされても、最近はアップルサポートに電話してもだめというか、パスワードリセットかなんかを指示されるとかいう感じの話もあったような気もするんですが、どこで読んだかを忘れちゃいました。。。Appleさん的には不正アクセスの疑いのあるパターンとして認識されてフラグが立っちゃうパターンなのかもしれないとも考えられるし、そうだとしたらパスワードリセットを指示されるというのは関連性として符合しますよねぇ?
Apple ID のパスワードを変更する
https://support.apple.com/ja-jp/HT201355
ここ最近はApple IDのパスワードリセットやってないですけど、今はもしかして2ファクタ認証に無慈悲に移行を強要されるのでしょうかね?
SideCarを検証するのに、今はいやいや2ファクタ認証に移行を果たしたんですけど、それまでは2ファクタ認証はめんどくさい、いちいちうるさくなるし、なんとかの質問3つ覚えるもの嫌で、なにがなんでも2ファクタ認証に抵抗してた抵抗勢力の一派なんですけど、もう観念して実際の使用環境は2ファクタ認証で使って、それとは別に実験、検証、お遊び用のHachintoshでは2ファクター認証に参加をさせないようにしています。
検証専用のクレジットカードの紐付けなしの第二AppleIDを所有して、それで検証する必要があるときはそっちでやるような方法をとらなきゃいけないかもって思ってます。
説明いただきありがとうございます。2ファクタ認証のことも加筆しておきました。Apple IDは昔から持っている2ファクタ認証してクレジットカード登録してそこそこ課金をしているのを一つだけしか持ってないです。信者の鑑ではと思ってますw。そのせいか2014年の事件以来はあまりトラブルに陥ってません。実験・検証・お遊び用のマシンにはAppleIDを登録せず、使い続けると決めたところで登録してます。今調べたらhackintosh, 本物Mac, ジャンクMac, iPad, iPhone, Watch、放置デバイスを含めて10台以上登録していました。
実機からは、FaceTimeもImessageも使えるのに、どうして、hack機からはできないのでしょうか。
考えられる仕組みをお教えくださいませんか
Appleの中の人が決めているので、推測に過ぎないのですが、シリアル番号の形式が間違っていたり、機種idと整合していなかったり、それらが短期間位変更されたりすると、ロックされるようです。hackintoshを除外する目的でロックしているのではなく、Apple IDへの悪意のあるクラッキングが行われている可能性があるとして、保護のためにロックされるのだと思います。
いつもこのサイトを参考にさせてもらっています。
Catalinaではうまく動いていたFaceTime/iMassage/iCloudなのに、BigSurにして以来「サーバに接続できません」とエラーが発生するようになりました。
このガイドに従って、対処していましたがそれでもうまくいきませんでした。
en0になっているのにおかしいと思いましたが、ようやく
https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html#fixing-en0
のfixing-en0のあとのBuilt-inにチェックマークが入ってないことに気付き、変更後ようやく動くようになりました。
CatalinaまではBuilt-inはそこまで見られていなかったようですがBigSurからは厳しくなったようです。
情報ありがとうございます。本文に追記しておきました。