capawesome-team / capacitor-firebase

⚡️ Firebase plugins for Capacitor. Supports Android, iOS and the Web.
https://capawesome.io/plugins/firebase/
Apache License 2.0
384 stars 100 forks source link

bug: Error: "FirebaseAnalytics" plugin is not implemented on ios #199

Closed nowitz closed 2 years ago

nowitz commented 2 years ago

Plugin(s): Analytics

Platform(s): iOS

Current behavior: After I added pod, cap sync, etc. and run app on emulator, I have problem with: [error] - ERROR Error: Uncaught (in promise): Error: "FirebaseAnalytics" plugin is not implemented on ios CapacitorException@capacitor://localhost/vendor.js:1469:10 createPluginMethod@capacitor://localhost/vendor.js:1591:37 @capacitor://localhost/vendor.js:1600:40 onInvoke@capacitor://localhost/vendor.js:93774:31 @capacitor://localhost/polyfills.js:296:43 @capacitor://localhost/polyfills.js:1716:31 onInvokeTask@capacitor://localhost/vendor.js:93762:35 @capacitor://localhost/polyfills.js:353:49 drainMicroTaskQueue@capacitor://localhost/polyfills.js:823:32 promiseReactionJob@[native code]

On Android is everything OK!

Expected behavior: App send data to firebase.

Steps to reproduce:

Related code:

Other information: Ionic:

Ionic CLI : 6.20.1 (C:\Users\UZIVATEL\AppData\Roaming\npm\node_modules\@ionic\cli) Ionic Framework : @ionic/angular 6.2.2 @angular-devkit/build-angular : 14.1.2 @angular-devkit/schematics : 14.1.2 @angular/cli : 14.1.2 @ionic/angular-toolkit : 6.1.0

Capacitor:

Capacitor CLI : 4.0.1 @capacitor/android : 4.0.1 @capacitor/core : 4.0.1 @capacitor/ios : 4.0.1

Utility:

cordova-res : 0.15.4 native-run : 1.6.0

System:

NodeJS : v16.13.1 (C:\Software\nodejs\node.exe) npm : 8.1.2 OS : Windows 10

Package.json: "dependencies": { "@angular/common": "^14.0.0", "@angular/core": "^14.0.0", "@angular/forms": "^14.0.0", "@angular/platform-browser": "^14.0.0", "@angular/platform-browser-dynamic": "^14.0.0", "@angular/router": "^14.0.0", "@awesome-cordova-plugins/http": "^5.44.0", "@capacitor-community/admob": "^4.0.0-1", "@capacitor-firebase/analytics": "^1.0.0", "@capacitor/android": "4.0.1", "@capacitor/app": "4.0.1", "@capacitor/configure": "^2.0.10", "@capacitor/core": "4.0.1", "@capacitor/haptics": "4.0.1", "@capacitor/ios": "^4.0.1", "@capacitor/keyboard": "4.0.1", "@capacitor/network": "^4.0.1", "@capacitor/preferences": "^4.0.1", "@capacitor/splash-screen": "^4.0.1", "@capacitor/status-bar": "4.0.1", "@ionic/angular": "^6.1.9", "@ngneat/transloco": "^4.1.1", "@trapezedev/configure": "^5.0.0", "cordova-plugin-advanced-http": "^3.3.1", "cordova-plugin-file": "^7.0.0", "firebase": "^9.9.3", "ionicons": "^6.0.2", "rxjs": "~6.6.0", "tslib": "^2.2.0", "zone.js": "~0.11.4" },

Capacitor doctor:

 Capacitor Doctor   

Latest Dependencies:

  @capacitor/cli: 4.1.0
  @capacitor/core: 4.1.0
  @capacitor/android: 4.1.0
  @capacitor/ios: 4.1.0

Installed Dependencies:

  @capacitor/cli: 4.0.1
  @capacitor/core: 4.0.1
  @capacitor/ios: 4.0.1
  @capacitor/android: 4.0.1

[success] Android looking great! 👌
[success] iOS looking great! 👌
robingenz commented 2 years ago

Please have a look at the official Troubleshooting guide: https://capacitorjs.com/docs/ios/troubleshooting#plugin-not-implemented

nowitz commented 2 years ago

I tried but still the same problem. My settings: Info.plist:

Snímek obrazovky 2022-09-02 v 11 29 07

