dpa99c/cordova-plugin-firebasex

Cocoapods based build casues issues

sebastian-zarzycki-apzumi opened this issue · 5 comments

When uploading production version of cordova/ionic app with this plugin, App Store responds with the following warning

ITMS-90381: Too many symbol files - These symbols have no corresponding slice in any binary [16EBC8AC-DAA9-39CF-89EA-6A58EB5A5A2F.symbols, 1B105D69-2039-36A4-A04D-96C1C5BAF235.symbols, 476EACDF-583B-3B29-95B9-253CB41097C8.symbols, 9789B03B-6774-3BC9-A8F0-B9D44B08DCCB.symbols, 983BAE60-D245-3291-9F9C-D25E610846AC.symbols].

I think I saw similar warning in Google Store, too, when uploading Android build. It would seem that this is caused by cocoapods. Some symbols not stripped?

This hasn't happened before and the only thing that changed was adding cordova-plugin-firebasex, along with androidx and adapter (recent versions).

I'm not sure if this will be the cause of Apple review team rejection, but it might be. Will learn that in 1-2 days, I guess.

Seems like this is a generic problem for iOS builds that pull in a lot of library code: https://stackoverflow.com/q/25755240/777265

The best solution is probably to omit debug symbols for all pod libraries (including the ones referenced by this library): https://stackoverflow.com/a/48518656/777265

That will require modification to cordova-plugin-cocoapod-supportx on which this plugin depends, rather than to this plugin itself.

It will also mean symbolificated stack traces of crashes that occur in those libraries will not be possible.

That will require modification to cordova-plugin-cocoapod-supportx - is that something you intend to do in near future?

Fix published in v3.0.8

Awesome, thanks!

I constantly get this error from Apple.

Here are all the pod dependencies when I don't install the above plugin:

Dependencies
- Crashlytics (3.12.0):
  - Fabric (~> 1.9.0)
- Fabric (1.9.0)
- Firebase/Auth (6.3.0):
  - Firebase/CoreOnly
  - FirebaseAuth (~> 6.1.2)
- Firebase/Core (6.3.0):
  - Firebase/CoreOnly
  - FirebaseAnalytics (= 6.0.2)
- Firebase/CoreOnly (6.3.0):
  - FirebaseCore (= 6.0.3)
- Firebase/Messaging (6.3.0):
  - Firebase/CoreOnly
  - FirebaseMessaging (~> 4.1.0)
- Firebase/Performance (6.3.0):
  - Firebase/CoreOnly
  - FirebasePerformance (~> 3.1.0)
- Firebase/RemoteConfig (6.3.0):
  - Firebase/CoreOnly
  - FirebaseRemoteConfig (~> 4.1.0)
- FirebaseABTesting (3.0.0):
  - FirebaseCore (~> 6.0)
  - Protobuf (~> 3.5)
- FirebaseAnalytics (6.0.2):
  - FirebaseCore (~> 6.0)
  - FirebaseInstanceID (~> 4.2)
  - GoogleAppMeasurement (= 6.0.2)
  - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
  - GoogleUtilities/MethodSwizzler (~> 6.0)
  - GoogleUtilities/Network (~> 6.0)
  - "GoogleUtilities/NSData+zlib (~> 6.0)"
  - nanopb (~> 0.3)
- 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)
- FirebaseInstanceID (4.2.2):
  - FirebaseCore (~> 6.0)
  - GoogleUtilities/Environment (~> 6.0)
  - GoogleUtilities/UserDefaults (~> 6.0)
- FirebaseMessaging (4.1.1):
  - FirebaseAnalyticsInterop (~> 1.1)
  - FirebaseCore (~> 6.0)
  - FirebaseInstanceID (~> 4.1)
  - GoogleUtilities/AppDelegateSwizzler (~> 6.2)
  - GoogleUtilities/Environment (~> 6.2)
  - GoogleUtilities/Reachability (~> 6.2)
  - GoogleUtilities/UserDefaults (~> 6.2)
  - Protobuf (~> 3.1)
- FirebasePerformance (3.1.0):
  - FirebaseCore (~> 6.0)
  - FirebaseInstanceID (~> 4.2)
  - FirebaseRemoteConfig (~> 4.1)
  - GoogleToolboxForMac/Logger (~> 2.1)
  - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
  - GoogleUtilities/Environment (~> 6.0)
  - GoogleUtilities/ISASwizzler (~> 6.0)
  - GoogleUtilities/MethodSwizzler (~> 6.0)
  - GTMSessionFetcher/Core (~> 1.1)
  - Protobuf (~> 3.5)
- FirebaseRemoteConfig (4.1.0):
  - FirebaseABTesting (~> 3.0)
  - FirebaseCore (~> 6.0)
  - FirebaseInstanceID (~> 4.2)
  - GoogleUtilities/Environment (~> 6.0)
  - "GoogleUtilities/NSData+zlib (~> 6.0)"
  - Protobuf (~> 3.5)
- GoogleAppMeasurement (6.0.2):
  - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
  - GoogleUtilities/MethodSwizzler (~> 6.0)
  - GoogleUtilities/Network (~> 6.0)
  - "GoogleUtilities/NSData+zlib (~> 6.0)"
  - nanopb (~> 0.3)
- GoogleToolboxForMac/Defines (2.2.1)
- GoogleToolboxForMac/Logger (2.2.1):
  - GoogleToolboxForMac/Defines (= 2.2.1)
- "GoogleToolboxForMac/NSData+zlib (2.2.1)":
  - GoogleToolboxForMac/Defines (= 2.2.1)
- GoogleUtilities/AppDelegateSwizzler (6.2.3):
  - GoogleUtilities/Environment
  - GoogleUtilities/Logger
  - GoogleUtilities/Network
- GoogleUtilities/Environment (6.2.3)
- GoogleUtilities/ISASwizzler (6.2.3)
- GoogleUtilities/Logger (6.2.3):
  - GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.2.3):
  - GoogleUtilities/Logger
- GoogleUtilities/Network (6.2.3):
  - GoogleUtilities/Logger
  - "GoogleUtilities/NSData+zlib"
  - GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.2.3)"
- GoogleUtilities/Reachability (6.2.3):
  - GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.2.3):
  - GoogleUtilities/Logger
- GTMSessionFetcher/Core (1.2.2)
- nanopb (0.3.901):
  - nanopb/decode (= 0.3.901)
  - nanopb/encode (= 0.3.901)
- nanopb/decode (0.3.901)
- nanopb/encode (0.3.901)
- Protobuf (3.9.0)

Is there something I can do to make it works?

Thanks for you work