входной файл XXXX должен быть толстым файлом, если указана опция -remove

Я пытаюсь опубликовать наше приложение в testflight/appstore через fastlane и получаю две ошибки:

  1. #P2#
  2. #P3#

Прежде чем я получил эти ошибки, я получил много ошибок «Неподдерживаемые архитектуры».

ОШИБКА ITMS-90087: «Неподдерживаемые архитектуры. Исполняемый файл для ==APPNAME==.app/Frameworks/==FRAMEWORK_NAME==.framework содержит неподдерживаемые архитектуры «[x86_64, i386]».

ОШИБКА ITMS-90087: «Неподдерживаемые архитектуры. Исполняемый файл для ==APPNAME==.app/Frameworks/CommonCrypto.framework содержит неподдерживаемые архитектуры «[x86_64]».

Поэтому я добавил этот скрипт на этапе сборки: (Из другого сообщения о переполнении стека)

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
    echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"

    EXTRACTED_ARCHS=()

    for ARCH in $ARCHS
    do
        echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
        lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
        EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done

    echo "Merging extracted architectures: ${ARCHS}"
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"

    echo "Replacing original executable with thinned version"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"

done

Параметры сборки:

  • Архитектуры: стандартные архитектуры.
  • Базовый SDK: iOS 11.0
  • Создавать только активные архитектуры: ДА (пробовал с НЕТ)
  • Поддерживаемые платформы: iOS
  • Действительные архитектуры: arm64, arm7, arm7s

ПРИМЕЧАНИЕ

Платформа commoncrypto добавляется вручную во встроенные двоичные файлы, поскольку она доступна только через Carthage. Но в проекте используются в основном какаоподы.


Я думаю, что удаление скрипта решит эту проблему. Но потом возвращаемся к старой проблеме.

Но любая помощь приветствуется!


person Aleksander Aleksic    schedule 26.09.2017    source источник
comment
Вы смогли это решить?   -  person Pankaj Wadhwa    schedule 26.03.2018
comment
Прошло некоторое время, и я больше не работаю над этим проектом, поэтому я не помню. Извиняюсь.   -  person Aleksander Aleksic    schedule 28.03.2018
comment
@PankajWadhwa, если вы все еще сталкиваетесь с проблемами, я рекомендую вам открыть проблему в официальном репозитории fastlane, чтобы быстрее получить поддержку :)   -  person Roger Oba    schedule 28.11.2020