Warm tip: This article is reproduced from stackoverflow.com, please click
cocoapods ios swift xcode

Xcode -FirebaseCore Lexical or preprocessor issue 'GoogleUtilities/GULAppEnvironmentUtil.h' file not

发布于 2020-03-27 10:16:43

I'm using cocoapod version /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.3/lib/cocoapods.rb, Swift 5, and Xcode 10.2.1. I cleaned the derived data.

I just updated to Swift 5 (just got a cpu that could support MoJave) and when I try to build my project I keep getting the error

FirebaseCore Lexical or preprocessor issue 'GoogleUtilities/GULAppEnvironmentUtil.h' file not found

Before I updated this never happened before in my old project.

It seems it's specifically coming from Firebase/Core

enter image description here

enter image description here

I did a cmmd+4 for a search and other files use it but they aren't complaining

enter image description here

I tried:

$ pod deintegrate
$ pod clean
$ rm Podfile
$ pod init
$ pod install
$ pod repo remove master // also sudo rm -fr ~/.cocoapods/repos/master
$ pod repo update
$ pod setup
$ pod install
$ pod update

But the error won't go away. How can I fix this?

Here is my pod file:

target 'MyApp' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp

pod 'Stripe'

pod 'DLRadioButton', '~> 1.4'

pod 'GeoFire', :git => 'https://github.com/firebase/geofire-objc.git'

pod 'AFNetworking'

pod 'Alamofire'

pod 'SwiftyJSON'

pod 'SDWebImage'

pod 'Fabric'

pod 'Crashlytics'

pod 'KeychainSwift'

pod 'IQKeyboardManagerSwift'

pod 'HMSegmentedControl'

pod 'NKVPhonePicker'

pod 'FlagPhoneNumber'

pod 'MetalPetal'

pod "SwiftPhoneNumberFormatter"

pod 'CountryPickerView'

pod 'mailcore2-ios'

pod 'Cosmos'

pod 'GoogleInterchangeUtilities'
pod 'GoogleNetworkingUtilities'
pod 'GoogleParsingUtilities'
pod 'GoogleSymbolUtilities'
pod 'GoogleUtilities'

#pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Storage'
pod 'FirebaseInstanceID'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Firebase/DynamicLinks'
pod 'Firebase/Crash'
pod 'Firebase/Messaging'

pod 'GooglePlacesAPI'
pod ‘GoogleMaps’
pod 'GooglePlaces'
pod 'GooglePlacePicker'

pod 'GoogleSignIn'
pod 'GoogleAnalytics'

pod 'ReachabilitySwift'

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = ‘5.0’
        end
    end
end

end

Podfile.Lock

PODS:
  - AFNetworking (3.2.1):
    - AFNetworking/NSURLSession (= 3.2.1)
    - AFNetworking/Reachability (= 3.2.1)
    - AFNetworking/Security (= 3.2.1)
    - AFNetworking/Serialization (= 3.2.1)
    - AFNetworking/UIKit (= 3.2.1)
  - AFNetworking/NSURLSession (3.2.1):
    - AFNetworking/Reachability
    - AFNetworking/Security
    - AFNetworking/Serialization
  - AFNetworking/Reachability (3.2.1)
  - AFNetworking/Security (3.2.1)
  - AFNetworking/Serialization (3.2.1)
  - AFNetworking/UIKit (3.2.1):
    - AFNetworking/NSURLSession
  - Alamofire (4.8.2)
  - Cosmos (19.0.3)
  - CountryPickerView (3.0.1)
  - Crashlytics (3.13.2):
    - Fabric (~> 1.10.2)
  - DLRadioButton (1.4.12)
  - Fabric (1.10.2)
