Завод MacAppStore и iCloud; iMessage и FaceTime; HandOff и Continuity.

Яблочные сервисы отличаются своей безупречной работой и высоким качеством исполнения. И владельцы OS X это знают. Вот только, владельцам хакинтошей повезло меньше — эти сервисы не работают из коробки, а требуют допила, который также требует некоторых данных с настоящих Mac’ов. Об этих трудностях мы и поговорим в этой статье.


Для начала определимся с терминологией:

  • Mac AppStore (MAS) — магазин приложений, а так же центр обновлений на OS X.
    Подробнее — Mac AppStore (MAS).
  • iCloud — облачный сервис для синхронизации паролей, заметок, и прочих прелестей жизни.
    Подробнее — iCloud.
  • iMessage — сервис обмена сообщениями между пользователями iOS и OS X.
    Подробнее — iMessage.
  • FaceTime — Skype от Apple. Только намного качественнее, и только для пользователей iOS и OS X.
    Подробнее — FaceTime.
  • HandOff — сервис, который позволяет продолжить работу на другом устройстве, начатую на одном.
    Подробнее — HandOff.
  • Continuity — звонки и сообщения на Mac. Как с айфона, только с OS X. Прямо с айфона, но с компа.
    Подробнее — Continuity.
  • Recovery — специальная ревизия операционной системы, в которой инструментарий позволяет восстановить систему, скачать образ и переставить.

Коротко о порядке действий и требованиях:

  1. AppStore + iCloud;
    Требования: установленная OS X, выход в сеть, и настоящий серийный номер.
    После завода этих сервисов вам станут доступны обновления и синхронизация (например, пароли из Safari из iPhone).
  2. iMessage + FaceTime;
    Требования: Выполненный пункт №1, извлечённые данные с настоящего компьютера Mac.
  3. HandOff + Continuity;
    Требования: Выполненные пункты №1 и №2, единая локальная сеть между устройствами. Также желательно иметь нативный Wi-Fi 802.11n+ и нативный Bluetooth 4.0LE.

С теорией разобрались. Приступим к практике.


1. Mac AppStore + iCloud

Тут всё просто. Нам потребуется:

  1. En0 на интерфейсе Ethernet или Wi-Fi;
  2. Валидный (не обязательно настоящий!) серийный номер;

1. En0 на интерфейсе Ethernet или Wi-Fi:

Открываем меню «/Об этом Mac/Отчёт о системе/Размещения». Находим там наш Ethernet или Wi-Fi интерфейс (а может быть и оба), и смотрим на пункт «Имя BSD-устройства»:

И мы видим, что интерфейс Ethernet является En0 устройством. Также если у вас Wi-Fi интерфейс, а не Ethernet, является En0, то тоже всё хорошо.
Следовательно, делать ничего не нужно.

Но что делать, если у вас En0 присвоено какому-то странному интерфейсу, типа Bluetooth-PAN, хотя у вас даже и блютуза-то нету, а Ethernet вообще En3?
Выполните следующие шаги:

Заходите в «Системные настройки/Сеть», и поочередно удаляйте все интерфейсы.
Не беспокойтесь, это временно 🙂

Применяем, подтверждаем, вводим пароль.

После этого открываем терминал и вводим эту команду:

rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

Замечательно. После этого перезагружаемся, заходим в настройки/сеть, и добавляем наш Ethernet или Wi-Fi как первое устройство.

Снимок экрана 2016-09-03 в 1.19.55

Применяем, перезагружаемся снова, и добавляем все остальные интерфейсы.

Готово! MacAppStore и прочие сервисы с проверкой En0 корректно работают.

«Но что делать, если в моём нетбуке или компьютере нет сетевой карты, и стоит незаводимый Wi-Fi?», вероятно подумали вы.

Для этого дядя Rehabman создал NullEthernet. О нём подробнее здесь.
Выполняете, и возвращаетесь уже ко второму пункту.


2. iMessage, FaceTime, и установка из Recovery

Для завода iMessage, FaceTime, а так же установки системы из Recovery, (также бытует мнение, что эти данные влияют на работу Handoff), нам потребуется:

  1. Clover и Intel (с хамом нам не по пути);
  2. «Секретные данные» ROM и MLB;
  3. Валидный (не настоящий!) серийный номер;
  4. UUID нашего оборудования;
  5. Корректный Board-ID от нашего SMBIOS;
  6. Прямые руки или работающая в режиме исполнения алгоритма голова. Лучше всего, когда эти два параметра активны сразу.

