Редактируемый пакет Swift в проекте Xcode?

Я работаю над несколькими разными приложениями в Xcode и использую пакет Swift для своей «общей» библиотеки. В каждом проекте я добавляю общий пакет Swift, перейдя в проект «Пакеты Swift» (рядом с «Информация» и «Настройки сборки») и введя локальный URL-адрес «file:///...». Это проверяет версию только для чтения. Все работает довольно хорошо, но если я много редактирую общие файлы, это начинает раздражать. Я должен:

  • Переключитесь в другое окно Xcode, в котором пакет Swift открыт в режиме чтения-записи.
  • Отредактируйте файлы, зафиксируйте их в git, пометьте фиксацию
  • Вернувшись в проект приложения, панель меню> Файл> Пакеты Swift> Сбросить кеши пакетов (при условии, что я переместил тег, а не создал новый)

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


person Rob N    schedule 31.03.2020    source источник


Ответы (1)


Я обнаружил, что могу это сделать, поэтому я отвечаю на свой вопрос.

Вы можете использовать «локальный пакет», как описано в этой короткой статье от Apple: Разработка пакета Swift в тандеме с приложением

Я сохраняю ту же конфигурацию, что и раньше — в моем проекте приложения по-прежнему определена зависимость пакета Swift, и эта зависимость по-прежнему указывает на тот же URL-адрес репозитория git. Но теперь я также извлекаю/клонирую локальную копию этого репозитория в каталог проекта моего приложения или, может быть, на один уровень выше, если я использую рабочее пространство Xcode. Затем я перетаскиваю этот клонированный каталог в навигатор проекта Xcode. Как только вы перетащите туда эту папку, Xcode вносит некоторые изменения в свой пользовательский интерфейс, чтобы показать, что он использует ее как локальную версию пакета. Вы можете редактировать файлы там и отправлять изменения обратно в основной репозиторий. Если вы удалите этот локальный клон, Xcode вернется к использованию версии только для чтения, как и раньше.

person Rob N    schedule 22.04.2020