#エラー内容
リリースしようと思いValidate Appを実施した所次の3つのエラーが発生した。
・Unsupported Architectures. The executable for XXX.framework contains unsupported architectures '[x86_64, i386]'.
・Invalid Segment Alignment. The app binary at 'XXX.framework' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version.
・The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker.
※自分の場合は3つのエラーだったが、調べると状況によってはエラーの数が変わるみたい。
#原因
今回あるframeworkを追加したのですが、
そのframeworkにシミュレーター用のアーキテクチャが含まれているのがエラー原因ぽい。
#対処方法
1.Build Phasesで左上の+を押下してNew Run Scriptを選択。
2.追加したRun Scriptを展開してShow environment variables in build logにチェック。
*自分の場合は最初からチェックが入ってました。
3.Run Script内にあるShell /bin/shの下の欄に次の参照先にあるスクリプトを追加してframeworkを対象のframework名に変更。
リリースビルドからSimulator用のarchitectureを抜く方法(Unity編)
4.再コンパイルなどを行ってからValidate Appを行ってエラーが発生しない事を確認しリリース作業を進める。
#追記
最近リリースを行おうとするとまた同じエラーが発生する様になった。
最終的にエラーが発生しなくなったのは、
Build Phasesでの並び順がRun ScriptがEmbed Frameworksの上に来て居たのが原因で、
Run Scriptを下にした所エラーが無くなった。
何故位置が変わったんだろうか…