Skip to content

Unable to use Firebase Crashlytics with Mac Catalyst app when installed using SPM #6408

@DenTelezhkin

Description

@DenTelezhkin

[REQUIRED] Step 1: Describe your environment

  • Xcode version: 12.0 beta 6
  • macOS Catalina 10.15.6
  • Firebase SDK version: branch 6.32-spm-beta
  • Firebase Component: Crashlytics
  • Component version: 6.32-spm-beta
  • Installation method: Swift Package Manager

[REQUIRED] Step 2: Describe the problem

When trying to use FirebaseCrashlytics in macCatalyst app, following compilation errors happen:

ld: symbol(s) not found for architecture x86_64
Undefined symbol: _CTRadioAccessTechnologyCDMA1x
Undefined symbol: _CTRadioAccessTechnologyCDMAEVDORev0
Undefined symbol: _CTRadioAccessTechnologyCDMAEVDORevA
Undefined symbol: _CTRadioAccessTechnologyCDMAEVDORevB
Undefined symbol: _CTRadioAccessTechnologyEdge
Undefined symbol: _CTRadioAccessTechnologyGPRS
Undefined symbol: _CTRadioAccessTechnologyHSDPA
Undefined symbol: _CTRadioAccessTechnologyHSUPA
Undefined symbol: _CTRadioAccessTechnologyLTE
Undefined symbol: _CTRadioAccessTechnologyWCDMA
Undefined symbol: _CTRadioAccessTechnologyeHRPD
Undefined symbol: _OBJC_CLASS_$_CTTelephonyNetworkInfo

Steps to reproduce:

  1. Install Firebase Crashlytics via SPM
  2. import Firebase
  3. Try to compile for macCatalyst

Opinion

I think this is happening because most of those constants are marked as API_UNAVAILABLE(macos).

Probably errors originate from here.

Possible solution - exclude calls to those constants using #if TARGET_OS_MACCATALYST, although i'm not 100% sure it's a complete solution for macCatalyst.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions