#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 уже есть, поэтому, по сути, я намерен удалить его, но оставить их статически связанными. Есть ли способ удалить такие записи там через командную строку?