dpa99c / cordova-plugin-firebasex

Cordova plugin for Google Firebase
MIT License
573 stars 473 forks source link

'FirebaseFirestore' not found #590

Closed burtsevyg closed 3 years ago

burtsevyg commented 3 years ago

I get import error:

In file included from .../platforms/ios/Runner/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:1:
.../platforms/ios/Runner/Plugins/cordova-plugin-firebasex/FirebasePlugin.h:4:9: fatal error: module 'FirebaseFirestore' not found

I found in: https://raw.githubusercontent.com/dpa99c/cordova-plugin-firebasex/master/plugin.xml this line:

...
<pod name="FirebaseFirestore" git="https://github.com/invertase/firestore-ios-sdk-frameworks.git" tag="6.33.0"/>
...

but there are 7.X versions in: https://github.com/invertase/firestore-ios-sdk-frameworks/tags

I think we need to update Firebase plugins version in plugin.xml

jrista commented 3 years ago

I am running into the same issue. Just updated from 8.0.1 to 11.0.3-cli for the first time (as there have been lots of reports of problems with the 9.x and version of firebasex that kept us on 8.0.1). I am running into the same issue with FirebaseFirestore not being found.

jrista commented 3 years ago

FWIW, I checked my pod dependencies, and FirebaseFirestore is indeed listed (FirebaseFirestore (1.16.2)):

➜ pod dependencies

Calculating dependencies

Dependencies
- AppAuth (1.4.0):
  - AppAuth/Core (= 1.4.0)
  - AppAuth/ExternalUserAgent (= 1.4.0)
- AppAuth/Core (1.4.0)
- AppAuth/ExternalUserAgent (1.4.0)
- Firebase/Auth (6.28.1):
  - Firebase/CoreOnly
  - FirebaseAuth (~> 6.7.0)
- Firebase/Core (6.28.1):
  - Firebase/CoreOnly
  - FirebaseAnalytics (= 6.6.2)
- Firebase/CoreOnly (6.28.1):
  - FirebaseCore (= 6.9.1)
- Firebase/Crashlytics (6.28.1):
  - Firebase/CoreOnly
  - FirebaseCrashlytics (~> 4.3.0)
- Firebase/Messaging (6.28.1):
  - Firebase/CoreOnly
  - FirebaseMessaging (~> 4.6.0)
- Firebase/Performance (6.28.1):
  - Firebase/CoreOnly
  - FirebasePerformance (~> 3.2.0)
- Firebase/RemoteConfig (6.28.1):
  - Firebase/CoreOnly
  - FirebaseRemoteConfig (~> 4.7.0)
- FirebaseABTesting (4.1.0):
  - FirebaseCore (~> 6.8)
- FirebaseAnalytics (6.6.2):
  - FirebaseCore (~> 6.8)
  - FirebaseInstallations (~> 1.4)
  - GoogleAppMeasurement (= 6.6.2)
  - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
  - GoogleUtilities/MethodSwizzler (~> 6.0)
  - GoogleUtilities/Network (~> 6.0)
  - "GoogleUtilities/NSData+zlib (~> 6.0)"
  - nanopb (~> 1.30905.0)
- FirebaseAuth (6.7.1):
  - FirebaseCore (~> 6.8)
  - GoogleUtilities/AppDelegateSwizzler (~> 6.7)
  - GoogleUtilities/Environment (~> 6.7)
  - GTMSessionFetcher/Core (~> 1.1)
- FirebaseCore (6.9.1):
  - FirebaseCoreDiagnostics (~> 1.3)
  - GoogleUtilities/Environment (~> 6.7)
  - GoogleUtilities/Logger (~> 6.7)
- FirebaseCoreDiagnostics (1.5.0):
  - GoogleDataTransport (~> 7.0)
  - GoogleUtilities/Environment (~> 6.7)
  - GoogleUtilities/Logger (~> 6.7)
  - nanopb (~> 1.30905.0)
- FirebaseCrashlytics (4.3.1):
  - FirebaseCore (~> 6.8)
  - FirebaseInstallations (~> 1.1)
  - GoogleDataTransport (~> 7.0)
  - nanopb (~> 1.30905.0)
  - PromisesObjC (~> 1.2)
