概要

unsupported option '-G' for target 'arm64-apple-ios10.0'
Firebase を使用している Unity プロジェクトを
Unity 2022.3.22f1 で iOS ビルドして、生成された Xcode プロジェクトを
Xcode 16.2 でビルドしたら上記のエラーが発生する現象に遭遇した。
using System.IO; using UnityEditor; using UnityEditor.Callbacks; namespace Kogane.Internal { /// <summary> /// Unity 2022.3.22f1 でビルドした Xcode プロジェクトを /// Xcode 16.2 でビルドできるようにするエディタ拡張 /// 参考サイト様:https://x.com/ryohorie3/status/1839460954440081698 /// </summary> internal static class FixXcode16OnPostProcessBuild { //================================================================================ // 関数(static) //================================================================================ /// <summary> /// ビルド完了時に呼び出されます /// </summary> [PostProcessBuild( 45 )] // この値を変えると動かなくなるので注意 private static void OnPostProcessBuild ( BuildTarget buildTarget, string pathToBuiltProject ) { if ( buildTarget != BuildTarget.iOS ) return; var contents = $@"post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'BoringSSL-GRPC' target.source_build_phase.files.each do |file| if file.settings && file.settings['COMPILER_FLAGS'] flags = file.settings['COMPILER_FLAGS'].split flags.reject! {{ |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' }} file.settings['COMPILER_FLAGS'] = flags.join(' ') end end end end installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['DEVELOPMENT_TEAM'] = '{PlayerSettings.iOS.appleDeveloperTeamID}' config.build_settings['IPHONES_DEPLOYMENT_TARGET'] = '13.0' end end end end"; var path = Path.Combine( pathToBuiltProject, "Podfile" ); File.AppendAllText( path, contents ); } } }
上記のスクリプトを Unity プロジェクトの Editor フォルダに入れて
Unity で iOS ビルドしたら Xcode 16.2 でビルドできるようになった.
参考サイト様
Unity + firebase x Xcode16で、
— 堀江 良|アプリ開発者@神戸 (@ryohorie3) 2024年9月27日
こんなエラー
unsupported option '-G' for target 'arm64-apple-ios13.0'
でるけど、対応のコードコードをあげておきます。これをEditorフォルダの中にいれたらOK pic.twitter.com/N41GU7dAbW