web-dev-qa-db-fra.com

erreur: impossible de charger la bibliothèque standard pour la cible 'arm64-Apple-ios10.0-simulator'?

J'ai mis à jour mon Xcode mais je ne suis pas capable de le construire. C'est échouer avec: 

<unknown>:0: error: unable to load standard library for target 'arm64-Apple-ios10.0-simulator'

Fusionner le script:

 # 1
# Set bash script to exit immediately if any commands fail.
set -e

# 2
# Setup some constants for use later on.
FRAMEWORK_NAME="SDK"
OUTPUT_PATH="${SRCROOT}"

# 3
# If remnants from a previous build exist, delete them.
if [ -d "${SRCROOT}/build" ]; then
rm -rf "${SRCROOT}/build"
fi

# 4
# Build the framework for device and for simulator (using
# all needed architectures).
xcodebuild -target "${FRAMEWORK_NAME}" -configuration Release -Arch 
arm64 -Arch armv7 -Arch armv7s only_active_Arch=no defines_module=yes - 
sdk "iphoneos"
xcodebuild -target "${FRAMEWORK_NAME}" -configuration Release -Arch 
x86_64 -Arch i386 only_active_Arch=no defines_module=yes -sdk 
"iphonesimulator"
7
tp2376

En fait, cela a été résolu en sélectionnant Generic iOS Device lors de la création au lieu d’un simulateur.

Edit: je devrais mentionner, dans Xcode 10.

Edit 2: Je posterai mon script de framework universel 

set -e

######################
# Options
######################

REVEAL_ARCHIVE_IN_Finder=true

FRAMEWORK_NAME="${PROJECT_NAME}"

SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework"

DEVICE_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework"

UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal"

FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${FRAMEWORK_NAME}.framework"


######################
# Build Frameworks
######################


xcodebuild -project ${PROJECT_FILE_PATH} -scheme ${PROJECT_NAME} -sdk iphonesimulator -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator 2>&1


xcodebuild -project ${PROJECT_FILE_PATH} -scheme ${PROJECT_NAME} -sdk iphoneos -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphoneos 2>&1


######################
# Create directory for universal
######################

rm -rf "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${FRAMEWORK}"


######################
# Copy files Framework
######################

cp -r "${DEVICE_LIBRARY_PATH}/." "${FRAMEWORK}"


######################
# Make an universal binary
######################

lipo "${SIMULATOR_LIBRARY_PATH}/${FRAMEWORK_NAME}" "${DEVICE_LIBRARY_PATH}/${FRAMEWORK_NAME}" -create -output "${FRAMEWORK}/${FRAMEWORK_NAME}" | echo

# For Swift framework, Swiftmodule needs to be copied in the universal framework
if [ -d "${SIMULATOR_LIBRARY_PATH}/Modules/${FRAMEWORK_NAME}.swiftmodule/" ]; then
cp -f ${SIMULATOR_LIBRARY_PATH}/Modules/${FRAMEWORK_NAME}.swiftmodule/* "${FRAMEWORK}/Modules/${FRAMEWORK_NAME}.swiftmodule/" | echo
                                                                      fi

                                                                      if [ -d "${DEVICE_LIBRARY_PATH}/Modules/${FRAMEWORK_NAME}.swiftmodule/" ]; then
                                                                      cp -f ${DEVICE_LIBRARY_PATH}/Modules/${FRAMEWORK_NAME}.swiftmodule/* "${FRAMEWORK}/Modules/${FRAMEWORK_NAME}.swiftmodule/" | echo
                                                                      fi

                                                                      ######################
                                                                      # On Release, copy the result to release directory
                                                                      ######################
                                                                      OUTPUT_DIR="${PROJECT_DIR}/Output/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"

                                                                      rm -rf "$OUTPUT_DIR"
                                                                      mkdir -p "$OUTPUT_DIR"

                                                                      cp -r "${FRAMEWORK}" "$OUTPUT_DIR"

                                                                      if [ ${REVEAL_ARCHIVE_IN_Finder} = true ]; then
                                                                      open "${OUTPUT_DIR}/"
                                                                  fi
12
Alex Bartiş

Ce qui a résolu le problème dans mon cas, c'était de nettoyer l'environnement. Apparemment, lors de l'exécution d'une phase de construction de script dans Xcode, certaines variables d'environnement définies peuvent interférer avec la résolution de la bibliothèque standard Swift. Je rencontrais ce problème lors de la compilation de carthage à partir de la phase "Exécuter le script" Xcode.

Exécutez une commande en effaçant l'environnement avec:

env -i <command>

Vous souhaiterez peut-être conserver les variables d'environnement PATH et DEVELOPER_DIR, en particulier lorsque plusieurs versions de Xcode seront installées.

donc dans ton cas

env -i DEVELOPER_DIR="$DEVELOPER_DIR" PATH="$PATH" xcodebuild ...
6
Werner Altewischer

Merci pour toutes les réponses, mais il semble que ce soit un bug d'installation Xcode .. J'ai téléchargé Xcode à nouveau et testé tout fonctionne bien dans mon cas.

0
tp2376

Installez la dernière graine Xcode 10 GM, confrontée au même problème et ayant tenté de nombreuses solutions, mais résolue après la mise à jour vers le nouveau problème Xcode. Si le problème persiste, essayez ceci dans Paramétrage du fichier et du projet, définissez le système de construction sur système de construction hérité, nettoyez et générez.

 enter image description here

0
Shauket Sheikh

Peut-être connecté à la mauvaise version de Swift

Essayez de vérifier vos paquets Swift actuels avec 

swiftenv versions

utilisez respectivement les commandes install ou uninstall

swiftenv uninstall (install)

Pour installer swiftenv, utilisez

brew install kylef/formulae/swiftenv
0
KIO