1. Clover и Intel.
Это даже не обсуждается. Хамелеон умер давно, он не в состоянии работать с NVRAM. А на AMD вечные проблемы с ядром и взаимодействием системы. Не получится завести, если верить последним данным.

2. «Секретные данные», то есть ROM и MLB.
Единственное, что нам нужно получить с настоящика. Для этого ищем друзей/коллег/родственников с настоящим маком. Буквально на пол минуты.

Что нужно сделать:
Скачать программу iMessageDebug, и запустить её в терминале. Она даст выхлоп, и нам потребуются оттуда две строчки – ROM и BoardSerialNumber (MLB). Копируем себе эти данные, и пока что о них забываем.
Хочу обратить внимание – эти данные не имеют привязки к модели, их можно использовать как на MacPro3,1, так и на iMac17,1. А так же эти данные НЕ банятся. Банятся именно серийные номера.

3. Валидный серийный номер.
Валидный серийный номер – это такой серийный номер, который не обязательно привязан к настоящику, но имеет место быть по синтаксису (правильно образован). Серийный номер с настоящика не имеет преимуществ перед сгенерированным, и даже вреден, т.к. может быть забанен, и проблема владельцу мака, и владельцу хака.

Как его получить:
– Либо взять серийник у родных/друзей/коллег, что означает висящий груз ответственности за этот серийник;
– Либо сгенерировать утилитой Chameleon Wizard.
Обращаю внимание – НЕ CLOVER CONFIGURATOR’ОМ.
Рассмотрим второй вариант подробнее. Открываете программу, переходите на вкладку SMBIOS, и нажимаете Edit.
В вышедшем окне выбираем свою модель, несколько раз тыкаем на кнопочки Random, и копируем получившийся серийный номер.
Идём на страницу https://checkcoverage.apple.com/ru/ru/, и вставляем туда наш получившийся серийный номер.
Если выдаёт ошибку «Извините, данный серийный номер не является верным», то возвращайтесь к пункту по клацанью кнопок Random. И так до победного конца.
Записываем его себе, и идём дальше.

4. UUID нашего оборудования.
Открываем терминал, и пишем команду uuidgen
Выйдет что-то типа такого: F186BBAE-D51F-4C8C-8634-C2C8D498FF2C

5. Корректный Board-ID.
Берём свой смбиос, и ищем его здесь: https://github.com/upekkha/AppleHardwareTest
Обычно он в виде «Mac-942B5BF58194151B», но так же у моделей до 2011 года он был короче, вот таким «Mac-F222BEC8».

6. Собираем данные.

Что нам требуется:
ROM, MLB, SN, Board-ID, UUID.

Предположим, что эти данные у нас следующие:
ROM – 0c4de96f1aa8
MLB (BoardSerialNumber) – C02414604E7EY5CA6
MLB это и есть BoardSerialNumber. Вот только он проверяется по двум разным источникам, поэтому его надо указывать и в SMBIOS в секции BoardSerialNumber, так и в MLB в RtVariables.
SerialNumber (SN) – C02MJS68G085
Board-ID – Mac-7DF21CB3ED6977E5
SmUUID (System UUID) – F186BBAE-D51F-4C8C-8634-C2C8D498FF2C

Вносим данные в свой конфиг.

Секция RtVariables:

ROM / string / 0c4de96f1aa8
MLB / string / C02414604E7EY5CA6

Секция SMBIOS:

Board-ID / string / Mac-7DF21CB3ED6977E5
ProductName / string / MacBookAir6,2
SerialNumber / string / C02MJS68G085
BoardSerialNumber / string / C02414604E7EY5CA6
SmUUID / string / F186BBAE-D51F-4C8C-8634-C2C8D498FF2C
Trust / boolean / Yes

//БОЛЬШЕ НИКАКИХ ДАННЫХ В ЭТОЙ СЕКЦИИ БЫТЬ НЕ ДОЖНО, ОНИ ТОЛЬКО ВРЕДЯТ

Секция SystemParameters:

InjectSystemID / boolean / Yes

После этого сохраняем свой конфиг и выполняем скрипт Clean_Cache_Apple_Services.command.zip. Он запросит пароль и компьютер перезагрузится.

