Having an issue building an iOS game from Unity Dashboard; it appears FMOD & bitcode are incompatible & access to disabling bitcode is not possible within Unity Dashboard (where our team’s builds are managed)
I can send you the error messages but the full error log contains some sensitive information, so I’ll refrain from posting it to the forum. Below are the isolated error messages:
[error] [2023-07-10T14:38:13.231Z] - 7.3.16.2.7.4 - INFO: ▸ ld: could not reparse object file in bitcode bundle: ‘Invalid bitcode version (Producer: ‘1403.0.22.14.1_0’ Reader: ‘1400.0.29.202_0’)’, using libLTO version ‘LLVM version 14.0.0, (clang-1400.0.29.202)’ for architecture arm64
[error] [2023-07-10T14:38:13.839Z] - 7.3.16.2.7.4 - INFO: ▸ clang: error: linker command failed with exit code 1 (use -v to see invocation)
[error] [2023-07-10T14:38:14.196Z] - 7.3.16.2.7.4 - INFO: ld: could not reparse object file in bitcode bundle: ‘Invalid bitcode version (Producer: ‘1403.0.22.14.1_0’ Reader: ‘1400.0.29.202_0’)’, using libLTO version ‘LLVM version 14.0.0, (clang-1400.0.29.202)’ for architecture arm64
[error] [2023-07-10T14:38:14.197Z] - 7.3.16.2.7.4 - INFO: clang: error: linker command failed with exit code 1 (use -v to see invocation)
[error] [2023-07-10T14:38:14.374Z] - 7.3.16.2.7.4 - INFO: ▸ clang: error: linker command failed with exit code 1 (use -v to see invocation)
On further digging, the FMOD Studio project was built in 2.02.11, but the FMOD for Unity package was 2.02.15. Not sure if that had a hand in the build failures, but I thought it worth mentioning.
Thank you for the information and for confirming those details. I was able to reproduce the issue and have passed it on to the development team to look into further.
Thank you for providing the error details, the producer version of 1403 matches with our builds of 2.02.15 using Xcode 14.3. Comparing that against Unity Build Automation saying 1400 indicates they are using Xcode 14.0 and that there is an incompatibility in bitcode between those versions.
Based on discussions on the Unity forum I can see that Xcode 14.2.0 is the most recent version supported, the assumption being 14.3.0 will be selectable in the dashboard soon. Until that becomes available I’d recommend disabling bitcode for your project following the information here.
We discussed rolling back our Unity builds to 14.2.0, however, that wouldn’t see availability until 2.02.17 (as 2.02.16 is locked in for imminent release), by which time we expect Unity Build Automation will support 14.3.0. As such we will leave our builds as being produced with 14.3.0 for now.
Additionally, it’s worth noting that bitcode as a requirement is essentially dead, Apple have stated in their Xcode 14 release notes that the store won’t accept bitcode anymore. As of Xcode 15 beta bitcode has been removed completely. Unity will need to address their handling of bitcode to stop requiring it to be in compliance with these changes soon, so for now it seems disabling bitcode is the best way forward.