In Xode 11.4, I encounter a failure in my project.
When running my project, it was successfull in Xcode 11.3. Now in Xcode 11.4 I get the failure message:
Target Integrity: Building for ios simulator but the linked library ' my_library.a ' was built for may OS + ios.
The library " my_library.a is pointed to architecture: x86_64 and arm64 and never changed
I can run the Project on my device, but it is not running in the simulator.
Please help me what to do in Xcode 11.4. Do I have to change settings in Xcode 11.4.
regards, Robert
Having x86_64 code is not sufficient to distinguish if a binary is intended for the iOS Simulator, a macOS app, or a Mac Catalyst app. Combing built binaries across different destinations (which includes the simulator vs. device binaries) is not a supported combination -- there is no Apple platform where ARM code and x86_64 code in the same binary is a correct configuration.
If this is your library, you should have your app build it from source as a dependency of your Xcode project, either through an Xcode target or through Swift Package Manager, so that the right platform information is included based on the build target.
If this is your library but you have a specific reason for it to be pre-compiled, please build it as an XCFramework. XCFrameworks correctly separate out binaries that have the right architectures for the different platforms you target. In addition to instructions on how to build such a XCFramework linked earlier, we have a WWDC talk illustrating it.
If this library is from a framework vendor (either as source or a pre-compiled binary), or you integrate a vendor's library into your app with a third party dependency manager, please consult with the library vendor or dependency manager for support.