Firebase-ios-sdk: Firebase iOS 6.16.0 manual linking missing symbol

Created on 3 Feb 2020  路  18Comments  路  Source: firebase/firebase-ios-sdk

[REQUIRED] Step 1: Describe your environment

  • Xcode version: 11.3.1
  • Firebase SDK version: 6.16.0
  • Firebase Component: Analytics
  • Installation method:Zip file

[REQUIRED] Step 2: Describe the problem

Steps to reproduce:

  • Manually install firebase from the zip.

  • Build it.

Output:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_FIRHeartbeatInfo", referenced from:
      objc-class-ref in FirebaseInstallations(FIRInstallationsAPIService.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

core zip

Most helpful comment

@nidegen Could you please double check that you have FirebaseCore.framework version from 6.16.0 in your project?
FIRHeartbeatInfo is a relatively new class but it was introduced in FirebaseCore before 6.14.0. The class was not used by Analytics or its dependencies before 6.15.0, that can explain why you don't have the issue on 6.14.0.

All 18 comments

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

Thanks for reporting the issue, @nidegen. I'll try to replicate this on my end and I'll update you with my findings.

It would also be great if you could share a sample project that will reproduce the issue.

Yes I agree.

Currently, I switched my setup to 6.14. As that works there without problems. This hints with a specific bug of 6.16, so I skipped building a sample project for now.

@nidegen Could you please double check that you have FirebaseCore.framework version from 6.16.0 in your project?
FIRHeartbeatInfo is a relatively new class but it was introduced in FirebaseCore before 6.14.0. The class was not used by Analytics or its dependencies before 6.15.0, that can explain why you don't have the issue on 6.14.0.

I am pretty sure as i downloaded the entire zip, and didnt touch 6.14 until after, but If needed i can double check with a sample project. but probably not before this weekend


Hey @nidegen. We need more information to resolve this issue but there hasn't been an update in 7 days. I'm marking the issue as stale and if there are no new updates in the next 3 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

I made an example repo, but hit the issue of #4819 on the way there. see https://github.com/nidegen/Sketcher/tree/firebase

Hi @nidegen, I can't seem to find the page. Looks like the repo was set to private.

oh, sorry I had assumed it was already public. done.

I'm having trouble reproducing
Screen Shot 2020-02-11 at 2 47 33 PM

oh these are unused submodules. git submodule update --init or pull the newest commit, i removed the refs

I can reproduce with 6.17.0 as well

@nidegen Thanks for the repro.

After working around #4819, the app links successfully for me. I don't see the problem with _OBJC_CLASS_$_FIRHeartbeatInfo.

yep, my repro case does fork after 4819 fix (while also linking to sqlite3). I'll doublecheck on the heartbeatinfo


Hey @nidegen. We need more information to resolve this issue but there hasn't been an update in 7 days. I'm marking the issue as stale and if there are no new updates in the next 3 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

I can confirm that adding FirebaseInstallation.framework and PromiseObjC.framework fixes the issue

yep tried at 6.17 and it works fine. Didn't investigate what was the missing link

it popped up again. maybe it just a caching issue, but clean build and rm DerivedData didn't solve. doesn't happen on the example project, so no need for reopening currently

Was this page helpful?
0 / 5 - 0 ratings