React Native Build Error on IOS - typedef用不同类型重新定义('uint8_t'(又名'unsigned char')与'enum clockid_t')

Posted

技术标签:

【中文标题】React Native Build Error on IOS - typedef用不同类型重新定义(\'uint8_t\'(又名\'unsigned char\')与\'enum clockid_t\')【英文标题】:React Native Build Error on IOS - typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')React Native Build Error on IOS - typedef用不同类型重新定义('uint8_t'(又名'unsigned char')与'enum clockid_t') 【发布时间】:2020-12-02 04:46:50 【问题描述】:

将 React Native 从 0.61.5 升级到 0.63.2 后,Flipperios 上导致错误为 typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')

在 github 上有一些建议的答案,但都没有解决我的问题https://github.com/facebook/flipper/issues/834

有没有人知道如何解决这个问题?

非常感谢

【问题讨论】:

【参考方案1】:

请注意,如果您有 use_frameworks!启用,Flipper 将无法工作并且 您应该在 Podfile 中禁用接下来的几行。

  # use_flipper!
  # post_install do |installer|
  #   flipper_post_install(installer)
  # end

【讨论】:

使用 react-native 0.63.4 需要在 #use_flipper! # post_install 做 |installer| # flipper_post_install(installer) # end 确保之后再次运行 pod update,否则构建仍然会失败【参考方案2】:

使用以下代码更新您的 pod 文件。

use_flipper!( 'Flipper-Folly' => '2.3.0' ) # update this part
 post_install do |installer|
   flipper_post_install(installer)
 end

【讨论】:

【参考方案3】:

第 1 步:

转到YOUR_PROJECT > ios > Podfile,然后评论这些行

  # use_flipper!()

  # post_install do |installer|
  #   react_native_post_install(installer)
  #   __apply_Xcode_12_5_M1_post_install_workaround(installer)
  # end

第 2 步:

在第 1 步之后,您必须在 YOUR_PROJECT > ios 路径上运行 pod update 命令。

宾果游戏完成了。


重要

如果您在执行上述 2 个步骤后遇到一些错误,

    转到YOUR_PROJECT > ios > YOUR_PROJECT_NAME > 并运行此命令 plutil ./Info.plist 它会告诉你问题出在哪里。 然后通过您的文本编辑器修复该问题。

【讨论】:

这应该接受答案!。拯救我的一天 这会起作用,但它只会禁用应用程序的 Flipper 调试器,这可能非常有用。可能是临时解决方法。 另外,我认为您不应该同时禁用 react_native_post_install(installer) 部分。【参考方案4】:

如果您不想从应用中移除 Flipper,请执行此解决方案。

你的 pod.file 像这样

add_flipper_pods!('Flipper' => '0.74.0')

通过这样做升级 Flipper-Folly

删除这一行add_flipper_pods!('Flipper' => '0.74.0')

添加这一行add_flipper_pods!('Flipper-Folly' => '2.3.0')

感谢和问候

别忘了关注

LinkedIn | Twitter | github

【讨论】:

【参考方案5】:

在我的例子中,我的 XCode 版本是 11.5,它不支持 Flipper 中的更新版本。将我的 XCode 更新到版本 12 立即修复了它。

【讨论】:

以上是关于React Native Build Error on IOS - typedef用不同类型重新定义('uint8_t'(又名'unsigned char')与'enum clockid_t')的主要内容,如果未能解决你的问题,请参考以下文章

React Native 0.63.2 iOS Build Error with `ld: library not found for -lAppAuth`

React Native 0.64-65 with XCode 13 build error - 找不到自动链接库 swift_Concurrency 或 swiftFileProvider

React Native Build Error on IOS - typedef用不同类型重新定义('uint8_t'(又名'unsigned char')与'enum clockid_t')

编译依赖于React Native0.46.4的React Native IOS工程时,出现错误“fatal error: 'React/RCTEventEmitter.h' file

React-native 0.65 (targetSdk=30) android build 由于 react-native-reanimated 而失败

react-native 中的导入 com.android.build.OutputFile 错误