- Firebase/Analytics (3.6.0):
    - FirebaseAnalytics (= 3.4.2)
  - Firebase/Auth (6.3.0):
    - Firebase/CoreOnly
    - FirebaseAuth (~> 6.1.2)
  - Firebase/Core (3.6.0):
    - Firebase/Analytics
  - Firebase/CoreOnly (6.3.0):
    - FirebaseCore (= 6.0.3)
  - Firebase/Crash (3.6.0):
    - Firebase/Analytics
    - FirebaseCrash (= 1.0.7)
  - Firebase/Database (6.3.0):
    - Firebase/CoreOnly
    - FirebaseDatabase (~> 6.0.0)
  - Firebase/DynamicLinks (6.3.0):
    - Firebase/CoreOnly
    - FirebaseDynamicLinks (~> 4.0.0)
  - Firebase/Messaging (3.6.0):
    - Firebase/Analytics
    - FirebaseMessaging (= 1.2.0)
  - Firebase/Storage (6.3.0):
    - Firebase/CoreOnly
    - FirebaseStorage (~> 3.2.1)
  - FirebaseAnalytics (3.4.2):
    - FirebaseInstanceID (~> 1.0)
    - GoogleInterchangeUtilities (~> 1.2)
    - GoogleSymbolUtilities (~> 1.1)
    - GoogleUtilities (~> 1.2)
  - FirebaseAnalyticsInterop (1.2.0)
  - FirebaseAuth (6.1.2):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.2)
    - GoogleUtilities/Environment (~> 6.2)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseAuthInterop (1.0.0)
  - FirebaseCore (6.0.3):
    - GoogleUtilities/Environment (~> 6.0)
    - GoogleUtilities/Logger (~> 6.0)
  - FirebaseCrash (1.0.7):
    - FirebaseAnalytics (~> 3.2)
    - FirebaseInstanceID (~> 1.0)
    - GoogleInterchangeUtilities (~> 1.2)
    - GoogleSymbolUtilities (~> 1.1)
    - GoogleUtilities (~> 1.2)
- FirebaseAnalyticsInterop (1.2.0)
  - FirebaseAuth (6.1.2):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.2)
    - GoogleUtilities/Environment (~> 6.2)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseAuthInterop (1.0.0)
  - FirebaseCore (6.0.3):
    - GoogleUtilities/Environment (~> 6.0)
    - GoogleUtilities/Logger (~> 6.0)
  - FirebaseCrash (1.0.7):
    - FirebaseAnalytics (~> 3.2)
    - FirebaseInstanceID (~> 1.0)
    - GoogleInterchangeUtilities (~> 1.2)
    - GoogleSymbolUtilities (~> 1.1)
    - GoogleUtilities (~> 1.2)
  - FirebaseDatabase (6.0.0):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
    - leveldb-library (~> 1.18)
  - FirebaseDynamicLinks (4.0.0):
    - FirebaseAnalyticsInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
  - FirebaseInstanceID (1.0.9)
  - FirebaseMessaging (1.2.0):
    - FirebaseAnalytics (~> 3.3)
    - FirebaseInstanceID (~> 1.0)
    - GoogleInterchangeUtilities (~> 1.2)
    - GoogleIPhoneUtilities (~> 1.2)
    - GoogleSymbolUtilities (~> 1.1)
  - FirebaseStorage (3.2.1):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
    - GTMSessionFetcher/Core (~> 1.1)
  - FlagPhoneNumber (0.7.6):
    - FlagPhoneNumber/libPhoneNumberiOS (= 0.7.6)
  - FlagPhoneNumber/libPhoneNumberiOS (0.7.6)
  - GeoFire (3.0.0):
    - Firebase/Database (~> 6.0)
  - GoogleAnalytics (3.17.0)
  - GoogleInterchangeUtilities (1.2.2):
    - GoogleSymbolUtilities (~> 1.1)
  - GoogleIPhoneUtilities (1.2.1):
    - GoogleSymbolUtilities (~> 1.0)
    - GoogleUtilities (~> 1.0)
