Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Создание приложения для macOS

Для приложений macOS существуют специфичные для платформы требования, которые изменяют процесс сборки. Кроме того, некоторые службы цифрового распространения, которые могут размещать приложения macOS, имеют другие требования. Например, Mac App Store не требует от вас нотариального заверения вашего приложения, поскольку процесс загрузки включает проверку содержимого, аналогичную нотариальному заверению. Если вы нацеливаете свою сборку на конкретную службу цифровой дистрибуции, сначала проверьте документацию по этой службе цифровой дистрибуции, чтобы проверить, различаются ли требования.

Целевая архитектура

Прежде чем создавать приложение для macOS, ознакомьтесь с различиями в наборах микросхем для устройств Apple. В некоторых устройствах Apple используются чипсеты Intel, а в других — кремний Apple. Вы можете использовать Unity для создания как архитектурно-зависимых сборок, так и сборок, предназначенных как для Intel, так и для Apple Silicon. Доступные целевые архитектуры:

  • Intel 64-bit: создает сборку macOS для устройств Apple, использующих чипсеты Intel.
  • Apple Silicon: создает сборку macOS для устройств Apple, использующих архитектуру Apple Silicon.
  • 64-разрядная версия Intel + Apple Silicon: создается сборка macOS, которая работает как на чипсетах Intel, так и на микросхемах Apple. Примечание. В результате получается сборка, которая больше, чем отдельные сборки для конкретной архитектуры. Это влияет на общий размер приложения.
Окно «Параметры сборки» с параметрами в раскрывающемся списке «Архитектура».
Окно «Параметры сборки» с параметрами в раскрывающемся списке «Архитектура»

Здание

Чтобы создать приложение Unity:

  1. Откройте окно Настройки сборки (меню: Файл > Настройки сборки).
  2. В списке Платформы выберите ПК, Mac и Linux, автономный.
  3. Задайте для параметра Целевая платформа значение macOS. Если macOS не подходит, добавьте модуль Поддержка сборки Mac в установку редактора Unity. Информацию об установке модулей см. в разделе Добавление модулей.
  4. Задайте для параметра Архитектура тип архитектуры, для которого вы хотите, чтобы Unity создавала ваше приложение. Дополнительные сведения о целевой архитектуре для macOS см. в разделе Целевая архитектура.
  5. Если вы хотите создать проект Xcode для своего приложение, включите Создать проект Xcode.
  6. Нажмите Создать.

Файл со списком свойств информации

Приложениям macOS требуется файл списка информационных свойств с именем Info.plist, который содержит метаданные и информацию о конфигурации для приложения. Файл организован как список пар ключ-значение. Дополнительные сведения о файлах списка свойств информации см. в разделе О свойстве информации Список файлов. Для получения дополнительной информации о Info.plist, в частности, см. О ключах и значениях Info.plist.

Когда Unity создает ваше приложение, он создает файл Info.plist. Unity хранит этот файл в папке ApplicationName.app > Contents > Info.plist. Unity отображает необходимые свойства конфигурации Info.plist в Настройки проигрывателяНастройки, которые позволяют вам установить различные параметры для конкретного игрока для окончательной игры, созданной Unity. Подробнее
Посмотрите в окне Словарь
, который вы можете установить перед сборкой приложения. Эти свойства находятся в разделе Другие настройки > Параметры Mac App Store.

Есть дополнительные ключи, которые можно добавить в файл Info.plist. Чтобы добавить их, создайте приложение и используйте текстовый редактор для редактирования файла. Сведения о доступных ключах см. в разделе О ключах Info.plist. и ценности.

Разрешения

Приложениям macOS требуются разрешения для указания разрешений и ограничений, которые разрешают или запрещают вашему приложению совершение конкретных действий. Как минимум, ваше приложение должно включать разрешения, обеспечивающие защищенную среду выполнения. Эти разрешения защищают ваше приложение от внедрения кода, захвата динамически подключаемых библиотек и несанкционированного доступа к памяти.

Для определения прав приложения macOS используют XML-файл с расширением .entitlements. Затем приложения macOS используют процесс подписания кода для привязки прав к приложению.

Если ваше приложение использует плагиныНабор кода, созданный вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
См. в Словарь
, которые выполняют действия, специфичные для платформы macOS, вам может понадобиться чтобы добавить права, разрешающие эти действия. Дополнительную информацию о том, какие действия требуют прав, см. в разделе Права для разработчиков Apple.

Подписание кода

Подпись кода суммирует содержимое приложения на момент создания подписи кода разработчиком. Устройства Apple используют сигнатуру кода приложения для обнаружения изменений, внесенных с момента создания сигнатуры разработчиком. Это гарантирует целостность приложений и защиту от несанкционированного доступа. Если приложение не имеет подписи кода, устройство предупреждает конечного пользователя, прежде чем он откроет приложение. Процесс создания подписи кода для приложения называется подписью кода. Дополнительные сведения о технических деталях подписания кода см. в разделе Подписание кода в macOS в деталях.

Unity автоматически подписывает кодом любое приложение, созданное для macOS, независимо от платформы, на которой вы разрабатываете. Это защищает от несанкционированного доступа и позволяет вашему приложению работать без предупреждений, но не идентифицирует вас как разработчика. Этого достаточно для запуска приложения, но не для его нотариального заверения. Нораризация требует, чтобы вы подписали приложение с идентификатором разработчика или организации. Когда вы подписываете приложение с помощью идентификатора, цифровая подпись включает в себя отпечаток вашего приложения, а также криптографическую подпись, которая идентифицирует вас как разработчика. Unity не подписывает создаваемый код криптографической информацией. Для этого вам нужно подписать код либо вручную, либо с помощью Xcode.

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

Нотариальное заверение

Действительная подпись кода гарантирует целостность приложения, но не гарантирует, что само приложение не является вредоносным. Нотариальное заверение — это процесс, который Apple использует для проверки того, что приложения, подписанные идентификатором разработчика, не содержат вредоносного контента. Если Apple не обнаруживает вредоносный контент, она добавляет к приложению цифровую метку, указывающую, что приложение подходит для распространения на устройствах Apple. Результаты нотариального заверения также доступны онлайн для доступа к процессам контроля доступа. Apple ведет журнал аудита приложений, распространяемых с использованием вашего идентификатора разработчика. Если ваш идентификатор раскрыт, вы можете использовать этот след для отзыва прав на выполнение неавторизованных версий вашего приложения. Дополнительные сведения о норатизации см. в разделе Нотариальное заверение программного обеспечения macOS перед распространением.

Службы цифрового распространения часто требуют, чтобы вы нотариально заверили свое приложение, прежде чем вы сможете распространять приложение на их платформе. Однако некоторые сервисы цифрового распространения, такие как Mac App Store, включают проверку контента, аналогичную нотариальному заверению. Это означает, что вам не нужно нотариально заверять свое приложение для его распространения на определенных платформах. Дополнительные сведения о цифровом распространении см. в разделе Службы цифрового распространения для приложений macOS.

Чтобы нотариально заверить ваше приложение для работы в macOS 10.15 или более поздней версии, вы должны сначала подписать код приложения с помощью Идентификатор разработчика. Если вы не заверите свое приложение нотариально, устройство предупредит конечного пользователя, прежде чем он откроет приложение. Вам не нужно нотариально заверять приложение для распространения через Mac App Store, поскольку процесс подачи включает аналогичную проверку содержимого.

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

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3