xcrun:错误:无法找到 SDK“iphoneos”

Posted

技术标签:

【中文标题】xcrun:错误:无法找到 SDK“iphoneos”【英文标题】:xcrun: error: SDK "iphoneos" cannot be located 【发布时间】:2021-10-04 11:42:03 【问题描述】:

我没有经验,所以我无法确定问题所在。感谢您的帮助。

我克隆了这个仓库:https://github.com/flatlogic/react-native-starter.git

并尝试按照以下步骤操作:

克隆仓库

git 克隆https://github.com/flatlogic/react-native-starter.git

导航到克隆文件夹并安装依赖项

cd react-native-starter && yarn install

安装 Pods

cd ios && pod 安装

当我进行 pod install 时,我遇到了这个错误。


karar@Karars-MacBook-Air ios % pod install
Auto-linking React Native modules for target `ReactNativeStarter`: BVLinearGradient, RNCMaskedView, RNGestureHandler, RNLocalize, RNReanimated, RNScreens, RNVectorIcons, ReactNativeUiLib, react-native-safe-area-context, and toolbar-android
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Downloading dependencies
Installing BVLinearGradient (2.5.6)
Installing DoubleConversion (1.1.6)
Installing FBLazyVector (0.63.1)
Installing FBReactNativeSpec (0.63.1)
Installing Folly (2020.01.13.00)
Installing RCTRequired (0.63.1)
Installing RCTTypeSafety (0.63.1)
Installing RNCMaskedView (0.1.10)
Installing RNGestureHandler (1.8.0)
Installing RNLocalize (1.4.2)
Installing RNReanimated (1.13.1)
Installing RNScreens (2.11.0)
Installing RNVectorIcons (6.7.0)
Installing React (0.63.1)
Installing React-Core (0.63.1)
Installing React-CoreModules (0.63.1)
Installing React-RCTActionSheet (0.63.1)
Installing React-RCTAnimation (0.63.1)
Installing React-RCTBlob (0.63.1)
Installing React-RCTImage (0.63.1)
Installing React-RCTLinking (0.63.1)
Installing React-RCTNetwork (0.63.1)
Installing React-RCTSettings (0.63.1)
Installing React-RCTText (0.63.1)
Installing React-RCTVibration (0.63.1)
Installing React-callinvoker (0.63.1)
Installing React-cxxreact (0.63.1)
Installing React-jsi (0.63.1)
Installing React-jsiexecutor (0.63.1)
Installing React-jsinspector (0.63.1)
Installing ReactCommon (0.63.1)
Installing ReactNativeUiLib (3.41.0)
Installing Yoga (1.14.0)
Installing boost-for-react-native (1.63.0)
Installing glog (0.3.5)
[!] /bin/bash -c 
set -e
#!/bin/bash
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

set -e

PLATFORM_NAME="$PLATFORM_NAME:-iphoneos"
CURRENT_ARCH="$CURRENT_ARCH"

if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then
    # Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg.
    # it's better to rely on platform name as fallback because architecture differs between simulator and device

    if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
        CURRENT_ARCH="x86_64"
    else
        CURRENT_ARCH="armv7"
    fi
fi

export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"
export CXX="$CC"

# Remove automake symlink if it exists
if [ -h "test-driver" ]; then
    rm test-driver
fi

./configure --host arm-apple-darwin

# Fix build for tvOS
cat << EOF >> src/config.h

/* Add in so we have Apple Target Conditionals */
#ifdef __APPLE__
#include <TargetConditionals.h>
#include <Availability.h>
#endif

/* Special configuration for AppleTVOS */
#if TARGET_OS_TV
#undef HAVE_SYSCALL_H
#undef HAVE_SYS_SYSCALL_H
#undef OS_MACOSX
#endif

/* Special configuration for ucontext */
#undef HAVE_UCONTEXT_H
#undef PC_FROM_UCONTEXT
#if defined(__x86_64__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip
#elif defined(__i386__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip
#endif
EOF

# Prepare exported header include
EXPORTED_INCLUDE_DIR="exported/glog"
mkdir -p exported/glog
cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/"

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-apple-darwin-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for arm-apple-darwin-gcc... /Library/Developer/CommandLineTools/usr/bin/cc -arch armv7 -isysroot 
checking whether the C compiler works... no
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos'
/Users/karar/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-40a13/missing: Unknown `--is-lightweight' option
Try `/Users/karar/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-40a13/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/karar/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-40a13':
configure: error: C compiler cannot create executables
See `config.log' for more details

karar@Karars-MacBook-Air ios % 

【问题讨论】:

这里的核心错误是xcrun: error: SDK "iphoneos" cannot be located——专注于它可能会有所帮助。标题和标签。 (据我所知,这个错误与终端仿真没有任何关系,所以终端标签可能会被删除。终端只是显示程序输出的东西,并且代表它收集输入;除了这个角色之外,它无法控制在其内部运行的程序实际执行的操作)。 谢谢@CharlesDuffy。改变了。自从我更改标题后,堆栈会重新宣传该问题吗? 更新通常会将某些内容移回首页。 (出于这个原因,不赞成这样做,但在这种情况下,编辑后显然是一个更好的问题,所以你不必担心批评)。 【参考方案1】:
    启动 xcode 首选项 地点 确保为命令行工具选择了一个下拉选项。

帮我修好了。

固定为:

【讨论】:

【参考方案2】:

这与https://github.com/facebook/react-native/issues/18408https://github.com/facebook/react-native/issues/18408这两个问题有关

所以这对我有用:

sudo xcode-select --switch /Applications/Xcode.app

【讨论】:

这在 M1 上对我有用。【参考方案3】:

我认为您的pod install 工作正常并且已经完成了它的工作。您需要在您的 Mac 上设置 iPhone SDK,然后尝试运行cd ../ &amp;&amp; react-native run-ios

按照本指南:React Native Environment set up on Mac OS with Xcode and Android Studio

【讨论】:

以上是关于xcrun:错误:无法找到 SDK“iphoneos”的主要内容,如果未能解决你的问题,请参考以下文章

命令行工具 - 错误 - xcrun:错误:无法找到实用程序“xcodebuild”,不是开发人员工具或 PATH

xcrun:错误:无法找到实用程序“PackageApplication”,不是开发人员工具或 PATH - 因为更新 Xcode

xcrun 错误:无法从

构建失败并出现错误错误代码 72 命令:xcrun

更改 xcrun 开发者路径

错误:无法在 Android Studio 的 SDK 中找到 adb