Pods:

Snímek obrazovky 2022-09-02 v 11 27 49

Capacitor-config:

Snímek obrazovky 2022-09-02 v 11 28 37
robingenz commented 2 years ago

Please provide a minimal, reproducible example so I can debug the issue.

robingenz commented 2 years ago

Please publish your example on Github in a repository.

nowitz commented 2 years ago

@robingenz https://github.com/nowitz/fba

robingenz commented 2 years ago

Thank you! I will have a look soon.

nowitz commented 2 years ago

No problem. But I removed my googleService files for safety. When you run app. You will see Error: not implemented CapacitorException@capacitor://localhost/vendor.js:1469:10 and after you click on button, you will see problem with plugin.

All stacktrace:

2022-09-02 15:41:23.596996+0200 App[5848:4711506] DiskCookieStorage changing policy from 2 to 0, cookie file: file:///Users/jannovak/Library/Developer/CoreSimulator/Devices/9F127124-BE16-4B93-8556-CB309E733048/data/Containers/Data/Application/DBE79A38-39AE-4F4D-BEC3-585AE5366284/Library/Cookies/com.tommylabs.portalzcu.binarycookies 2022-09-02 15:41:23.816655+0200 App[5848:4711506] [ViewportSizing] maximumViewportInset cannot be larger than frame 2022-09-02 15:41:23.816884+0200 App[5848:4711506] [ViewportSizing] minimumViewportInset cannot be larger than frame 2022-09-02 15:41:24.191125+0200 App[5848:4711506] KeyboardPlugin: resize mode - native Loading network plugin ⚡️ Loading app at capacitor://localhost... Reachable via WiFi ⚡️ [log] - onscript loading complete To Native Cordova -> File requestAllPaths File592238558 ["options": []] ⚡️ WebView loaded ⚡️ [log] - Angular is running in development mode. Call enableProdMode() to enable production mode. ⚡️ To Native -> Preferences get 2913840 ⚡️ [log] - Ionic Native: deviceready event fired after 181 ms ⚡️ To Native -> App addListener 2913841 ⚡️ To Native -> StatusBar setBackgroundColor 2913842 ⚡️ TO JS {"value":null} ERROR MESSAGE: {"data":{},"errorMessage":"not implemented","code":"UNIMPLEMENTED","message":"not implemented"} ⚡️ [error] - {"data":{},"errorMessage":"not implemented","code":"UNIMPLEMENTED","message":"not implemented"} ⚡️ [error] - ERROR Error: Uncaught (in promise): Error: not implemented CapacitorException@capacitor://localhost/vendor.js:1469:10 returnResult@user-script:2:414:49 @user-script:2:396:29 ⚡️ To Native -> Network addListener 2913843 ⚡️ To Native -> Network getStatus 2913844 ⚡️ TO JS {"connected":true,"connectionType":"wifi"} ⚡️ [error] - ERROR Error: Uncaught (in promise): Error: "FirebaseAnalytics" plugin is not implemented on ios CapacitorException@capacitor://localhost/vendor.js:1469:10 createPluginMethod@capacitor://localhost/vendor.js:1591:37 @capacitor://localhost/vendor.js:1600:40 onInvoke@capacitor://localhost/vendor.js:93774:31 @capacitor://localhost/polyfills.js:296:43 @capacitor://localhost/polyfills.js:1716:31 onInvokeTask@capacitor://localhost/vendor.js:93762:35 @capacitor://localhost/polyfills.js:353:49 drainMicroTaskQueue@capacitor://localhost/polyfills.js:823:32 promiseReactionJob@[native code] ⚡️ To Native -> App addListener 2913845 ⚡️ To Native -> SplashScreen hide 2913846 ⚡️ TO JS undefined ⚡️ [log] - SplashScreen hidden

robingenz commented 2 years ago

I could reproduce your issue. I have removed the iOS platform and added it back. I also removed admob as it was not used anywhere.

Now it works:

