How to fix fatal errors when working with firebase for iOS development?

1,698

Try these steps:

  1. Delete .symlink and the Pods folder from your ios directory.
  2. Run flutter clean in your terminal.
  3. Run the app.

Let me know if it helps.

Share:
1,698
Jdosaj0606
Author by

Jdosaj0606

Updated on December 17, 2022

Comments

  • Jdosaj0606
    Jdosaj0606 over 1 year

    First off, I am working in visual studio code. But that shouldn't be the issue as the default code that the Flutter SDK comes with runs in the iOS simulator perfectly fine. Here is my Error:

    Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
    Xcode build done.                                           13.1s
    Failed to build iOS app
    Error output from Xcode build:
    ↳
        ** BUILD FAILED **
    Xcode's output:
    ↳
        duplicate symbol '_pb_field_iter_next' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 3.o
        duplicate symbol '_pb_field_iter_begin' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 3.o
        duplicate symbol '_pb_field_iter_find' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 3.o
        duplicate symbol '_pb_field_iter_next' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common.o
        duplicate symbol '_pb_field_iter_begin' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common.o
        duplicate symbol '_pb_field_iter_find' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_common.o
        duplicate symbol '_pb_decode_svarint' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_decode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_decode 3.o
        duplicate symbol '_pb_decode_varint' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_decode 2.o
         /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_write' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode_submessage' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode_tag_for_field' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode_delimited' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode_nullterminated' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode_fixed64' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        duplicate symbol '_pb_encode_fixed32' in:
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode 2.o
            /Users/justindosaj/Library/Developer/Xcode/DerivedData/Runner-bchdppgbhrbnzxagnhfnozruredr/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/nanopb.build/Objects-normal/x86_64/pb_encode.o
        ld: 68 duplicate symbols for architecture x86_64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
        note: Using new build system
        note: Planning build
        note: Constructing build description
    Could not build the application for the simulator.
    Error launching application on iPhone 11 Pro Max.
    Exited (sigterm)
    

    It is also important to note that before this error, I was getting an error saying that "Module 'firebase_core' not found" @import firebase_core

    My Flutter Doctor:

    [flutter] flutter doctor -v
    Unable to find any JVMs matching version "(null)".
    No Java runtime present, try --request to install.
    Unable to find any JVMs matching version "(null)".
    No Java runtime present, try --request to install.
    [✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-US)
        • Flutter version 1.12.13+hotfix.5 at /Users/justindosaj/Desktop/ApplicationSoftware/flutter
        • Framework revision 27321ebbad (6 weeks ago), 2019-12-10 18:15:01 -0800
        • Engine revision 2994f7e1e6
        • Dart version 2.7.0
    
    [!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
        • Android SDK at /Users/justindosaj/Library/Android/sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • Platform android-29, build-tools 29.0.2
        • Java binary at: /usr/bin/java
        ✗ Could not determine java version
    
    [✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 11.3.1, Build version 11C504
        • CocoaPods version 1.8.4
    
    [!] Android Studio (not installed)
        • Android Studio not found; download from https://developer.android.com/studio/index.html
          (or visit https://flutter.dev/setup/#android-setup for detailed instructions).
    
    [✓] Connected device (1 available)
        • iPhone 11 Pro Max • F64065AE-360F-474C-BC50-133614E7DC6A • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    
    ! Doctor found issues in 2 categories.
    exit code 0
    

    My podfile:

    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'
    
    target 'Runner' do
      # Comment the next line if you don't want to use dynamic frameworks
      use_frameworks!
    
      # Pods for Runner
      pod 'Firebase/Analytics'
    end
    

    Here is my podfile.lock

    PODS:
      - Firebase/Analytics (6.15.0):
        - Firebase/Core
      - Firebase/Core (6.15.0):
        - Firebase/CoreOnly
        - FirebaseAnalytics (= 6.2.1)
      - Firebase/CoreOnly (6.15.0):
        - FirebaseCore (= 6.6.0)
      - FirebaseAnalytics (6.2.1):
        - FirebaseCore (~> 6.6)
        - FirebaseInstanceID (~> 4.3)
        - GoogleAppMeasurement (= 6.2.1)
        - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
        - GoogleUtilities/MethodSwizzler (~> 6.0)
        - GoogleUtilities/Network (~> 6.0)
        - "GoogleUtilities/NSData+zlib (~> 6.0)"
        - nanopb (= 0.3.9011)
      - FirebaseCore (6.6.0):
        - FirebaseCoreDiagnostics (~> 1.2)
        - FirebaseCoreDiagnosticsInterop (~> 1.2)
        - GoogleUtilities/Environment (~> 6.5)
        - GoogleUtilities/Logger (~> 6.5)
      - FirebaseCoreDiagnostics (1.2.0):
        - FirebaseCoreDiagnosticsInterop (~> 1.2)
        - GoogleDataTransportCCTSupport (~> 1.3)
        - GoogleUtilities/Environment (~> 6.5)
        - GoogleUtilities/Logger (~> 6.5)
        - nanopb (~> 0.3.901)
      - FirebaseCoreDiagnosticsInterop (1.2.0)
      - FirebaseInstallations (1.1.0):
        - FirebaseCore (~> 6.6)
        - GoogleUtilities/UserDefaults (~> 6.5)
        - PromisesObjC (~> 1.2)
      - FirebaseInstanceID (4.3.0):
        - FirebaseCore (~> 6.6)
        - FirebaseInstallations (~> 1.0)
        - GoogleUtilities/Environment (~> 6.5)
        - GoogleUtilities/UserDefaults (~> 6.5)
      - GoogleAppMeasurement (6.2.1):
        - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
        - GoogleUtilities/MethodSwizzler (~> 6.0)
        - GoogleUtilities/Network (~> 6.0)
        - "GoogleUtilities/NSData+zlib (~> 6.0)"
        - nanopb (= 0.3.9011)
      - GoogleDataTransport (3.3.0)
      - GoogleDataTransportCCTSupport (1.3.0):
        - GoogleDataTransport (~> 3.3)
        - nanopb (~> 0.3.901)
      - GoogleUtilities/AppDelegateSwizzler (6.5.0):
        - GoogleUtilities/Environment
        - GoogleUtilities/Logger
        - GoogleUtilities/Network
      - GoogleUtilities/Environment (6.5.0)
      - GoogleUtilities/Logger (6.5.0):
        - GoogleUtilities/Environment
      - GoogleUtilities/MethodSwizzler (6.5.0):
        - GoogleUtilities/Logger
      - GoogleUtilities/Network (6.5.0):
        - GoogleUtilities/Logger
        - "GoogleUtilities/NSData+zlib"
        - GoogleUtilities/Reachability
      - "GoogleUtilities/NSData+zlib (6.5.0)"
      - GoogleUtilities/Reachability (6.5.0):
        - GoogleUtilities/Logger
      - GoogleUtilities/UserDefaults (6.5.0):
        - GoogleUtilities/Logger
      - nanopb (0.3.9011):
        - nanopb/decode (= 0.3.9011)
        - nanopb/encode (= 0.3.9011)
      - nanopb/decode (0.3.9011)
      - nanopb/encode (0.3.9011)
      - PromisesObjC (1.2.8)
    
    DEPENDENCIES:
      - Firebase/Analytics
    
    SPEC REPOS:
      trunk:
        - Firebase
        - FirebaseAnalytics
        - FirebaseCore
        - FirebaseCoreDiagnostics
        - FirebaseCoreDiagnosticsInterop
        - FirebaseInstallations
        - FirebaseInstanceID
        - GoogleAppMeasurement
        - GoogleDataTransport
        - GoogleDataTransportCCTSupport
        - GoogleUtilities
        - nanopb
        - PromisesObjC
    
    SPEC CHECKSUMS:
      Firebase: 5d77105d9740a07ca6b16927ca971db7e860faaf
      FirebaseAnalytics: e83e64b1231dedcd9ddd4bdecd9bcfd6ba341679
      FirebaseCore: 4aeb81ff53dcd9a3634ca725dc1fb8c2a4622046
      FirebaseCoreDiagnostics: 5e78803ab276bc5b50340e3c539c06c3de35c649
      FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850
      FirebaseInstallations: 575cd32f2aec0feeb0e44f5d0110a09e5e60b47b
      FirebaseInstanceID: 6668efc1655a4052c083f287a7141f1ead12f9c2
      GoogleAppMeasurement: a08a43b8677b95ed51fcef880e36737334d804fd
      GoogleDataTransport: 574a983e829327d7c18f2627f65d9e80164ea8a4
      GoogleDataTransportCCTSupport: cad3cd6cdbdbad6b5c2c9206ec413402755faaaa
      GoogleUtilities: f8de7ddf8c706f58e9b405d53e38bbdaa2731e5a
      nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
      PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6
    
    PODFILE CHECKSUM: c6bfafa3bd987a1301ca2facd9381380dccab887
    
    COCOAPODS: 1.8.4
    

    My GoogleService-Info.plist is stored in my runner file, which I put in there through Xcode so the targets should be correct.

    pub spec.yaml file:

    name: testapp
    description: A new Flutter project.
    
    # The following defines the version and build number for your application.
    # A version number is three numbers separated by dots, like 1.2.43
    # followed by an optional build number separated by a +.
    # Both the version and the builder number may be overridden in flutter
    # build by specifying --build-name and --build-number, respectively.
    # In Android, build-name is used as versionName while build-number used as versionCode.
    # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
    # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
    # Read more about iOS versioning at
    # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
    version: 1.0.0+1
    
    environment:
      sdk: ">=2.1.0 <3.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
    
      # The following adds the Cupertino Icons font to your application.
      # Use with the CupertinoIcons class for iOS style icons.
      cupertino_icons: ^0.1.2
      firebase_core: ^0.4.3+2
      firebase_admob: ^0.9.0+10
    
    dev_dependencies:
      flutter_test:
        sdk: flutter
    
    
    # For information on the generic Dart part of this file, see the
    # following page: https://dart.dev/tools/pub/pubspec
    
    # The following section is specific to Flutter.
    flutter:
    
      # The following line ensures that the Material Icons font is
      # included with your application, so that you can use the icons in
      # the material Icons class.
      uses-material-design: true
    
      # To add assets to your application, add an assets section, like this:
      # assets:
      #  - images/a_dot_burr.jpeg
      #  - images/a_dot_ham.jpeg
    
      # An image asset can refer to one or more resolution-specific "variants", see
      # https://flutter.dev/assets-and-images/#resolution-aware.
    
      # For details regarding adding assets from package dependencies, see
      # https://flutter.dev/assets-and-images/#from-packages
    
      # To add custom fonts to your application, add a fonts section here,
      # in this "flutter" section. Each entry in this list should have a
      # "family" key with the font family name, and a "fonts" key with a
      # list giving the asset and other descriptors for the font. For
      # example:
      # fonts:
      #   - family: Schyler
      #     fonts:
      #       - asset: fonts/Schyler-Regular.ttf
      #       - asset: fonts/Schyler-Italic.ttf
      #         style: italic
      #   - family: Trajan Pro
      #     fonts:
      #       - asset: fonts/TrajanPro.ttf
      #       - asset: fonts/TrajanPro_Bold.ttf
      #         weight: 700
      #
      # For details regarding fonts from package dependencies,
      # see https://flutter.dev/custom-fonts/#from-packages
    

    My code did work fine until I started adding firebase dependencies into my pubspec.yaml file.

    • R. Duggan
      R. Duggan about 4 years
      Are you running it on simulator or a physical device?