Xcode13.3 ではなかったのに、14 から急に…という記事を結構見かけましたので対処法を残しておきます。
エラーとしてはこんな感じのメッセージです。
'/Users/XXXXXX/Library/Developer/Xcode/DerivedData/Unity-iPhone-XXXXXX/Build/Products/ReleaseForRunning-iphoneos/AppAuth/AppAuth.framework/AppAuth(OIDAuthorizationService.o)' does not contain 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. file '/Users/XXXXXX/Library/Developer/Xcode/DerivedData/Unity-iPhone-XXXXXX/Build/Products/ReleaseForRunning-iphoneos/AppAuth/AppAuth.framework/AppAuth' for architecture arm64
ターゲット環境設定を行う
エラーログに書かれている通り、ENABLE_BITCODE の設定で対処します。

プロジェクトを選択し、TARGETS の全てについて Build Settings の Enable Bitcode を No にします。
画面の例だと Unity-iPhone, UnityFramework が Yes だったので No にします。
また、Pods の方も行う必要があります。
PROJECT を変更しても動作しません。必ず TARGETS を変更するようにしてください。
ビルドする度に設定するのが面倒な場合
この設定は unity でビルドする度に戻ってしまうので、都度設定しなおす必要があります。
面倒すぎるので、ポストビルドで自動的に設定されるようにしましょう。
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using System.IO;
public class OnPostBuildProcess : MonoBehaviour
{
[PostProcessBuild]
public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
processForiOS(path);
}
}
static void processForiOS(string path)
{
string pbxPath = PBXProject.GetPBXProjectPath(path);
PBXProject pbx = new PBXProject();
pbx.ReadFromString(File.ReadAllText(pbxPath));
string target = pbx.GetUnityMainTargetGuid();
pbx.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
target = pbx.GetUnityFrameworkTargetGuid();
pbx.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
File.WriteAllText (pbxPath, pbx.WriteToString());
}
}
unity2019 以降ならこれで動作するはず。
GetUnityMainTargetGuid() が存在しないような古い unity の場合、pbx.TargetGuidByName("Unity-iPhone"); とかに置き換えればいけるかも。
