Как удалить некоторые из библиотек Swift, скопированных Xcode? - PullRequest
0 голосов
/ 21 сентября 2018

В Xcode 10 сценарий «Копировать стандартные библиотеки Swift» выполняется последним - после любых пользовательских этапов сборки, которые могут быть добавлены к цели.Следовательно, невозможно создать пользовательский сценарий сборки, специально предназначенный для удаления стандартных Swift dylib файлов, добавленных XCode.

Вопрос в том, как удалить некоторыеиз этих стандартных библиотек, которые ошибочно добавлены Xcode?

Причина этого заключается в том, что когда Xcode 10 создает приложение MacOS Swift 4.2 с расширением Photo Editing, он добавляет libswiftMapKit.dylib в комплект приложения - дажекогда приложение не имеет функциональности Карт или импортирует MapKit.Это вызвало отклонение обзора приложения.

1 Ответ

0 голосов
/ 21 сентября 2018

Чтобы удалить стандартную библиотеку Swift, добавьте Пост-Действия в схему.Скорее всего, это будет последующее действие «Архивирование», поскольку архивация является типичной перед выпуском (загрузка в App Store или повторная подпись с использованием идентификационных данных разработчика).

  1. В Xcode 10 Нажмите Edit Scheme.
  2. В редактировании схемы разверните раздел Archive.
  3. Нажмите Post-Actions

Введите следующий bash фрагмент сценария (вдольс любыми другими пост-действиями, которые у вас уже могут быть)

# This variable points to the `Frameworks` folder of the final application.
full_frameworks_path="${ARCHIVE_PRODUCTS_PATH}/Applications/${FRAMEWORKS_FOLDER_PATH}"
# Specify the libraries to remove, the example below removes Swift's MapKit wrapper.
rm -f "${full_frameworks_path}/libswiftMapKit.dylib

Однако обратите внимание, что это не решает основную проблему расширения приложения Photos, которое фактически ссылается на libswiftMapKit.dylib - зависимость, добавляемая Xcode 10.0 независимо от того,действительно ли он использует MapKit или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...