ld: warning: Linker asked to preserve internal global

I have a project which links with 3rd party SDKs (AdMob and others). With Xcode 8.3.1, I get the following linker warnings when building the archive that gets uploaded to iTunes Connect (Xcode: Product -> Archive):


ld: warning: Linker asked to preserve internal global: '__block_descriptor_tmp'

ld: warning: Linker asked to preserve internal global: '__block_literal_global'


The last time I updated the app, I was using an older version of Xcode and didn't see any linker warnings.


Is this warning due to the 3rd party SDKs having been built with an older version of Xcode?

Is it something to worry about?

Replies

In case someone runs into the same problem, I just wanted to write an udpate: I haven't found a way to get rid of the warnings, but the app update in question went through the review process and is live on the app store with no reported issues.

I've got the same problem! Trying to submit a build to Apple now, fingers-crossed!

Would you guys happen to be using Firebase? Curious if this is at all related to the issues they were having with xcodes release of 8.3. http://stackoverflow.com/questions/42268117/how-to-remove-the-xcode-warning-apple-mach-o-linker-warning-pointer-not-aligned/42448144 Warning seem similar. Those errors were fixed the other day with Firebase 3.16, and no errors when I build. I'm only getting these errors when I try to archive.

Definitely AdMob related, built a fresh xcode project and the problem did not occur unitl archiving, after pod installing 'Firebase/AdMob'

Yes, I believe it has to be Firebase relaed.


I thought it was related to the way that cocaopods installed it all, so I started fresh, installing the minimum myself manually. All good, all running, and now those 3 warnings are back,


ld: warning: Linker asked to preserve internal global: '__block_descriptor_tmp'

ld: warning: Linker asked to preserve internal global: '__block_literal_global'

ld: warning: Linker asked to preserve internal global: 'sharedInstance.sharedInstance'


I haven't been able to solve this myself. I've manually installed Firebase 3.16, but that made no difference.

I have the same issue...

Same issue here. Updated CocoaPods (Firebase and AdMob) before archiving, and received same build warnings.

I have the same issue... Anyone have a solution? ?

Same here (possibly firebase). Sending it to review like that. (crossing fingers).

Hi !

After importing the AdMob SDK, when I archived my project ( workspace), I had the following warning : ld: warning: Linker asked to preserve internal global: '__block_descriptor_tmp'

I've found a way to get rid of it: Target \ Build Settings \ Build Options \ Enable bitcode = NO

Hope this help !

Thank you , very helpful.


JZ

I got it onky after adding adMobs


I really want to know WHY google releases such bugged, undocumented and messy SDKs...