2014-09-17 3 views
11


Невозможно отправить в itunesconnect новую версию приложения. Хотя на прошлой неделе произошла аналогичная версия. В коде я просто изменил имя кнопки, больше никаких изменений не происходит.
Но всегда получаю ошибку:
ERROR ITMS-9000: «Неподдерживаемые архитектуры. Ваш исполняемый файл содержит неподдерживаемые архитектуры» [x86_64, i386] »«

ОШИБКА ITMS-9000: "неподдерживаемые архитектуры Ваш исполняемый файл содержит неподдерживаемые архитектуры" [x86_64, i386]."

В моем проекте -> Build Settings: арками = $ (ARCHS_STANDARD_32_BIT)
//: конфигурация = отладки
ONLY_ACTIVE_ARCH = ДА
//: конфигурация = Release
ONLY_ACTIVE_ARCH = НЕТ

VALID_ARCHS = armv7 armv7s

+0

Убедитесь, что у вас установлено «устройство iOS» в верхней части окна Xcode - вы пытаетесь отправить сборку симулятора – Paulw11

+1

@ Paulw11 Он установил мой iPhone. Я строю проект на нем, все идет хорошо. Затем сделайте архив и попробуйте отправить itunescoonect, результат будет таким же. –

+1

Вам нужно тщательно проверить настройки сборки или отменить контроль версий и повторите попытку - по какой-то причине вы генерируете сборку x86. – Paulw11

ответ

25

Проверить это пятно решения на блоге Даниэля Кеннетта - он прекрасно работал для меня с SpritzSDK, который я имел аналогичные проблемы с.

Он поставляет скрипт, который вы можете вставить на свои фазы сборки, чтобы удалить ненужные архитектуры в качестве последнего шага - не нарушает работу симулятора, а iTunesConnect также одобрил мою загрузку с первой попытки.

http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/

+0

Это БОЛЬШОЕ !!! – zhubofei

+0

Запустить скрипт только при установке? или нет? –

+0

Сценарий переходит в фазу сборки, поэтому только при построении – BricoleurDev

-1

Если вы используете LiveSDK напрямую или через ShareKit, вы столкнетесь с этой проблемой. В моем случае я напрямую использовал LiveSDK.

Проверить этот ответ на Apple, Developer Forum

https://devforums.apple.com/message/1037603#1037603

+0

Я испытываю эту же проблему, я не использую LiveSDK или ShareKit. Кажется, ничего не помогает. – Pax

+1

Моя проблема была вызвана SDK Urban Airship. :/ – Pax

+0

@Mohan Спасибо. Действительно, все было хорошо, как только я удалил LiveSDK! –

17

Вы можете удалить ненужные арки из ПНДА, поставив под душевным Shell Script на этапе сборки -> Run Script Этого скрипт удаляет все имитатор арки из вопросов ПНДА и ARCH от встроенных рамок. Источник: http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/

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 
+0

Пожалуйста, не принимайте это лично. Если вы справляетесь с интеллектуальной собственностью у кого-то другого, будьте любезны, чтобы вернуть кредит первоначальному создателю. В этом случае http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/ – Goppinath

+0

@Goppinath Edited.My Answer. Спасибо за предложение. –

+0

@arpen_techisavy Удачи. – Goppinath

0

Сценарий в этих двух ответов нужно редактировать, если у вас есть приложение часы в вашем проекте. Добавьте/Frameworks в $ APP_PATH, чтобы избежать ошибок при создании проекта.

Смежные вопросы