На Mastodon кто-то спросил, можно ли подключить Google Gemini к бете Xcode 26 в macOS 26. Можно! Но… с помощью небольших хитростей и прокси-скриптов.

Google представила совместимый с OpenAI API для Gemini, но его URL-структура отличается от того, что ожидает Xcode. В настройках поставщика языковых моделей поле URL должно содержать базовый адрес API, например, https://api.openai.com/
. Xcode уже сам добавляет v1/models
и другие пути.
У Gemini же базовый адрес выглядит так: https://generativelanguage.googleapis.com/v1beta/openai/
, а не https://generativelanguage.googleapis.com/v1/
. Из-за этого возникает конфликт. Ниже в статье о том, как настроить Xcode и прокси, чтобы всё работало.
Шаг 1. Настраиваем Gemini в Xcode
Откройте Settings
→ Intelligence
→ Add a Model Provider
и заполните форму:
Type: Internet Hosted
URL:
https://generativelanguage.googleapis.com/
API Key: Bearer $apiKey (ваш настоящий API-ключ)
API Key Header: Authorization
Description: любое описание, я использовал «Gemini»
Нажмите Save
и закройте Xcode.
Шаг 2. Переписываем запросы через Proxyman
Нам будет нужен локальный прокси, который будет переписывать запросы на лету. Я для этого использую отличный инструмент Proxyman. Скачайте и установите его. Я не буду вдаваться в детали установки, так как всё достаточно подробно описано в инструкции на официальном сайте.
Proxyman бесплатный для того, что мы делаем в этой статье. Его возможности намного шире, но за доступ к ним надо будет доплатить. Для переписывания запросов на лету можно использовать и Proxygen. Я выбрал Proxyman только потому, что привык к нему.
После запуска я настроил его так, чтобы он проксировал все запросы Xcode на уровне приложения, а после включил и настроил поддержку скриптов в Proxyman, чтобы моментально переписывать их.

Конфигурация скрипта Proxyman
URL: https://generativelanguage.googleapis.com/v1/
. Обрабатываем все HTP-методы и подпути для этого URL. Сам скрипт:
function onRequest(context, url, request) {
request.path = request.path.replace("/v1/", "/v1beta/openai/");
request.color = 'yellow';
return request;
}
Скрипт меняет все обращения к /v1/…
на правильный путь Google API.
Шаг 3. Проверяем список моделей Gemini
Снова откройте Xcode и перейдите в Settings
→ Intelligence
→ Gemini
. Теперь должен появиться список доступных моделей.

Шаг 4. Используем Gemini в Xcode
Для тестов я создал новое Swift-приложение, открыл ContentView.swift
, попросил модель Gemini 2.5 Flash перевести интерфейс на немецкий и добавить две кнопки: «Much AI», «So Gemini». Языковая модель справилась!

Предостережения
Proxyman должен быть запущен параллельно с Xcode, иначе схема не сработает.
Возможно, в будущих бета-версиях Xcode добавят более гибкие настройки провайдеров LLM. Скрестим пальцы!