Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Експорт на macOS

Дивись також

На цій сторінці описано, як експортувати проект Godot у macOS. Якщо натомість ви бажаєте скомпілювати редактор або експортувати двійкові файли шаблону з джерела, прочитайте Компіляція для macOS.

Програми macOS, експортовані за допомогою офіційних шаблонів експорту, експортуються як єдиний бінарний пакет "Universal 2" .app, папка зі специфічною структурою, в якій зберігаються виконуваний файл, бібліотеки та всі файли проекту. Цей пакет можна експортувати як є, упакувати в ZIP-архів або упакувати в образ диска DMG (підтримується лише під час експорту з macOS). Універсальні бінарні файли для macOS підтримують архітектури Intel x86_64 та ARM64 (Apple Silicon).

Попередження

Через обмеження файлової системи пакети .app, експортовані з Windows, не мають прапорця executable і не запускатимуться на macOS. Проекти, експортовані як .zip, не зазнають цієї проблеми. Щоб запустити пакети .app, експортовані з Windows на macOS, перенесіть .app на пристрій під керуванням macOS або Linux і скористайтеся командою термінала chmod +x {executable_name}, щоб додати дозвіл executable. Основний виконуваний файл, розташований у підпапці Contents/MacOS/, а також додаткові допоміжні виконувані файли у підпапці Contents/Helpers/, повинні мати дозвіл executable, щоб пакет .app був дійсним.

Вимоги

  • Завантажте шаблони експорту Godot. Скористайтеся меню Godot: Editor > Manage Export Templates.

  • Дійсний і унікальний Bundle identifier має бути встановлений у розділі Application параметрів експорту.

Примітка

A valid bundle ID can only contain alphanumeric characters, hyphens, and periods (A-Z, a-z, 0-9, -, and .). Apple recommends using reverse-DNS format (e.g. com.example.your-game) of a domain you own, so that your bundle ID is guaranteed to be unique. Bundle IDs are case-insensitive. See CFBundleIdentifier.

Попередження

Проєкти, експортовані без підпису та нотаріального засвідчення коду, будуть заблоковані Gatekeeper, якщо вони завантажені з невідомих джерел, перегляньте сторінку Running Godot apps on macOS для отримання додаткової інформації.

Підпис та нотаріальне засвідчення коду

За замовчуванням macOS запускатиме лише підписані та нотаріально завірені програми. Якщо ви використовуєте будь-яку іншу конфігурацію підпису, шукайте обхідний шлях на сторінці Running Godot apps on macOS.

Щоб нотаріально засвідчити застосунок, ви повинні мати дійсний Сертифікат Apple Developer ID.

Якщо у вас є сертифікат Apple Developer ID і ви експортуєте з macOS

Установіть Xcode інструменти командного рядка та відкрийте Xcode принаймні один раз або виконайте команду sudo xcodebuild -license accept, щоб прийняти ліцензійну угоду.

Щоб підписати експортовану програму

  • Виберіть Xcode codesign у опції Code Signing > Codesign.

  • Встановіть дійсний ідентифікатор сертифіката Apple ID (сертифікат "Common Name") у розділі Підпис коду > Ідентифікація.

Нотаріально завірити експортований додаток

  • Виберіть Xcode altool у опції Нотаріальне засвідчення.

  • Вимкніть право Debugging.

  • Встановіть дійсний логін / додаток Apple ID. конкретний пароль або App Store Connect API UUID / Ключ у розділі Нотаріальне засвідчення.

Ви можете використовувати команду xcrun notarytool history, щоб перевірити стан нотаріального засвідчення і скористатися командою xcrun notarytool log {ID} для завантаження логу нотаріальних свідчень.

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

Після завершення нотаріального засвідчення прикріпіть квиток до експортованого проекту.

Якщо у вас є сертифікат Apple Developer ID і ви експортуєте з Linux або Windows

Установіть PyOxidizer rcodesign та налаштуйте шлях до rcodesign у Налаштування редактора > Експорт > macOS > rcodesign.

Щоб підписати експортовану програму

  • Виберіть PyOxidizer rcodesign у опції Code Signing > Codesign.

  • Встановіть дійсний файл сертифіката Apple ID PKCS #12 і пароль у розділі Code Signing.