- FirebaseFirestore (1.16.2)
- FirebaseInstallations (1.5.0):
  - FirebaseCore (~> 6.8)
  - GoogleUtilities/Environment (~> 6.7)
  - GoogleUtilities/UserDefaults (~> 6.7)
  - PromisesObjC (~> 1.2)
- FirebaseInstanceID (4.5.1):
  - FirebaseCore (~> 6.8)
  - FirebaseInstallations (~> 1.0)
  - GoogleUtilities/Environment (~> 6.7)
  - GoogleUtilities/UserDefaults (~> 6.7)
- FirebaseMessaging (4.6.1):
  - FirebaseCore (~> 6.8)
  - FirebaseInstanceID (~> 4.3)
  - GoogleUtilities/AppDelegateSwizzler (~> 6.7)
  - GoogleUtilities/Environment (~> 6.7)
  - GoogleUtilities/Reachability (~> 6.7)
  - GoogleUtilities/UserDefaults (~> 6.7)
  - Protobuf (>= 3.9.2, ~> 3.9)
- FirebasePerformance (3.2.1):
  - FirebaseCore (~> 6.9)
  - FirebaseInstallations (~> 1.5)
  - FirebaseRemoteConfig (~> 4.7)
  - GoogleToolboxForMac/Logger (~> 2.1)
  - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
  - GoogleUtilities/Environment (~> 6.2)
  - GoogleUtilities/ISASwizzler (~> 6.2)
  - GoogleUtilities/MethodSwizzler (~> 6.2)
  - GTMSessionFetcher/Core (~> 1.1)
  - Protobuf (~> 3.12)
- FirebaseRemoteConfig (4.7.0):
  - FirebaseABTesting (~> 4.0)
  - FirebaseCore (~> 6.8)
  - FirebaseInstallations (~> 1.1)
  - GoogleUtilities/Environment (~> 6.7)
  - "GoogleUtilities/NSData+zlib (~> 6.7)"
- GoogleAppMeasurement (6.6.2):
  - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
  - GoogleUtilities/MethodSwizzler (~> 6.0)
  - GoogleUtilities/Network (~> 6.0)
  - "GoogleUtilities/NSData+zlib (~> 6.0)"
  - nanopb (~> 1.30905.0)
- GoogleDataTransport (7.2.0):
  - nanopb (~> 1.30905.0)
- GoogleSignIn (5.0.2):
  - AppAuth (~> 1.2)
  - GTMAppAuth (~> 1.0)
  - GTMSessionFetcher/Core (~> 1.1)
- GoogleToolboxForMac/Defines (2.3.1)
- GoogleToolboxForMac/Logger (2.3.1):
  - GoogleToolboxForMac/Defines (= 2.3.1)
- "GoogleToolboxForMac/NSData+zlib (2.3.1)":
  - GoogleToolboxForMac/Defines (= 2.3.1)
- GoogleUtilities/AppDelegateSwizzler (6.7.2):
  - GoogleUtilities/Environment
  - GoogleUtilities/Logger
  - GoogleUtilities/Network
- GoogleUtilities/Environment (6.7.2):
  - PromisesObjC (~> 1.2)
- GoogleUtilities/ISASwizzler (6.7.2)
- GoogleUtilities/Logger (6.7.2):
  - GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.7.2):
  - GoogleUtilities/Logger
- GoogleUtilities/Network (6.7.2):
  - GoogleUtilities/Logger
  - "GoogleUtilities/NSData+zlib"
  - GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.7.2)"
- GoogleUtilities/Reachability (6.7.2):
  - GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.7.2):
  - GoogleUtilities/Logger
- GTMAppAuth (1.1.0):
  - AppAuth/Core (~> 1.4)
  - GTMSessionFetcher (~> 1.4)
- GTMSessionFetcher (1.5.0):
  - GTMSessionFetcher/Full (= 1.5.0)
- GTMSessionFetcher/Core (1.5.0)
- GTMSessionFetcher/Full (1.5.0):
  - GTMSessionFetcher/Core (= 1.5.0)
- nanopb (1.30905.0):
  - nanopb/decode (= 1.30905.0)
  - nanopb/encode (= 1.30905.0)
