IOS 上的 React Native 构建错误 - 不同类型的 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 从 0.61.5 升级到 0.63.2 后,Flipper
在 IOS 上导致错误 typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')
在 github 上有一些建议的答案,但其中 none 解决了我的问题 https://github.com/facebook/flipper/issues/834
有没有人知道如何解决这个问题?
非常感谢
使用以下代码更新您的 pod 文件。
use_flipper!({ 'Flipper-Folly' => '2.3.0' }) # update this part
post_install do |installer|
flipper_post_install(installer)
end
请注意,如果您有 use_frameworks!已启用,Flipper 将无法工作,并且
您应该在 Podfile 中禁用接下来的几行。
# use_flipper!
# post_install do |installer|
# flipper_post_install(installer)
# end
如果您不想从您的应用中删除 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')
就我而言,我的 XCode 版本是 11.5,它不支持 Flipper 中的更新内容。将我的 XCode 更新到版本 12 立即修复了它。
第 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
它会告诉您问题出在哪里。
- 然后从您的文本编辑器中解决该问题。
我需要指定版本:
# https://github.com/facebook/flipper/releases
# https://cocoapods.org/pods/Flipper-Folly
# https://cocoapods.org/pods/OpenSSL-Universal
use_flipper!({
"Flipper" => "0.134.0",
"Flipper-Folly" => "2.6.10",
"OpenSSL-Universal" => "1.1.1100"
})
对于完整的 Podfile,它可能会有所帮助:
require_relative "../node_modules/expo/scripts/autolinking"
require_relative "../node_modules/react-native/scripts/react_native_pods"
require_relative "../node_modules/@react-native-community/cli-platform-ios/native_modules"
platform :ios, "12.0"
target "socializus" do
use_expo_modules!
config = use_native_modules!
use_react_native!(
path: config[:reactNativePath],
hermes_enabled: false
)
# https://github.com/facebook/flipper/releases
# https://cocoapods.org/pods/Flipper-Folly
# https://cocoapods.org/pods/OpenSSL-Universal
use_flipper!({
"Flipper" => "0.134.0",
"Flipper-Folly" => "2.6.10",
"OpenSSL-Universal" => "1.1.1100"
})
post_install do |installer|
flipper_post_install(installer)
react_native_post_install(installer)
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete "IPHONEOS_DEPLOYMENT_TARGET"
end
end
end
end
将 React Native 从 0.61.5 升级到 0.63.2 后,Flipper
在 IOS 上导致错误 typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')
在 github 上有一些建议的答案,但其中 none 解决了我的问题 https://github.com/facebook/flipper/issues/834
有没有人知道如何解决这个问题?
非常感谢
使用以下代码更新您的 pod 文件。
use_flipper!({ 'Flipper-Folly' => '2.3.0' }) # update this part
post_install do |installer|
flipper_post_install(installer)
end
请注意,如果您有 use_frameworks!已启用,Flipper 将无法工作,并且 您应该在 Podfile 中禁用接下来的几行。
# use_flipper!
# post_install do |installer|
# flipper_post_install(installer)
# end
如果您不想从您的应用中删除 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')
就我而言,我的 XCode 版本是 11.5,它不支持 Flipper 中的更新内容。将我的 XCode 更新到版本 12 立即修复了它。
第 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
它会告诉您问题出在哪里。- 然后从您的文本编辑器中解决该问题。
我需要指定版本:
# https://github.com/facebook/flipper/releases
# https://cocoapods.org/pods/Flipper-Folly
# https://cocoapods.org/pods/OpenSSL-Universal
use_flipper!({
"Flipper" => "0.134.0",
"Flipper-Folly" => "2.6.10",
"OpenSSL-Universal" => "1.1.1100"
})
对于完整的 Podfile,它可能会有所帮助:
require_relative "../node_modules/expo/scripts/autolinking"
require_relative "../node_modules/react-native/scripts/react_native_pods"
require_relative "../node_modules/@react-native-community/cli-platform-ios/native_modules"
platform :ios, "12.0"
target "socializus" do
use_expo_modules!
config = use_native_modules!
use_react_native!(
path: config[:reactNativePath],
hermes_enabled: false
)
# https://github.com/facebook/flipper/releases
# https://cocoapods.org/pods/Flipper-Folly
# https://cocoapods.org/pods/OpenSSL-Universal
use_flipper!({
"Flipper" => "0.134.0",
"Flipper-Folly" => "2.6.10",
"OpenSSL-Universal" => "1.1.1100"
})
post_install do |installer|
flipper_post_install(installer)
react_native_post_install(installer)
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete "IPHONEOS_DEPLOYMENT_TARGET"
end
end
end
end