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

半城伤御伤魂 提交于 2020-02-03 01:56:51

问题


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

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

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

回答1:


Remove the following from the Podfile:

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

Those are internal Google support pods that should not be directly added to Podfiles. Some of them are no longer active and because they're being asked to be loaded, they're forcing in ancient versions of other pods, like Firebase 3.x. Firebase is currently on version 6. It's also loading an ancient version of GoogleUtilities instead of the current 6.x version which is why there are missing GoogleUtilities symbol link errors.




回答2:


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.




回答3:


This is because of mismatched version of GoogleUtilities, please update GoogleUtilities using pod update GoogleUtilities



来源:https://stackoverflow.com/questions/56861317/xcode-firebasecore-lexical-or-preprocessor-issue-googleutilities-gulappenviron

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!