はじめに
先日UnityでビルドしたiOSのアプリをバージョンアップの為にAppStoreへ新しいバイナリをアップロードしたらエラーが出たので、その時の状況と対応方法を紹介しようと思います。
環境
- Unity 2020.2.1f1
- Xcode 12.3
エラー内容
AppStoreへバイナリをアップロードしようとしたところ、以下のエラーがでました。
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'XXXXX.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'."
検索したところ、同じような人たちがUnity Forumにいました。

対応方法
UnityでiOSビルド
まずは普通にUnityでiOSのビルドをしXcodeプロジェクトを書き出してください。
Build Settingsを書き換える
Build Settingsの開き、「Always Embed Swift Standard Libraries」の項目を探します

その後、「Always Embed Swift Standard Libraries」を「NO」から「YES」に変更します。

Archiveする
Build Settingsを書き換えたら、通常通りアプリをArchiveします。

Archiveが終わるとArchivesが開きます。

ArchiveしたアプリをFinderで開く
Archiveしたアプリを右クリックし「Show in Finder」を選択します。
-1024x518.png)
するとFinderでArchiveされたバイナリが選択された状態で開きます。

xcarchiveのパッケージの内容を表示
さきほど、Finderで開いた.xcarchiveを再び右クリックし「パッケージの内容を表示」を選択します。
.png)
すると、パッケージの中身が表示されます。

Applicationのパッケージの中身を表示
次に上記で開いたFinderでProducts/Applications/XXXXを選択します。このXXXXの部分はアプリによって違います。
そして、再び右クリックし「パッケージの中身を表示」を選択します。
.png)
するとApplicationの中身が表示されます。

Frameworksフォルダの削除
これで最後です。上記で開いた内容にFrameworksフォルダがあるのでそれを削除します。
.png)
これで作業完了です!
あとはArchivesに戻って、通常のAppStoreへのアップロードする手順と一緒です。
この作業をすることで私も無事にAppStoreへバイナリがアップロードできるようになりました。
さいごに
対応はするのは良いのですが早くなんとかしてほしいですね。。。
コメント
Unity初心者です。xcodeが何をするところなのかもよくわからないまま、たくさんのエラーに困って一つずつ時間をかけて調べて対処してきて、これが一番最後のエラーとなりました。助かりました。無事アップロードまでできました。ありがとうございました。
と、思ったのですが、アップロードの過程でリジェクトされていました。
”ITMS-90427: Invalid Swift Support – The expected dylibs are missing from the app’s Framework location, such as /Payload/●●●.app/Frameworks.”とメールが来てました。
どこか設定がわるかったのかもしれません。
結局、Always Embed Swift Standard Librariesの項目を、Unity-iPhone、Unity-iPhoneTest、UnityFrameworkの全てで、”No”にしたところ、全てアップロードまでスムーズに通りました。
お役に立てず残念です。
> 結局、Always Embed Swift Standard Librariesの項目を、Unity-iPhone、Unity-iPhoneTest、UnityFrameworkの全てで、”No”にしたところ、全てアップロードまでスムーズに通りました。
このあたりの設定は通常いじらなくてもAppStoreへリリースできるはずです。Unityのバージョンやプラグインの影響、Xcodeのバージョン等が原因だと思われます。一度そこを調べ直したほうが良いと思います。