Нотаріально завірити експортований додаток

  • Виберіть PyOxidizer rcodesign у опції Нотаріальне засвідчення > Нотаріальне засвідчення.

  • Вимкніть право Debugging.

  • Установіть дійсний App Store Connect API UUID/ключ у розділі Нотаріальне засвідчення.

Ви можете використовувати команду rcodesign notary-log, щоб перевірити статус нотаріального засвідчення.

Після завершення нотаріального засвідчення скористайтеся командою rcodesign staple, щоб прикріпити квиток до експортованого проекту.

Якщо у вас немає сертифіката Apple Developer ID

  • Виберіть Вбудований (лише ad-hoc) у опції Підпис коду > Кодовий дизайн.

  • Виберіть Вимкнено в опції Нотаріальне засвідчення > Нотаріальне засвідчення.

У цьому випадку Godot використовуватиме спеціальний підпис, який спростить запуск експортованої програми для кінцевих користувачів. Для отримання додаткової інформації перегляньте сторінку Running Godot apps on macOS.

Параметри підпису

Опція

Опис

Дизайн

Інструмент для підписання коду.

Профіль

«Повне ім’я» або «Загальне ім’я» ідентифікатора підпису зберігається в брелоку macOS. [1]

Файл сертифіката

Файл сертифіката PKCS #12. [2]

Пароль сертифіката

Пароль для файлу сертифіката. [2]

Спеціальні параметри

Масив аргументів командного рядка, переданий інструменту підписання коду.

Параметри нотаріального засвідчення

Опція

Опис

Нотаріальне засвідчення

Інструмент для нотаріального засвідчення.

Ім'я Apple ID

Назва облікового запису Apple ID (адреса електронної пошти). [3]

Пароль до Apple ID

Apple ID - пароль для конкретної програми. Щоб увімкнути двофакторну автентифікацію та створити пароль програми, див. розділ Використання паролів для конкретних програм. [3]

ID команди Apple

Ідентифікатор команди («Організаційний підрозділ»), якщо ваш Apple ID належить до кількох команд (необов’язково). [3]

API UUID

Apple App Store Connect UUID видавця API.

Ключ API

Ключ API Apple App Store Connect.

Примітка

Ви повинні встановити ім’я/пароль Apple ID або UUID/ключ App Store Connect API.

Для більшої інформації дивіться Нотаріальне засвідчення програмного забезпечення macOS перед розповсюдженням.

Права

Дозволи Захищеного виконання

За допомогою дозволів Захищеного виконання можна керувати параметрами безпеки та політикою доступу до ресурсів. Докладніше про них можна дізнатися з розділу Захищене виконання.

Дозволи

Опис

Дозволити виконання коду JIT [4]

Дозволяє створювати записувану та виконувану пам'ять для коду JIT. Якщо використовуються додаткові компоненти з динамічним, або само-змінюваним, рідним кодом, увімкніть їх відповідно до додаткової документації.

Дозволити непідписану виконувану пам'ять [4]

Дозволяє створювати завантажувальну та виконувану пам'ять без обмежень JIT. Якщо використовуються додаткові компоненти з динамічним або само-змінюваним рідним кодом, увімкніть їх відповідно до додаткової документації.

Дозволити змінні середовища DYLD [4]

Дозволяє програмі використовувати змінні середовища динамічного компонувальника для введення коду. Якщо ви використовуєте додатки з динамічним або самозмінним власним кодом, увімкніть їх відповідно до документації до додатка.

Вимкнути перевірку бібліотеки

Дозволяє програмі завантажувати довільні бібліотеки та фреймворки. Увімкніть його, якщо ви використовуєте надбудови GDExtension або спеціальний підпис або хочете підтримувати надані користувачем зовнішні надбудови.

Звуковий вхід

Увімкніть, якщо вам потрібно використовувати мікрофон, або інші джерела введення звуку, якщо він включений, ви також повинні надати повідомлення про використання в параметрі privacy/microphone_usage_description.

Фотоапарат

Увімкніть, якщо вам потрібно використовувати камеру, якщо вона включена, ви також повинні надати повідомлення про використання в параметрі privacy/camera_usage_description.

Розташування

Увімкніть, якщо вам потрібно використовувати інформацію про місцезнаходження зі служб визначення місцезнаходження, якщо вона включена, ви також повинні надати повідомлення про використання в параметрі privacy/location_usage_description.

Адресна книга

