Завод 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 – спеціальна ревізія операційної системи, в якій інструментарій дозволяє відновити систему, завантажити образ та переставити.
Коротко про порядок дій та вимоги:
- AppStore + iCloud; Вимоги: встановлена OS X, вихід у мережу та справжній серійний номер. Після заводу цих сервісів вам стануть доступні оновлення та синхронізація (наприклад, паролі із Safari з iPhone).
- iMessage + FaceTime; Вимоги: Виконаний пункт №1, вилучені дані з комп'ютера Mac.
- HandOff +Continuity; Вимоги: Виконані пункти №1 та №2, єдина локальна мережа між пристроями. Також бажано мати нативний Wi-Fi 802.11n+ та нативний Bluetooth 4.0LE.
З теорією розібралися. Приступимо до практики.
1. Mac AppStore + iCloud
Тут все просто. Нам потрібно:
- En0 на інтерфейсі Ethernet чи Wi-Fi;
- Валідний (не обов'язково справжній!) серійний номер;
1. En0 на інтерфейсі Ethernet або Wi-Fi:
Відкриваємо меню “/Про це Mac/Звіт про систему/Розміщення”. Знаходимо там наш Ethernet або Wi-Fi інтерфейс (а може бути обидва), і дивимося на пункт “Ім'я BSD-пристрою”:

І бачимо, що інтерфейс Ethernet є En0 пристроєм. Також якщо у вас Wi-Fi інтерфейс, а не Ethernet, є En0, то також все добре. Отже, робити нічого не потрібно.
Але що робити, якщо у вас En0 присвоєно якомусь дивному інтерфейсу, типу Bluetooth-PAN, хоча у вас навіть і блютуза немає, а Ethernet взагалі En3? Виконайте такі кроки:
Заходьте в “Системні налаштування/Мережа”, та по черзі видаляйте всі інтерфейси. Не турбуйтеся, це тимчасово 🙂

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

Застосовуємо, перезавантажуємося знову, і додаємо всі інші інтерфейси.
Готово! MacAppStore та інші сервіси з перевіркою En0 коректно працюють.
"Але що робити, якщо в моєму нетбуку або комп'ютері немає мережевої карти, і стоїть Wi-Fi?", ймовірно подумали ви.
Для цього дядько Rehabman створив NullEthernet. Проньому докладніше тут. Виконуєте і повертаєтеся вже до другого пункту.
2. iMessage, FaceTime, та встановлення з Recovery
Для заводу iMessage, FaceTime, а також установки системи з Recovery, (також існує думка, що ці дані впливають на роботу Handoff), нам знадобиться:
- Clover та Intel (з хамом нам не по дорозі);
- "Секретні дані" ROM та MLB;
- Валідний (не справжній!) серійний номер;
- UUID нашого обладнання;
- Коректний Board-ID від нашого SMBIOS;
- Прямі руки або голова, що працює в режимі виконання алгоритму. Найкраще, коли ці два параметри активні одразу.
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?
Якщо у вас підтримуваний інтерфейс, і ви правильно його завели, то вам нічого не доведеться робити додатково. Виконуєте перші два пункти, і третій у подарунок 🙂