командная строка xcode для настройки «встроенных фреймворков»

#ios #xcode

#iOS #xcode

Вопрос:

введите описание изображения здесь

Как показано на экране выше, я не смог найти ни xcodebuild одной командной строки для добавления / удаления встроенных фреймворков, можем ли мы каким-либо образом сделать это через командную строку (чтобы удалить или добавить строку)? Поскольку мне нужно автоматизировать процесс сборки.

Ответ №1:

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

 # Path to your framework to copy. You must have two compiled versions: Debug(arm64, x86_64) and Release(arm64).
FRAMEWORK=".../$CONFIGURATION/MyFramework.framework"

# Frameworks folder of your app
NAME=$(basename $FRAMEWORK)
DESTINATION=${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$NAME

# Copy (if needed) and sign
if [ ! -d $DESTINATION ]; then
    cp -r $FRAMEWORK $DESTINATION
    codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements $DESTINATION
fi
 

Для xcframework вы можете дополнительно указать путь к вложенной папке для целевой арки:

 # Release device only
if [ $PLATFORM_PREFERRED_ARCH == "arm64" ]; then
    FRAMEWORK=".../MyFramework.xcframework/ios-arm64/MyFramework.framework"
fi

 

Комментарии:

1. спасибо, что поделились этим, на самом деле мой проект XCode был обработан другими инструментами, когда он является каркасом, записи embedded framework уже есть, поэтому, по сути, я намерен удалить его, но оставить их статически связанными. Есть ли способ удалить такие записи там через командную строку?