# Сделать разрешение на микрофон в MacOS для Plasmo Voice

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

#### Как работает этот обходной путь?

Чтобы приложение MacOS получило разрешения на использование микрофона, необходимо выполнить следующие требования:

* В `Info.plist` приложения нужно добавить ключ `NSMicrophoneUsageDescription`. Подробнее [здесь](https://developer.apple.com/documentation/bundleresources/information_property_list/nsmicrophoneusagedescription?language=objc).
* Если приложение подписано (что является случаем для стандартного лаунчера), оно должно быть подписано с правом на использование микрофона [entitlement](https://developer.apple.com/documentation/bundleresources/entitlements?language=objc).

Если любое из этих требований не выполнено, и приложение запрашивает доступ к микрофону, MacOS завершит работу приложения. Подробнее [здесь](https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/requesting_authorization_for_media_capture_on_macos?language=objc).

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

В этом случае мод откроет графический интерфейс, куда вы сможете перетащить своё приложение-лаунчер. Этот интерфейс проанализирует `Info.plist` приложения и добавит ключ `NSMicrophoneUsageDescription`.

Он также выполнит команду `codesign --deep --remove-signature <your-application>`, чтобы удалить подпись лаунчера. Обратите внимание, что это может вызвать другие проблемы с вашим лаунчером, поэтому используйте это на свой страх и риск. Вы можете отменить эти изменения, переустановив лаунчер.

После перезапуска лаунчера Minecraft должен запросить доступ к микрофону.

#### Как исправить ваш лаунчер

**Стандартный лаунчер Minecraft**

* Перетащите лаунчер Minecraft из вашей папки приложений на графический интерфейс исправления

**CurseForge Launcher**

* Перейдите в `Настройки` > `Аддоны` > `Путь установки модов` и откройте этот путь (по умолчанию это `Documents/curseforge/`)
* Откройте папку `minecraft` в пути установки модов
* Откройте папку `Install`
* Перетащите приложение `Minecraft` на графический интерфейс исправления

**MultiMC**

* Перетащите MultiMC из вашей папки приложений на графический интерфейс исправления

#### Устранение неполадок

Если лаунчер не запрашивает доступ к микрофону после исправления в графическом интерфейсе, выполните следующую команду в окне терминала: `codesign --force --deep --sign - <your-application>`, где `<your-application>` — это путь к вашему лаунчеру.

Если появится всплывающее окно с запросом `Minecraft wants to use your confidential information stored in "mojangTokenService" in your keychain`, введите пароль вашего Mac и нажмите `Always Allow`. Если всплывающее окно продолжает появляться, перезагрузите компьютер и попробуйте снова.

Если исправление вашего лаунчера завершится с ошибкой `xcrun: error: invalid active developer path`, выполните команду `sudo xcode-select --install` в вашем терминале.

#### Есть ли альтернативы этому?

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

#### Автономная версия

Существует также [автономная версия](https://github.com/henkelmax/simple-voice-chat/files/7926761/simple-voice-chat-macos-workaround.zip) обходного пути. Она работает точно так же, как и встроенная в мод версия. Используйте её, если графический интерфейс не появляется при запуске игры или ваш микрофон не улавливает звук. Вам также нужно использовать эту версию, если вы используете `Minecraft 1.16.5` или старее, так как в этих версиях нет встроенного исправления.

*Примечание:* необходимо открыть `.jar` с помощью `Java 17`.

#### Используйте [Prism Launcher](https://prismlauncher.org/download/mac/).&#x20;

Он запускает Plasmo Voice через macOS.\
![](/files/U6yISXH23nRJYJSt8Vjp)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vanillasquad.com/igrovoi-kontent/mod-na-golosovoi-chat/sdelat-razreshenie-na-mikrofon-v-macos-dlya-plasmo-voice.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