[5] Увімкніть, щоб дозволити доступ до контактів в адресній книзі користувача. Якщо це ввімкнено, вам також слід надати повідомлення про використання в параметрі privacy/address_book_usage_description.

Календарі

[5] Увімкніть, щоб дозволити доступ до календаря користувача, якщо це ввімкнено, ви також повинні надати повідомлення про використання в параметрі privacy/calendar_usage_description.

Бібліотека світлин

[5] Увімкніть, щоб дозволити доступ до бібліотеки фотографій користувача. Якщо ввімкнено, ви також маєте надати повідомлення про використання в параметрі privacy/photos_library_usage_description.

Події Apple

[5] Увімкніть, щоб дозволити програмі надсилати події Apple іншим програмам.

Діагностика

[6] Ви можете тимчасово ввімкнути це право для використання власного налагоджувача (GDB, LLDB) з експортованою програмою. Це право має бути вимкнено для експорту продукції.

Дозвіл Пісочниці застосунку

Пісочниця застосунку обмежує доступ до даних користувачів, мереж і пристроїв. Програми з пісочницею не можуть отримати доступ до більшості файлових систем, не можуть використовувати власні діалогові вікна файлів і виконувати двійкові файли (за допомогою OS.execute і OS.create_process) за межами пакета .app. Докладніше про це можна дізнатися з Пісочниця застосунку.

Примітка

Щоб розповсюдити застосунок через App Store, потрібно ввімкнути Пісочницю застосунку.

Дозволи

Опис

Увімкнено

Вмикає пісочницю застосунку.

Мережевий сервер

Увімкніть, щоб дозволити програмі прослуховувати вхідні мережні підключення.

Клієнт мережі

Увімкніть, щоб дозволити програмі встановлювати вихідні мережні підключення.

USB пристрою

Увімкніть, щоб застосунок міг взаємодіяти з USB-пристроями. Цей дозвіл необхідний для використання дротових контролерів.

Bluetooth пристрою

Увімкніть, щоб дозволити програмі взаємодіяти з пристроями Bluetooth. Цей дозвіл необхідний для використання бездротових контролерів.

Завантаження файлів [7]

Надає доступ для читання, або запису, папки користувача "Завантаження".

Файли Зображення [7]

Дозволяє читати, або записувати, папку користувача "Зображення".

Файли Музика [7]

Дозволяє читати, або записувати, папку користувача "Музика".

Файли Фільми [7]

Дозволяє читати, або записувати, папку користувача "Фільми".

Файли, вибрані користувачем [7]

Дозволяє читати, або записувати, довільну теку. Щоб отримати доступ, користувач повинен вибрати теку з рідного діалогового вікна файлів.

Допоміжний виконуваний файл

Список допоміжних виконуваних файлів, вбудованих у пакет програм. Застосунок із пісочницею обмежений виконанням лише цих виконуваних файлів.

Примітка

Ви можете перевизначити дозволи за замовчуванням, вибравши файл користувацьких дозволів, у цьому випадку всі інші дозволи ігноруються.

Змінні середовища

Ви можете використовувати такі змінні середовища, щоб налаштувати параметри експорту поза редактором. Під час процесу експорту вони замінюють значення, встановлені в меню експорту.

експорт змінних середовища macOS

Варіант експорту

Змінна середовища

Шифрування / ключ шифрування

GODOT_SCRIPT_ENCRYPTION_KEY

Параметри / Кодовий дизайн / Файл сертифіката

GODOT_MACOS_CODESIGN_CERTIFICATE_FILE

Параметри / Кодовий дизайн / Пароль сертифіката

GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD

Параметри / Кодовий дизайн / Профіль надання

GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE

Опції / Нотаріальне засвідчення / API UUID

GODOT_MACOS_NOTARIZATION_API_UUID

Опції / Нотаріальне засвідчення / Ключ API

GODOT_MACOS_NOTARIZATION_API_KEY

Опції / Нотаріальне засвідчення / API Key ID

GODOT_MACOS_NOTARIZATION_API_KEY_ID

Опції / Нотаріальне засвідчення / Ім'я Apple ID

GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME

Параметри / Нотаріальне засвідчення / Пароль Apple ID

GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD

Параметри експортування

Повний список доступних опцій експорту можна знайти в довіднику класу EditorExportPlatformMacOS.