Apple Mach-O Linker (ld) Error(Xcode Swift) nanopb

1.5k Views Asked by At

When I went to upload to iTunesConnect for TestFlight, I noticed a framework that I never installed into my application. "nanopb" is what it was called. I have never heard of it before either. I went to delete the files from my application and then when I went to run it again, I start receiving these errors.

  "_pb_ostream_from_buffer", referenced from:

  "_pb_encode", referenced from:

  "_pb_encode_varint", referenced from:

  "_pb_decode_varint", referenced from:

  "_pb_encode_tag_for_field", referenced from:

  "_pb_read", referenced from:

  "_pb_istream_from_buffer", referenced from:

  "_pb_encode_string", referenced from:

  "_pb_encode_submessage", referenced from:

  "_pb_decode", referenced from:

clang: error: linker command failed with exit code 1 (use -v to see invocation)

With some research, I noticed it may have been a Google Framework? I have done multiple apps with Firebase and Admob and never once saw this.

I have deleted DerivedData and xcuserdata, with no luck. There is no where in my project where I would have used this either, as I said I have never heard of it. I searched my project folder to see if I had any files left over from it, and that wasn't the case either. Since I saw the linker command error, I also checked for duplicate files which wasn't it either. If anyone knows what this is or how to get rid of it, thank you so much. Frustrating!

2

There are 2 best solutions below

0
On BEST ANSWER

ANSWERED MY OWN QUESTION

I simply went into the command line and updated all my pod files. I still have no clue what nanopb is, but it re-installed with the firebase pods that I used within my Podfile so I guess I can trust it. After a clean and build, the errors went away

0
On

Nanopb is a small implementation of Google's protocol buffers format. It can be used for data storage and communicating with various services.

It does look like Firebase uses nanopb for something, so it makes sense that it gets installed and that you get errors when you remove it: Firebase pod