Обработка разрешений Mojave (камеры, микрофона и специальных возможностей) для двух экземпляров приложения на одном компьютере - PullRequest
0 голосов
/ 10 апреля 2019

Мой вариант использования : у меня есть среда автоматизации для Mac, которая запускает 2 экземпляра одного и того же приложения (с одинаковым идентификатором пакета), доступных в разных местах, чтобы имитировать два случая конечной точки для вызовов мультимедиа.С введением разрешений Mojave, когда я предоставляю разрешение (камера, микрофон и доступность) для одного экземпляра приложения, другой экземпляр не имеет таких же разрешений.

Поскольку идентификатор пакета одинаков,не то, что предоставление разрешения для приложения переносится на оба экземпляра?

Я пытался подтолкнуть системный профиль, чтобы предоставить разрешения, но это, похоже, не работает

Также постоянно добавлялся сценарий apple дляпроверьте наличие всплывающего окна и нажмите «ОК».Это работает для микрофона и камеры, но не для доступности.Кроме того, при запуске каждого экземпляра разрешение будет запрашиваться снова.

  1. Существует ли способ по умолчанию предоставить весь доступ к приложению по умолчанию без запроса всплывающих окон с разрешениями?
  2. Или есть какой-нибудь способ настроить что-то на уровне ОС, чтобы вообще не запрашивать разрешения (ведут себя так же, как <10.14) .. Я пытался отключить целостность системы, но, похоже, это не решает эту проблему </li>

1 Ответ

1 голос
/ 12 апреля 2019

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

Когда приложение не имеет кодовой подписи, и система должна записать свою идентификацию (как для разрешений), оно генерирует специальную подпись кода. Эта подпись, тем не менее, соответствует только точной сборке приложения. Другая копия приложения, которая отличается каким-либо образом, относящимся к сигнатуре кода, не считается идентичной. Фактически, это, вероятно, будет считаться «злонамеренным», поскольку, похоже, было подделано.

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

...