- GoogleMaps (3.1.0):
    - GoogleMaps/Maps (= 3.1.0)
  - GoogleMaps/Base (3.1.0)
  - GoogleMaps/Maps (3.1.0):
    - GoogleMaps/Base
  - GoogleNetworkingUtilities (1.2.2):
    - GoogleSymbolUtilities (~> 1.1)
  - GoogleParsingUtilities (1.1.2):
    - GoogleNetworkingUtilities (~> 1.2)
    - GoogleSymbolUtilities (~> 1.1)
  - GooglePlacePicker (3.1.0):
    - GoogleMaps (= 3.1.0)
    - GooglePlaces (= 3.1.0)
  - GooglePlaces (3.1.0):
    - GoogleMaps/Base (= 3.1.0)
  - GooglePlacesAPI (1.1.4):
    - Alamofire (~> 4)
    - ObjectMapper (~> 3)
  - GoogleSignIn (4.4.0):
    - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
    - "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)"
    - GTMSessionFetcher/Core (~> 1.1)
  - GoogleSymbolUtilities (1.1.2)
  - GoogleToolboxForMac/DebugUtils (2.2.1):
    - GoogleToolboxForMac/Defines (= 2.2.1)
  - GoogleToolboxForMac/Defines (2.2.1)
  - "GoogleToolboxForMac/NSDictionary+URLArguments (2.2.1)":
    - GoogleToolboxForMac/DebugUtils (= 2.2.1)
    - GoogleToolboxForMac/Defines (= 2.2.1)
    - "GoogleToolboxForMac/NSString+URLArguments (= 2.2.1)"
  - "GoogleToolboxForMac/NSString+URLArguments (2.2.1)"
  - GoogleUtilities (1.3.2):
    - GoogleSymbolUtilities (~> 1.1)
  - GoogleUtilities/AppDelegateSwizzler (6.2.1):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (6.2.1)
  - GoogleUtilities/Logger (6.2.1):
    - GoogleUtilities/Environment
  - GoogleUtilities/Network (6.2.1):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (6.2.1)"
- GoogleUtilities/Reachability (6.2.1):
    - GoogleUtilities/Logger
  - GTMSessionFetcher/Core (1.2.2)
  - HMSegmentedControl (1.5.5)
  - IQKeyboardManagerSwift (6.4.0)
  - KeychainSwift (16.0.1)
  - leveldb-library (1.20)
  - mailcore2-ios (0.6.4)
  - MetalPetal (1.4.4):
    - MetalPetal/Core (= 1.4.4)
  - MetalPetal/Core (1.4.4)
  - NKVPhonePicker (2.1.0)
  - ObjectMapper (3.5.1)
  - ReachabilitySwift (4.3.1)
  - SDWebImage (5.0.6):
    - SDWebImage/Core (= 5.0.6)
  - SDWebImage/Core (5.0.6)
  - Stripe (15.0.1)
  - SwiftPhoneNumberFormatter (1.5)
  - SwiftyJSON (5.0.0)

DEPENDENCIES:
  - AFNetworking
  - Alamofire
  - Cosmos
  - CountryPickerView
  - Crashlytics
  - DLRadioButton (~> 1.4)
  - Fabric
  - Firebase/Auth
  - Firebase/Core
  - Firebase/Crash
  - Firebase/Database
  - Firebase/DynamicLinks
  - Firebase/Messaging
  - Firebase/Storage
  - FirebaseInstanceID
  - FlagPhoneNumber
  - GeoFire (from `https://github.com/firebase/geofire-objc.git`)
  - GoogleAnalytics
  - GoogleInterchangeUtilities
  - GoogleMaps
  - GoogleNetworkingUtilities
  - GoogleParsingUtilities
  - GooglePlacePicker
  - GooglePlaces
  - GooglePlacesAPI
  - GoogleSignIn
  - GoogleSymbolUtilities
  - GoogleUtilities
  - HMSegmentedControl
  - IQKeyboardManagerSwift
  - KeychainSwift
  - mailcore2-ios
  - MetalPetal
  - NKVPhonePicker
  - ReachabilitySwift
  - SDWebImage
  - Stripe
  - SwiftPhoneNumberFormatter
  - SwiftyJSON