2022-09-04 11:04:40.836453+0200 App[31262:2186802] [ViewportSizing] maximumViewportInset cannot be larger than frame
2022-09-04 11:04:40.836512+0200 App[31262:2186802] [ViewportSizing] minimumViewportInset cannot be larger than frame
2022-09-04 11:04:40.864742+0200 App[31262:2186802] KeyboardPlugin: resize mode - native
Loading network plugin
⚡️  Loading app at capacitor://localhost...
Reachable via WiFi
⚡️  [log] - onscript loading complete
To Native Cordova ->  File requestAllPaths File3404831 ["options": []]
⚡️  WebView loaded
⚡️  [log] - Angular is running in development mode. Call enableProdMode() to enable production mode.
⚡️  [log] - Ionic Native: deviceready event fired after 44 ms
⚡️  To Native ->  App addListener 94554189
⚡️  To Native ->  StatusBar setBackgroundColor 94554190
ERROR MESSAGE:  {"data":{},"code":"UNIMPLEMENTED","message":"not implemented","errorMessage":"not implemented"}
⚡️  [error] - {"data":{},"code":"UNIMPLEMENTED","message":"not implemented","errorMessage":"not implemented"}
⚡️  [error] - ERROR Error: Uncaught (in promise): Error: not implemented
CapacitorException@capacitor://localhost/vendor.js:1469:10
returnResult@user-script:2:414:49
@user-script:2:396:29
⚡️  To Native ->  App addListener 94554191
⚡️  To Native ->  SplashScreen hide 94554192
⚡️  TO JS undefined
⚡️  [log] - SplashScreen hidden
⚡️  To Native ->  FirebaseAnalytics setCurrentScreen 94554193
⚡️  TO JS undefined
2022-09-04 11:04:44.747584+0200 App[31262:2186925] [connection] nw_proxy_resolver_create_parsed_array [C1.1 proxy pac] Evaluation error: kCFErrorDomainCFNetwork: 308
2022-09-04 11:04:44.800458+0200 App[31262:2186930] 9.1.0 - [FirebaseCore][I-COR000003] The default Firebase app has not yet been configured. Add `FirebaseApp.configure()` to your application initialization. This can be done in in the App Delegate's application(_:didFinishLaunchingWithOptions:)` (or the `@main` struct's initializer in SwiftUI). Read more: https://goo.gl/ctyzm8.
2022-09-04 11:04:44.829542+0200 App[31262:2186959] [connection] nw_proxy_resolver_create_parsed_array [C2.1 proxy pac] Evaluation error: kCFErrorDomainCFNetwork: 308
2022-09-04 11:04:44.850476+0200 App[31262:2186959] [boringssl] boringssl_metrics_log_metric_block_invoke(153) Failed to log metrics
2022-09-04 11:04:44.919041+0200 App[31262:2186959] [boringssl] boringssl_metrics_log_metric_block_invoke(153) Failed to log metrics
2022-09-04 11:04:45.014761+0200 App[31262:2186925] 9.1.0 - [FirebaseAnalytics][I-ACS023007] Analytics v.9.1.0 started
2022-09-04 11:04:45.026712+0200 App[31262:2186925] 9.1.0 - [FirebaseAnalytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2022-09-04 11:04:45.036863+0200 App[31262:2186925] 9.1.0 - [FirebaseAnalytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
2022-09-04 11:04:45.343417+0200 App[31262:2186931] 9.1.0 - [FirebaseAnalytics][I-ACS023012] Analytics collection enabled
2022-09-04 11:04:45.344648+0200 App[31262:2186931] 9.1.0 - [FirebaseAnalytics][I-ACS023220] Analytics screen reporting is enabled. Call Analytics.logEvent(AnalyticsEventScreenView, parameters: [...]) to log a screen view event. To disable automatic screen reporting, set the flag FirebaseAutomaticScreenReportingEnabled to NO (boolean) in the Info.plist
2022-09-04 11:04:55.952231+0200 App[31262:2186965] [connection] nw_proxy_resolver_create_parsed_array [C3.1 proxy pac] Evaluation error: kCFErrorDomainCFNetwork: 308
2022-09-04 11:04:56.118126+0200 App[31262:2186932] [boringssl] boringssl_metrics_log_metric_block_invoke(153) Failed to log metrics
2022-09-04 11:04:56.394561+0200 App[31262:2187371] [connection] nw_proxy_resolver_create_parsed_array [C4.1 proxy pac] Evaluation error: kCFErrorDomainCFNetwork: 308
2022-09-04 11:04:56.506213+0200 App[31262:2186965] [boringssl] boringssl_metrics_log_metric_block_invoke(153) Failed to log metrics