Apple have deprecated Bitcode beginning with Xcode 14 hence libraries began disabling bitcode in their builds:
Deprecations:
Starting with Xcode 14, bitcode is no longer required for
watchOS and tvOS applications, and the App Store no longer accepts
bitcode submissions from Xcode 14.
Xcode no longer builds bitcode by default and generates a warning
message if a project explicitly enables bitcode: "Building with
bitcode is deprecated. Please update your project and/or target
settings to disable bitcode." The capability to build with bitcode
will be removed in a future Xcode release. IPAs that contain bitcode
will have the bitcode stripped before being submitted to the App
Store. Debug symbols can only be downloaded from App Store Connect /
TestFlight for existing bitcode submissions and are no longer
available for submissions made with Xcode 14. (86118779)
To resolve this you need to disable bitcode, as shown in the other answer.
If you're using unity and need to do this via code:
https://github.com/firebase/firebase-unity-sdk/issues/556#issuecomment-1346130398
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using System.IO;
using UnityEditor.Build.Reporting;
public class PostBuild {
[PostProcessBuild(45)]
private static void OnPostProcessBuildCocoaPodsAdjustments(BuildTarget buildTarget, string pathToBuiltProject)
{
if (buildTarget != BuildTarget.iOS) return;
// https://stackoverflow.com/a/51416359
var content = "\n\npost_install do |installer|\n" +
"installer.pods_project.targets.each do |target|\n" +
" target.build_configurations.each do |config|\n" +
$" config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '{PlayerSettings.iOS.targetOSVersionString}'\n" +
// https://mcmap.net/q/216011/-xcode-14-needs-selected-development-team-for-pod-bundles
$" config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'\n" +
" config.build_settings['ENABLE_BITCODE'] = 'NO'\n" +
" end\n" +
" end\n" +
"end\n";
using var streamWriter = File.AppendText(Path.Combine(pathToBuiltProject, "Podfile"));
streamWriter.WriteLine(content);
}
[PostProcessBuild]
private static void OnPostProcessBuildDisableBitCode(BuildTarget buildTarget, string pathToBuiltProject)
{
if (buildTarget != BuildTarget.iOS) return;
string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
var pbxProject = new PBXProject();
pbxProject.ReadFromFile(projPath);
// Main
string target = pbxProject.GetUnityMainTargetGuid();
pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
// Unity Tests
target = pbxProject.TargetGuidByName(PBXProject.GetUnityTestTargetName());
pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
// Unity Framework
target = pbxProject.GetUnityFrameworkTargetGuid();
pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
pbxProject.WriteToFile(projPath);
}
}