UnityでiOSビルド時に自動的にEnableBitcodeのフラグを切り替える

Xcode14にアップデートしてから、ENABLE_BITCODEがYESになっていないとビルドエラーとなるようになった(理由は調査中)
Unity-iPhone.xcodeproj側のフラグを変える方法はすぐ見つかったが、Pods.xcodeproj側を変更するのに手間取ったので下記メモ

Assets/Editor/Build/AddBitCode.cs

#if UNITY_IOS

using UnityEditor;
using System.IO;
using UnityEditor.Callbacks;

public static class AddBitCode
{
    // 40〜50でpod installの前に追記されます
    [PostProcessBuild(45)]
    public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
    {
        using var sw = File.AppendText(path + "/Podfile");
        sw.WriteLine("post_install do |installer|\n" +
                        "installer.pods_project.build_configurations.each do |config|\n" +
                            "config.build_settings['ENABLE_BITCODE'] = 'YES'\n" +
                        "end\n" +
                     "end\n");
    }
}

#endif

方法としてはPodfileが生成されたのち、Pod installが実行される前にPodfileに追記する

コメント

タイトルとURLをコピーしました