3

My app uses a concurrency framework and targets iOS 14 and all toggles with Enable Bitcode in Build Settings are set to YES, after compiling it shows the following warnings (using SPM for dependencies):

ld: warning: all bitcode will be dropped because '/Build/Products/Debug-iphonesimulator/FirebaseFirestore.o' was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

Xcode 13.3 Release Notes:

Known Issues: Exporting an app that uses Swift’s concurrency features from an archive with bitcode might fail when the app targets iOS 13.0 – iOS 14.7, watchOS 6.0 – watchOS 7.6, or tvOS 13.0 – 14.7. (89271047) Workaround: Either uncheck the box Rebuild from bitcode when exporting the app from an archive or disable bitcode (iOS only).

It seems to me that Xcode force disables bitcode because of the backward compatibility of the concurrency feature. Is there a way to use async/await and enable bitcode? (Xcode 13.4 didn't solve the issue)

  • The problem is not with Xcode. The error message you get is actually pretty clear. The problem is the Firebase Firestore library. That library file you're including in the project was not built with Bitcode enabled. Firebase libraries should be Bitcode enabled, so I'm not sure whether you use an old version of it. But that is the direction you should look at, not at Xcode. – JanMensch May 23 '22 at 13:08

1 Answers1

1

Today I added AdServices.framework to Link Binary With Libraries Build Phase and now I can switch on the Include Bitcode toggle when archiving. So the problem must be not with an Xcode