SPEC REPOS:
  https://github.com/cocoapods/specs.git:
    - AFNetworking
    - Alamofire
    - Cosmos
    - CountryPickerView
    - Crashlytics
    - DLRadioButton
    - Fabric
    - Firebase
    - FirebaseAnalytics
    - FirebaseAnalyticsInterop
    - FirebaseAuth
    - FirebaseAuthInterop
    - FirebaseCore
    - FirebaseCrash
    - FirebaseDatabase
    - FirebaseDynamicLinks
    - FirebaseInstanceID
    - FirebaseMessaging
    - FirebaseStorage
    - FlagPhoneNumber
    - GoogleAnalytics
    - GoogleInterchangeUtilities
    - GoogleIPhoneUtilities
    - GoogleMaps
    - GoogleNetworkingUtilities
    - GoogleParsingUtilities
    - GooglePlacePicker
    - GooglePlaces
    - GooglePlacesAPI
    - GoogleSignIn
    - GoogleSymbolUtilities
    - GoogleToolboxForMac
    - GoogleUtilities
    - GTMSessionFetcher
    - HMSegmentedControl
    - IQKeyboardManagerSwift
    - KeychainSwift
    - leveldb-library
    - mailcore2-ios
    - MetalPetal
    - NKVPhonePicker
    - ObjectMapper
    - ReachabilitySwift
- SDWebImage
    - Stripe
    - SwiftPhoneNumberFormatter
    - SwiftyJSON

EXTERNAL SOURCES:
  GeoFire:
    :git: https://github.com/firebase/geofire-objc.git
Questioner
Lance Samaria
Viewed
957
Lance Samaria 2019-07-03 23:04

I ran $ sudo gem which cocoapods and it said the version I was using was cocoapods-1.7.3. Luckily my old computer still had the old version of cocoapods that was working fine which was cocoapods-1.5.3.

I did 5 things

1- I uninstalled the current version of cocoapods and installed the previous version:

$ sudo gem uninstall cocoapod // uninstall current version
$ sudo gem install cocoapods -v 0.25.0 // install the older version that was working
$ sudo gem which cocoapods // check the updated version

2- I ran the following commends to clean everything out although cleaning out the derived data was probably the only one I needed

$ rm -rf ~/Library/Caches/CocoaPods
$ rm -rf Pods
$ rm -rf ~/Library/Developer/Xcode/DerivedData
$ pod deintegrate
$ pod clean
$ rm Podfile
$ pod cache clean --all

3- After I ran $ pod init to create the podfile, I opened it and made sure the minimum version I'm using in my Xcode project matches what's in the podfile and I also added install! 'cocoapods', :deterministic_uuids => false to the root of the pod file

# Uncomment the next line to define a global platform for your project
platform :ios, '12.0' // my Xcode project has a minimum target of iOS 12

install! 'cocoapods', :deterministic_uuids => false // this line should be written before the target line with the project name below

target 'MyProjectName' do
...
  1. After I did the above and I ran pod install I kept getting an error that said:

[!] CocoaPods could not find compatible versions for pod "Firebase/Crash": In Podfile: Firebase/Crash Specs satisfying the Firebase/Crash dependency were found, but they required a higher minimum deployment target.

Inside my pod file I commented out Firebase/Crash

$ #Firebase/Crash

5- Afterwards I ran pod install I also ran pod update and the error from my question went away:

$ pod install
$ pod update

The FirebaseCore Lexical or preprocessor 'GoogleUtilities/GULAppEnvironmentUtil.h' file not found was finally resolved although I some other errors like 'NBPhoneNumberDesc.h' file not found that was already there but these are the steps I used to get rid of this GoogleUtilities one.