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"
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
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 ...
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.
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.
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