- nanopb/decode (1.30905.0)
- nanopb/encode (1.30905.0)
- PromisesObjC (1.2.12)
- Protobuf (3.14.0)
seanamph commented 3 years ago

I solved this issue, change project name to all alphabet words , then build success.

burtsevyg commented 3 years ago

I solved this issue, change project name to all alphabet words , then build success.

How to change project name?

seanamph commented 3 years ago

I solved this issue, change project name to all alphabet words , then build success.

How to change project name?

https://cordova.apache.org/docs/en/10.x/config_ref/

< name short="displayName" >projectName< /name >

burtsevyg commented 3 years ago

I solved this issue, change project name to all alphabet words , then build success.

It does not help in my configuration.

seanamph commented 3 years ago

Try Cd /platforms/ios Pod update

burtsevyg commented 3 years ago

I have it in my script:

...
cordova platform add ios

cat <<EOT >> ./platforms/ios/Podfile

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
                config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
        end
    end
end

EOT

cd platforms/ios

rm -rf ~/Library/Caches/CocoaPods
rm -rf Pods
rm -rf ~/Library/Developer/Xcode/DerivedData/*
pod deintegrate
pod setup
pod repo update --verbose
pod install --verbose
cd ../..
cordova build ios --release
...
burtsevyg commented 3 years ago

Now I'm trying this dependency with updated firebase dependencies: "cordova-plugin-firebasex": "github:burtsevyg/cordova-plugin-firebasex#cli_build",

burtsevyg commented 3 years ago

This is my changes: https://github.com/burtsevyg/cordova-plugin-firebasex/commit/7184ea691341c70e801a822623294b507daed025

burtsevyg commented 3 years ago

For build www and android I use docker.io/cirrusci/flutter:stable. Then copy files to mac book pro in gitlab ci. I fixed build upgrade gradle from version 4 (default for ubuntu 20.04) to 6.5

vvarda commented 3 years ago

Yep, it's everything about updating name tag in config.xml -- Latin only. For another cases use localisation plugin.

burtsevyg commented 3 years ago

Yep, it's everything about updating name tag in config.xml -- Latin only. For another cases use localisation plugin.

The reason may be defferent in my case it was ionic keybord plugin configuration. If I remove it build failed.

package.json

...
"cordova": {
        "plugins": {
...
            "cordova-custom-config": {},
            "cordova-plugin-ionic-keyboard": {}
}
...
}
...

it is very strange but it work...

tsimbalar commented 3 years ago

@burtsevyg could you solve it in the end ? I'm struggling to have my app building properly on XCode 12.5

In file included from /Users/builder/clone/apps/ocd/platforms/ios/MY_APP/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:1:
/Users/builder/clone/apps/ocd/platforms/ios/MY_APP/Plugins/cordova-plugin-firebasex/FirebasePlugin.h:4:9: fatal error: module 'FirebaseFirestore' not found
@import FirebaseFirestore;
 ~~~~~~~^~~~~~~~~~~~~~~~~
1 error generated.
burtsevyg commented 3 years ago

I don't use "cordova-plugin-ionic-keyboard": {} but I need it configuration declaration in my package.json. I don't understand why. My build is Ok, now.

tsimbalar commented 3 years ago

ok, that sounds ... mysterious 😱

We do use the keyboard package and have it in package.json so, not sure this is the actual problem we have.

Thanks anyway 👍

burtsevyg commented 3 years ago

ok, that sounds ... mysterious

We do use the keyboard package and have it in package.json so, not sure this is the actual problem we have.

Thanks anyway

Just skip cordova and choose another technology. Maybe flutter...

laurentperez commented 3 years ago

hello. does anyone have a proper fix ? does not work on XCode 12.5. the Flutter comment is not really productive.

norcle commented 2 years ago

downgrade to ionic cordova platform add ios@5.0.0

and remove everything about firebase, keyboard helps

cxcxcxcx commented 2 years ago

I also have non alphabet chars in the project name. I noticed that in Project settings -> "General" -> "Frameworks, Libraries, and Embedded Content", there is a dependency to non-existent "Pods_.framework", I had to remove it, and add "Pods" back.

It must be some processor of the dependency made a mistake.