web-dev-qa-db-ja.com

エラー:ターゲット 'arm64-Apple-ios10.0-simulator'の標準ライブラリをロードできませんか?

Xcodeを更新しましたが、ビルドできません。それは失敗しています:

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

マージスクリプト:

 # 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"
13
tp2376

実際にこれを解決するには、Generic iOS Deviceシミュレーターデバイスの代わりに構築する場合。

編集:Xcode 10で言及する必要があります。

編集2:ユニバーサルフレームワークスクリプトを投稿します

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
22
Alex Bartiş

私の場合、問題を解決したのは環境をクリアすることでした。 Xcodeでスクリプトビルドフェーズを実行すると、Swift標準ライブラリの解決を妨げる可能性のある環境変数セットがあります。スクリプトの実行」フェーズ。

以下を使用して環境をクリアすることにより、コマンドを実行します。

env -i <command>

ただし、特に複数のXcodeバージョンがインストールされている場合は、PATHおよびDEVELOPER_DIR環境変数を保持することをお勧めします。

あなたの場合

env -i DEVELOPER_DIR="$DEVELOPER_DIR" PATH="$PATH" xcodebuild ...
7

すべての回答に感謝しますが、Xcodeのインストールのバグのようです..Xcodeを再度ダウンロードし、私の場合はすべて正常に動作することをテストしました。

0
tp2376

最新のXcode 10 GMシードをインストールし、同じ問題に直面して多くの解決策を試みましたが、新しいXcodeの問題に更新した後、解決しました。まだ問題がある場合は、ファイルとプロジェクトの設定に進み、ビルドシステムをレガシビルドシステムに設定し、クリーンしてビルドします。

enter image description here

0
Shauket Sheikh

すべての環境変数をリセットすることは解決策ではありません。これにより、たとえばSSHキーが設定解除され、SSH認証が使用された場合にクローン作成が失敗します。

ただし、問題のある環境変数はLLVM_TARGET_TRIPLE_SUFFIX、設定を解除して問題を解決します。

unset LLVM_TARGET_TRIPLE_SUFFIX
carthage update 2>&1
0
Dávid Pásztor

おそらく悪いSwiftバージョンに接続されています

現在のSwiftパッケージをチェックしてみてください

swiftenv versions

それぞれinstallまたはuninstallコマンドを使用します

swiftenv uninstall (install)

swiftenvをインストールするには

brew install kylef/formulae/swiftenv
0
KIO