ios - pwa - web app ipad
Compruebe y elimine la arquitectura no compatible[x86_64, i386] en IPA/Archive (2)
Apple ha comenzado a quejarse si la aplicación contiene arquitecturas de simulador durante la distribución.
¿Cómo se puede resolver el error anterior?
Solución:
Agregue el siguiente código en el script de ejecución del objetivo del proyecto, esto elimina la arquitectura del simulador (x86_64 y i386) de su aplicación en el proceso de construcción:
Cáscara :
/bin/sh
Código:
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
Solución:
Hay una solución más , si deseas hacerlo solo una vez. Pero tenga cuidado, ya que después de seguir los siguientes pasos, no podrá ejecutar la aplicación en el simulador. Hágalo justo antes de implementar la aplicación en Testflight / App-store.
Vaya dentro de su carpeta ProjectFramework.framework de su proyecto desde la terminal. Ejecutar los siguientes comandos:
lipo -remove i386 ProjectFramework_SDK -o ProjectFramework_SDK
lipo -remove x86_64 ProjectFramework_SDK -o ProjectFramework_SDK
Compruebe las arquitecturas desde el marco?
$ lipo -info PathToProject/ProjectName.framework/ProjectName
La salida será: → Las arquitecturas en el archivo grueso: ProjectName son: i386 x86_64 armv7 arm64
Árbitro. doc: http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/
Problema:
Al enviar la aplicación a la App Store, se informa del siguiente error:
Unsupported Architecture. Your executable contains unsupported architecture ''[x86_64, i386]
Preguntas:
¿Cómo se puede resolver el error anterior?
¿Cómo puedo verificar las arquitecturas utilizadas por el archivo o IPA?
¿Cómo puedo asegurarme de que el archivo de la
Release
no incluyax86_64
yi386
(arquitecturas de simulador)?- ¿Es solo posible a través de un script o hay una configuración en la configuración de
Build Settings
o en otra parte?
- ¿Es solo posible a través de un script o hay una configuración en la configuración de
Para un marco dinámico creado a medida
Terminal abierta
Abra la ruta de arrastre del proyecto del marco respectivo a Terminal
Por ejemplo,
cd /Users/mahipal/Desktop/masterTest/Alamofire.framework
Establezca su nombre de Framework en el siguiente comando y ejecute
lipo -remove i386 Alamofire -o Alamofire && lipo -remove x86_64 Alamofire -o Alamofire