После этого можно входить в сверхсервисы iMessage, FaceTime, и ставить ось напрямую с серверов Apple!
Если у вас это не сработало – либо не заведены AppStore и iCloud, либо у вас неверные данные. Если первая проблема, то вам следует выполнить первый пункт из статьи.

Вот конфиг с нужными строками.

Ах, да. Стырить данные можете попробовать, но они с вероятностью 99% нерабочие, потому что я их из своих преобразовал в нечто иное.


3. HandOff + Continuity.

А что HandOff + Continuity?

Если у вас поддерживаемый интерфейс, и вы правильно его завели, то вам ничего не придётся делать дополнительно. Выполняете первые два пункта, и третий идёт в подарок 🙂


Поздравляем! Все сервисы работают!

Андрей Чернышов, OSXPC

26 комментариев to “Завод MacAppStore и iCloud; iMessage и FaceTime; HandOff и Continuity.

  • Не MBL а MLB )) Это важно!

    • Андрей Чернышов
      5 месяцев ago

      Очень важное замечание, спасибо.
      Всё-таки не стоит работать на чужих исходниках, пусть и это будет мелкий кусок текста…

  • Не помогло после команды в терминале и перезагрузке ethernet всё равно en2

    • Андрей Чернышов
      5 месяцев ago

      Значит не в правильном порядке добавляете устройства.

      • попробуйте удалить устройства, выполнить команду удаления интерфейса и перегрузить хакинтош
        у меня так получилось

  • Вопрос: если в п3. Валидный серийный номер взять с планшета или тлф от Эппл — прокатит или нет?

  • Интересует новая функция с буфером обмена — не работает. Видимо ей все-таки важно наличие именно вай-фая, а этхернет ен0 не годится?

    • Андрей Чернышов
      5 месяцев ago

      Да, как и всему остальному континьюту, кроме звонков и смсок.

      • Да, звонки через мак и аймеседж работают… Никакого способа завести это без вайфая нет?

  • что то не сработал метод : карта стоит как положено En0, серийник не проходит валидацию checkcoverage.apple.com Пробовал генерить Chameleon Wizard, но бестолку, не одни номер не прошел проверку. Как быть ?

  • Спасибо Андрей за статью. В 2011 впервые установил себе OS X на PC, и только сейчас завел себе эти яблочные сервисы. Все расписано грамотно и понятно. Спасибо тебе за помощь.

  • Завод удался.
    Отличный мануал, спасибо!

  • Здравствуйте!
    4. UUID нашего оборудования., — эту команду же нужно писать в терминале хака, я правильно понимаю?
    5. Корректный Board-ID.
    Берём свой смбиос, и ищем его здесь: https://github.com/upekkha/AppleHardwareTest — там нет моего iMac 14,2. Честно говоря, я с этой странице вообще не разобрался. У меня просьба, пожалуйста, объясните поподробней, что там написано, и для чего нужно выполнять написанное.

  • Спасибо за инструкцию, настроил imessage на двух хаках.
    На ноуте есть сложности, оборудование больше всего подходит под MacBookPro11,1.
    Но в Chameleon Wizard нет такого оборудования.
    Как можно сгенерировать серийный номер

  • У меня всегда en1, и ничего не меняется

  • Все сделал четко по инструкции, Rom и MLB взял с MB AIR 12 13 — Сири работает, а при активации фейстайма ошибка

  • Доброго времени суток!
    Не могу решить проблему, при входе в appstore пишет: Your device or computer could not be verified
    В ICloud зашла нормально.

    Что я пробовала:
    1. wi-fi у меня на en0 (делала по этой инструкции)
    2. В Library/Preferences/SystemConfiguration удалила NetworkInterfaces.plist
    3. на Fix_AirPort галочка стоит. Fix_Lan галочку тоже и ставила и убирала, все равно никак
    4. Серийный номер валидный (проверяла на сайте эппл)

    Может кто сталкивался и может посоветовать что еще можно попробовать?

    Стоит El Capitan 10.11.6, интернет подключен через wi-fi (TP-Link 1588)

    Спасибо за внимание!

    • Андрей Чернышов
      2 месяца ago

      Если в айклауд вход произведён нормально, то это локальный конфликт.

      • Спасибо за ответ!)
        а что делать, не подскажите?) я уже просто недели 2 мучаюсь)

        • Андрей Чернышов
          2 месяца ago

          Чистить кэши. Тут с системой что-то неладное.
          В идеале поставить рядом чистую ось и там тестить тесты.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.