Firebase 不为 Flutter 中的 IOS 构建 - 函数 'pb_release' 的隐式声明在 C99 中无效
Firebase Does not build for IOS in Flutter - Implicit declaration of function 'pb_release' is invalid in C99
当我将 firebase_core: ^1.11.0 添加到我的 pubspec.yaml 时,我无法在 IOS 上实现 运行,它在 Android.
我收到一个错误
ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTUploadOperation.m:408:3: error: implicit declaration of function
'pb_release' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
pb_release(gdt_cct_BatchedLogRequest_fields, &batchedLogRequest);
这是来自 Podfile 锁
- FirebaseCoreDiagnostics (8.11.0):
- GoogleDataTransport (~> 9.1)
我在尝试 运行 和 XCode
时看到同样的错误
我在 Mac 11.5.1
上使用 Flutter 2.8.1
pb_release
定义在pb_decode.h包含在GDTCCTUploadOperation.m
的顶部:
您的 Xcode 项目配置中的某些内容可能与 PB_ENABLE_MALLOC
的定义混淆
导致问题的原因似乎是我在 Podfile 末尾的一些代码,来自 permission_handler 插件
https://pub.dev/packages/permission_handler
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'PERMISSION_CAMERA=1',
'PERMISSION_MICROPHONE=1',
'PERMISSION_SPEECH_RECOGNIZER=1',
]
end
end
end
问题是,如果我从 Podfile 中删除它,我在应用程序设置中没有正确的设备权限
----更新----
我错过了那条线
'$(inherited)',
在顶部之后
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
当我将 firebase_core: ^1.11.0 添加到我的 pubspec.yaml 时,我无法在 IOS 上实现 运行,它在 Android.
我收到一个错误
ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTUploadOperation.m:408:3: error: implicit declaration of function
'pb_release' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
pb_release(gdt_cct_BatchedLogRequest_fields, &batchedLogRequest);
这是来自 Podfile 锁
- FirebaseCoreDiagnostics (8.11.0):
- GoogleDataTransport (~> 9.1)
我在尝试 运行 和 XCode
时看到同样的错误我在 Mac 11.5.1
上使用 Flutter 2.8.1pb_release
定义在pb_decode.h包含在GDTCCTUploadOperation.m
的顶部:
您的 Xcode 项目配置中的某些内容可能与 PB_ENABLE_MALLOC
导致问题的原因似乎是我在 Podfile 末尾的一些代码,来自 permission_handler 插件
https://pub.dev/packages/permission_handler
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'PERMISSION_CAMERA=1',
'PERMISSION_MICROPHONE=1',
'PERMISSION_SPEECH_RECOGNIZER=1',
]
end
end
end
问题是,如果我从 Podfile 中删除它,我在应用程序设置中没有正确的设备权限
----更新----
我错过了那条线
'$(inherited)',
在顶部之后
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',