我能够在XCODE和模拟器中以 Debug模式运行该应用程序,而不会出现任何错误。但是,当我针对 Release模式进行构建时,构建失败并显示以下2个错误:

找不到

  • 'FirebaseCore / FirebaseCore.h'文件
  • 无法构建Objective-C模块“Firebase”

  • 在过去的10天里,我一直在尝试在Stackoverflow和gitHub上使用不同的解决方案,但是似乎可以正常使用,以下是详细信息。

    FLUTTER DOCTOR:
    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel stable, v1.17.3, on Mac OS X 10.15.3 19D76, locale en-IN)
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    [✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    [✓] Android Studio (version 4.0)
    [✓] Connected device (2 available)
    
    • No issues found!
    

    POD文件:
    # Uncomment this line to define a global platform for your project
    platform :ios, '9.0'
    
    # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
    ENV['COCOAPODS_DISABLE_STATS'] = 'true'
    
    project 'Runner', {
      'Debug' => :debug,
      'Profile' => :release,
      'Release' => :release,
    }
    
    def parse_KV_file(file, separator='=')
      file_abs_path = File.expand_path(file)
      if !File.exists? file_abs_path
        return [];
      end
      generated_key_values = {}
      skip_line_start_symbols = ["#", "/"]
      File.foreach(file_abs_path) do |line|
        next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
        plugin = line.split(pattern=separator)
        if plugin.length == 2
          podname = plugin[0].strip()
          path = plugin[1].strip()
          podpath = File.expand_path("#{path}", file_abs_path)
          generated_key_values[podname] = podpath
        else
          puts "Invalid plugin specification: #{line}"
        end
      end
      generated_key_values
    end
    
    target 'Runner' do
      use_frameworks!
      use_modular_headers!
    
      # Flutter Pod
    
      copied_flutter_dir = File.join(__dir__, 'Flutter')
      copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
      copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
      unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
        # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
        # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
        # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
    
        generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
        unless File.exist?(generated_xcode_build_settings_path)
          raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
        end
        generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
        cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
    
        unless File.exist?(copied_framework_path)
          FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
        end
        unless File.exist?(copied_podspec_path)
          FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
        end
      end
    
      # Keep pod path relative so it can be checked into Podfile.lock.
      pod 'Flutter', :path => 'Flutter'
    
      # Plugin Pods
    
      # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
      # referring to absolute paths on developers' machines.
      system('rm -rf .symlinks')
      system('mkdir -p .symlinks/plugins')
      plugin_pods = parse_KV_file('../.flutter-plugins')
      plugin_pods.each do |name, path|
        symlink = File.join('.symlinks', 'plugins', name)
        File.symlink(path, symlink)
        pod name, :path => File.join(symlink, 'ios')
      end
    end
    
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
      end
    end
    

    AppDelegate.swift(文件):
    import UIKit
    import Flutter
    import Firebase
    
    @UIApplicationMain
    @objc class AppDelegate: FlutterAppDelegate {
    
        override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {
      FirebaseApp.configure()
        GeneratedPluginRegistrant.register(with: self)
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
      }
    }
    

    Firebase.h文件(路径:Pods> Pods> Firebase> CoreOnly> Firebase.h):
    // Copyright 2019 Google
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    //      http://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.
    
    #import <FirebaseCore/FirebaseCore.h>
    
    #if !defined(__has_include)
      #error "Firebase.h won't import anything if your compiler doesn't support __has_include. Please \
              import the headers individually."
    #else
      #if __has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
        #import <FirebaseAnalytics/FirebaseAnalytics.h>
      #endif
    
      #if __has_include(<FirebaseAuth/FirebaseAuth.h>)
        #import <FirebaseAuth/FirebaseAuth.h>
      #endif
    
      #if __has_include(<FirebaseCrashlytics/FirebaseCrashlytics.h>)
        #import <FirebaseCrashlytics/FirebaseCrashlytics.h>
      #endif
    
      #if __has_include(<FirebaseDatabase/FirebaseDatabase.h>)
        #import <FirebaseDatabase/FirebaseDatabase.h>
      #endif
    
      #if __has_include(<FirebaseDynamicLinks/FirebaseDynamicLinks.h>)
        #import <FirebaseDynamicLinks/FirebaseDynamicLinks.h>
        #if !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
          #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
            #warning "FirebaseAnalytics.framework is not included in your target. Please add \
    `Firebase/Analytics` to your Podfile or add FirebaseAnalytics.framework to your project to ensure \
    Firebase Dynamic Links works as intended."
          #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
        #endif
      #endif
    
      #if __has_include(<FirebaseFirestore/FirebaseFirestore.h>)
        #import <FirebaseFirestore/FirebaseFirestore.h>
      #endif
    
      #if __has_include(<FirebaseFunctions/FirebaseFunctions.h>)
        #import <FirebaseFunctions/FirebaseFunctions.h>
      #endif
    
      #if __has_include(<FirebaseInAppMessaging/FirebaseInAppMessaging.h>)
        #import <FirebaseInAppMessaging/FirebaseInAppMessaging.h>
        #if !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
          #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
            #warning "FirebaseAnalytics.framework is not included in your target. Please add \
    `Firebase/Analytics` to your Podfile or add FirebaseAnalytics.framework to your project to ensure \
    Firebase In App Messaging works as intended."
          #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
        #endif
      #endif
    
      #if __has_include(<FirebaseInstanceID/FirebaseInstanceID.h>)
        #import <FirebaseInstanceID/FirebaseInstanceID.h>
      #endif
    
      #if __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
        #import <FirebaseMessaging/FirebaseMessaging.h>
          #if !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
          #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
            #warning "FirebaseAnalytics.framework is not included in your target. Please add \
    `Firebase/Analytics` to your Podfile or add FirebaseAnalytics.framework to your project to ensure \
    Firebase Messaging works as intended."
          #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
        #endif
    #endif
    
      #if __has_include(<FirebaseMLCommon/FirebaseMLCommon.h>)
        #import <FirebaseMLCommon/FirebaseMLCommon.h>
      #endif
    
      #if __has_include(<FirebaseMLModelInterpreter/FirebaseMLModelInterpreter.h>)
        #import <FirebaseMLModelInterpreter/FirebaseMLModelInterpreter.h>
      #endif
    
      #if __has_include(<FirebaseMLNLLanguageID/FirebaseMLNLLanguageID.h>)
        #import <FirebaseMLNLLanguageID/FirebaseMLNLLanguageID.h>
      #endif
    
      #if __has_include(<FirebaseMLNLSmartReply/FirebaseMLNLSmartReply.h>)
        #import <FirebaseMLNLSmartReply/FirebaseMLNLSmartReply.h>
      #endif
    
      #if __has_include(<FirebaseMLNLTranslate/FirebaseMLNLTranslate.h>)
        #import <FirebaseMLNLTranslate/FirebaseMLNLTranslate.h>
      #endif
    
      #if __has_include(<FirebaseMLNaturalLanguage/FirebaseMLNaturalLanguage.h>)
        #import <FirebaseMLNaturalLanguage/FirebaseMLNaturalLanguage.h>
      #endif
    
      #if __has_include(<FirebaseMLVision/FirebaseMLVision.h>)
        #import <FirebaseMLVision/FirebaseMLVision.h>
      #endif
    
      #if __has_include(<FirebaseMLVisionAutoML/FirebaseMLVisionAutoML.h>)
        #import <FirebaseMLVisionAutoML/FirebaseMLVisionAutoML.h>
      #endif
    
      #if __has_include(<FirebaseMLVisionBarcodeModel/FirebaseMLVisionBarcodeModel.h>)
        #import <FirebaseMLVisionBarcodeModel/FirebaseMLVisionBarcodeModel.h>
      #endif
    
      #if __has_include(<FirebaseMLVisionFaceModel/FirebaseMLVisionFaceModel.h>)
        #import <FirebaseMLVisionFaceModel/FirebaseMLVisionFaceModel.h>
      #endif
    
      #if __has_include(<FirebaseMLVisionLabelModel/FirebaseMLVisionLabelModel.h>)
        #import <FirebaseMLVisionLabelModel/FirebaseMLVisionLabelModel.h>
      #endif
    
      #if __has_include(<FirebaseMLVisionObjectDetection/FirebaseMLVisionObjectDetection.h>)
        #import <FirebaseMLVisionObjectDetection/FirebaseMLVisionObjectDetection.h>
      #endif
    
      #if __has_include(<FirebaseMLVisionTextModel/FirebaseMLVisionTextModel.h>)
        #import <FirebaseMLVisionTextModel/FirebaseMLVisionTextModel.h>
      #endif
    
      #if __has_include(<FirebasePerformance/FirebasePerformance.h>)
        #import <FirebasePerformance/FirebasePerformance.h>
        #if !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
          #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
            #warning "FirebaseAnalytics.framework is not included in your target. Please add \
    `Firebase/Analytics` to your Podfile or add FirebaseAnalytics.framework to your project to ensure \
    Firebase Performance works as intended."
          #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
        #endif
      #endif
    
      #if __has_include(<FirebaseRemoteConfig/FirebaseRemoteConfig.h>)
        #import <FirebaseRemoteConfig/FirebaseRemoteConfig.h>
        #if !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
          #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
            #warning "FirebaseAnalytics.framework is not included in your target. Please add \
    `Firebase/Analytics` to your Podfile or add FirebaseAnalytics.framework to your project to ensure \
    Firebase Remote Config works as intended."
          #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
        #endif
      #endif
    
      #if __has_include(<FirebaseStorage/FirebaseStorage.h>)
        #import <FirebaseStorage/FirebaseStorage.h>
      #endif
    
      #if __has_include(<GoogleMobileAds/GoogleMobileAds.h>)
        #import <GoogleMobileAds/GoogleMobileAds.h>
      #endif
    
      #if __has_include(<Fabric/Fabric.h>)
        #import <Fabric/Fabric.h>
      #endif
    
      #if __has_include(<Crashlytics/Crashlytics.h>)
        #import <Crashlytics/Crashlytics.h>
      #endif
    
    #endif  // defined(__has_include)
    



    ios - 在Xcode版本11.5(11E608c)中为发行模式构建时找不到“FirebaseCore/FirebaseCore.h”文件-LMLPHP



    ios - 在Xcode版本11.5(11E608c)中为发行模式构建时找不到“FirebaseCore/FirebaseCore.h”文件-LMLPHP

    最佳答案

    我遇到了同样的问题,就我而言,Firebase pods版本问题就在那里。我通过以下步骤修复了该问题:-

  • 首先评论与Firebase相关的所有pod。
  • 复制项目路径并粘贴到终端上。
  • 现在键入pod install,这将删除与Firebase
  • 相关的所有pod
  • 现在打开您的podFile并取消注释与Firebase相关的所有Pod。
  • 打开您的项目。现在清理您的项目文件夹并运行该应用程序。

  • 如果您仍然遇到问题,请告诉我。
    。复制项目路径并粘贴到终端上。现在键入pod install,这将删除与Firebase相关的所有Pod。现在打开您的podFile并取消注释与Firebase相关的所有Pod。

    07-24 09:44
    查看更多