Миттєва втрата ваги як позбавити Universal Apps; Компанія Eclectic Light
Щойно ми отримаємо вдосконалення, як Universal Apps, які працюють рідно як на Intel, так і на Apple Silicon Macs, як користувачі хочуть видалити з них виконуваний код і зробити їх лише для Intel або ARM. У цій статті розглядається, що пов’язано із зачищенням універсальної програми, щоб вона працювала лише на одній архітектурі, і чи це можливо, або порушує їх підпис.

Останній перехід процесора від Apple розпочався у 2006 році, коли стали доступні Intel Macs. Наступного року в Mac OS X 10.5 було введено підписання коду, і воно вперше було перевірено Gatekeeper ще в 2012 році, в Mac OS X 10.8. Отже, весь останній перехід з його універсальними двійковими файлами був завершений до того, як підписання коду стало поширеним або застосованим. З Каталіною та Біг Суром безпека змінилася до усякого визнання: хоча вони все ще можуть запускати непідписаний код, це тепер виняток із правила, згідно з яким весь виконуваний код повинен бути підписаний та, як правило, теж завірений нотаріально.
Під час цього останнього переходу багато користувачів позбавили своїх універсальних бінарних файлів, або PowerPC, або коду Intel, відповідно до архітектури їхніх Mac на той час. Оскільки виконуваний код часто становить лише невелику частину від загального розміру програми, простір для зберігання даних, який вони часто отримували, просто не коштував зусиль. Тоді я критично ставився до цього зачищення, але користувачі робили це все одно.
Чи це можливо за допомогою сучасних універсальних програм та сучасних засобів захисту? Чи буде втручання в універсальні двійкові файли порушити підписи коду та нотаріальне засвідчення та спричинити хаос?
Зачистка універсальної програми
Я впевнений, що хтось уже створює утиліту для цього, але наразі я скористаюся командним інструментом lipo, який призначений для цього та пов’язаних із ним файлів із файлами Mach-O. В якості тесту я обрав один із власних Universal Apps, Mints, який має просту структуру. Він складається з одного виконуваного двійкового файлу Mach-O, який знаходиться в його стандартній папці Contents/MacOS/Mints у додатку. Більш складні програми містять двійкові файли Mach-O в інших місцях, наприклад, допоміжні програми. Додатки майже незмінно містять диліби в/Contents/Frameworks, які також можуть бути універсальними двійковими файлами, але тут я їх проігнорую.
Перш ніж видаляти універсальні двійкові файли, перевірте, які архітектури підтримує файл Mach-O, використовуючи команду типу