Ho avuto i seguenti errori durante il tentativo di caricare la mia app su App Store ERRORE ITMS-90087, ERRORE ITMS-90209, & ERRORE ITMS-90125 come delineato in questo domanda Submit to App Store issues: Unsupported Architecture x86 e utilizzato lo script indicato di seguito per cercare di risolvere il problema:Errori durante la creazione di Xcode Project dopo l'aggiunta in Run Script errore fatale: lipo: file di input
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
Ora sto ricevendo un sacco di errori che cercano di compilare il mio codice in Xcode.
Executable is /Users/[Username]/Library/Developer/Xcode/DerivedData/[AppName]-egnqksafjoylrcaxerbjrknmxdgl/Build/Products/Debug-iphoneos/[AppName].app/Frameworks/Bolts.framework/Bolts
Extracting arm64 from Bolts
fatal error: lipo: input file (/Users/[Username]/Library/Developer/Xcode/DerivedData/[AppName]-egnqksafjoylrcaxerbjrknmxdgl/Build/Products/Debug-iphoneos/[AppName].app/Frameworks/Bolts.framework/Bolts) must be a fat file when the -extract option is specified
Merging extracted architectures: arm64
fatal error: lipo: can't open input file: /Users/[Username]/Library/Developer/Xcode/DerivedData/[AppName]-egnqksafjoylrcaxerbjrknmxdgl/Build/Products/Debug-iphoneos/[AppName].app/Frameworks/Bolts.framework/Bolts-arm64 (No such file or directory)
rm: /Users/[Username]/Library/Developer/Xcode/DerivedData/[AppName]-egnqksafjoylrcaxerbjrknmxdgl/Build/Products/Debug-iphoneos/[AppName].app/Frameworks/Bolts.framework/Bolts-arm64: No such file or directory
Replacing original executable with thinned version
mv: rename /Users/[Username]/Library/Developer/Xcode/DerivedData/[AppName]-egnqksafjoylrcaxerbjrknmxdgl/Build/Products/Debug-iphoneos/[AppName].app/Frameworks/Bolts.framework/Bolts-merged to /Users/[Username]/Library/Developer/Xcode/DerivedData/[AppName]-egnqksafjoylrcaxerbjrknmxdgl/Build/Products/Debug-iphoneos/[AppName].app/Frameworks/Bolts.framework/Bolts: No such file or directory
Qualche idea su come risolvere?
Dopo aver letto questo, mi sono reso conto dal momento che solo un framework stava causando il problema di caricamento su App Store, quindi questo dovrebbe essere solo il framework su cui ho bisogno di eseguire lo script. Così ho cambiato la riga nello script find "$ APP_PATH" -name '* .framework' -type d | mentre leggi -r FRAMEWORK per fare riferimento solo al framework che causa l'errore, trova "$ APP_PATH" -name '[frameworkname] .framework' -type d | while read -r FRAMEWORK – SamoanProgrammer
Risolto il problema anche con l'esecuzione dello script solo per framework specifico per il quale si ottiene l'errore x86_64. – AtWork
Per me, questo script funzionerà al primo tentativo. Successivamente, ricevo degli errori che indicano che sta tentando di rimuovere le sezioni per architetture che non sono presenti. Posso farlo funzionare di nuovo se e solo se uso il comando Clean in Xcode (Shift + Command + K). Quando faccio clic su Build o Run, funziona di nuovo. Qualche idea su come aggirare questo problema? –