npx react-native 运行-ios 不适用于 React Native 新项目

npx react-native run-ios not working for react native fresh project

描述

根据此处提供的入门指南 https://reactnative.dev/docs/environment-setup,我正在尝试使用 React Native CLI 构建项目。我按照文章中提供的确切步骤进行操作,项目开始 android 但不是 ios。我得到的错误是

2022-05-09 19:52:26.204 xcodebuild[27325:198569] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-05-09 19:52:26.208 xcodebuild[27325:198569] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore

还有这个

Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening AwesomeProject.xcworkspace

The following build commands failed:
    CompileC /Users/jaydave5/Library/Developer/Xcode/DerivedData/AwesomeProject-gypcnmvewcvovdgwbdrhxjrrxutt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/x86_64/SysUio.o /Users/jaydave5/Documents/native\ projects/bare\ react\ native/AwesomeProject/ios/Pods/RCT-Folly/folly/portability/SysUio.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'RCT-Folly' from project 'Pods')
(1 failure)

在做一些研究时,我看到了一个 Whosebug post,它说尝试打开 ios 文件夹中的 xcode 工作区并尝试从那里构建我附上了屏幕截图我在那里收到的错误

版本

0.68.2

npx react-native info

的输出
System:
    OS: macOS 12.2.1
    CPU: (8) x64 Apple M1
    Memory: 43.58 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.17.1 - ~/.nvm/versions/node/v14.17.1/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v14.17.1/bin/yarn
    npm: 6.14.13 - ~/.nvm/versions/node/v14.17.1/bin/npm
    Watchman: 2022.03.21.00 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5
    Android SDK: Not Found
  IDEs:
    Android Studio: 2021.1 AI-211.7628.21.2111.8193401
    Xcode: 13.3.1/13E500a - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.15 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2 
    react-native: 0.68.2 => 0.68.2 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

重现步骤

第一步 npx react-native init AwesomeProject

第2步 npx react-native start

步骤 3 npx react-native run-ios

后来我尝试用 expo 创建一个应用程序并将其弹出 这是我得到的错误

(warning truncated)
› Compiling react-native Pods/RCT-Folly » NetOps.cpp

❌  (ios/Pods/Headers/Private/RCT-Folly/folly/portability/Time.h:52:17)

  50 | #define CLOCK_THREAD_CPUTIME_ID 3
  51 | 
> 52 | typedef uint8_t clockid_t;
     |                 ^ typedef redefinition with different types vs 'enum clockid_t')
  53 | extern "C" int clock_gettime(clockid_t clk_id, struct timespec* ts);
  54 | extern "C" int clock_getres(clockid_t clk_id, struct timespec* ts);
  55 | #endif

› Compiling react-native Pods/RCT-Folly » Format.cpp

⚠️  (/Users/jaydave5/Library/Developer/Xcode/DerivedData/AwesomeProject-fepzfupsfexonsdubhfcgescuowt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/x86_64/Format.dia:1:1)

CompileC /Users/jaydave5/Library/Developer/Xcode/DerivedData/AwesomeProject-fepzfupsfexonsdubhfcgescuowt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/x86_64/Fi...
^ Could not read serialized diagnostics file: error(in target 'RCT-Folly' from project 'Pods')
(warning truncated)

❌  (ios/Pods/Headers/Private/RCT-Folly/folly/portability/Time.h:52:17)

  50 | #define CLOCK_THREAD_CPUTIME_ID 3
  51 | 
> 52 | typedef uint8_t clockid_t;
     |                 ^ typedef redefinition with different types vs 'enum clockid_t')
  53 | extern "C" int clock_gettime(clockid_t clk_id, struct timespec* ts);
  54 | extern "C" int clock_getres(clockid_t clk_id, struct timespec* ts);
  55 | #endif


⚠️  (/Users/jaydave5/Library/Developer/Xcode/DerivedData/AwesomeProject-fepzfupsfexonsdubhfcgescuowt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/x86_64/FileUtil.dia:1:1)

warning: Capabilities for Signing & Capabilities may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the AwesomeProject editor. (in tar...
^ Could not read serialized diagnostics file: error(in target 'RCT-Folly' from project 'Pods')
(warning truncated)

› 3 error(s), and 3 warning(s)

Failed to build iOS project. "xcodebuild" exited with error code 65.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

如果您没有安装 cocoa pods,您需要 sudo gem install cocoapods

  1. 运行 cd ios
  2. 运行 pod install
  3. cd .. 然后删除build folder
  4. 运行 react-native run-ios

如果错误仍然存​​在,

  1. 再次删除构建文件夹

  2. 打开 Xcode

    中的 /ios 文件夹
  3. 导航文件 -> 项目设置 -> 构建系统 -> 更改(共享工作区设置和 Per-User 工作区设置):构建系统 -> 遗留构建系统`

希望对您有所帮助

因为我使用的是基于 M1 的 mac 书,当我 运行 pod install 通常它不起作用,但是当我 运行 arch-x86_64 pod 安装它时工作了。我想在这里指出,当我 运行 pod install.

时我没有收到任何错误