Завод 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? Виконайте такі кроки:

Заходьте в “Системні налаштування/Мережа”, та по черзі видаляйте всі інтерфейси. Не турбуйтеся, це тимчасово 🙂

icloud

Використовуємо, підтверджуємо, вводимо пароль.

Після цього відкриваємо термінал та вводимо цю команду:

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

icloud

Застосовуємо, перезавантажуємося знову, і додаємо всі інші інтерфейси.

Готово! 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 Вийде щось типу такого:

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

Вносимо дані до свогоконфіг.

//БІЛЬШЕ НІЯКИХ ДАНИХ В ЦІЄЇ СЕКЦІЇ БУТИ НЕ ДОБАЄ, ВОНИ ТІЛЬКИ ШКІДАЮТЬ

Після цього зберігаємо свій конфіг та виконуємо скрипт Clean_Cache_Apple_Services.command.zip. Він запитає пароль і комп'ютер перезавантажиться.

Після цього можна входити в надсервіс iMessage, FaceTime, і ставити вісь безпосередньо з серверів Apple! Якщо у вас це не спрацювало - або не заведені AppStore та iCloud, або у вас неправильні дані. Якщо перша проблема, вам слід виконати перший пункт зі статті.

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

3. HandOff + Continuity.

А що HandOff + Continuity?

Якщо у вас підтримуваний інтерфейс, і ви правильно його завели, то вам нічого не доведеться робити додатково. Виконуєте перші два пункти, і третій у подарунок 🙂