TestFlightにてXamarinアプリをiPhoneにインストールするまで4:XamarinのIPAのUpload調査

前回記事

前回 Xcode の IPA は、TestFlight App Store にUPLOADすることが確認できました。Xamarin での IPA Uploadエラーについて調べていきます。

エラーの内容は、

文字通り「 IPA の容量が 60 MB を超えた」ということですがイマドキ少なすぎる気がします。Apple サイトをみると、iOS 7 ~ 8は60MBで、iOS 9以降か500MBと記載されています。 Appleに問合せるとDeveloper Forum で聞けと言われ、当Forumに書いてみましたが情報は得られず。StackOverflow の投稿によると、本当に60MB制限に容量を抑えなとダメなようです。

Xamarinのビルドオプションの見直しをしていきます。IPAの容量削減のための方法は、コアビルダであるApple側には説明はなく、Mircrosoft側の このページこのページ あたりに解説がありました。以下のように実施していきます。尚、画面キャプチャは Visual Studio For MAC のものです。

.iOSのプロパティから コンパイラ (Windows用はビルド) を開き以下のように設定します。 ほぼ当然の設定ですね。

.iOSのプロパティから iOSビルド (Windows用はiOS Build) を開きます。試した結果と設定を以下に示します。理論的に理解しにくい部分です。httpClient実装 は理解困難ですが、Visual Studio For MAC でのtooptip 表示によると、容量と実行速度に左右するとのこと。Monoインタープリタは、インタープリタ==遅い という一通念からoffとしました。

.iOSのプロパティから iOSデバック (Windows用はiOS Debug) を開き以下のように当然ながら設定します。

以上で、IPA 容量は、47 MB → 12 MB に削減できました。無論クリーンビルドにて。

そもそもは TestFlight は テスト/デバックなので、ビルト構成「Debug」を「TestFlight」にコピーしてしまうとつまづきます。ビルト構成「Release」を「TestFlight」にコピーして使いましょう

また Xamarinでは、ソリューション全体のビルト構成プラットフォーム毎のビルト構成 の2種類があります。この2つの関連付けを正しくしておかないと、意図しないビルドが実行され、いくら設定変更しても容量が変わらないというワナにはまります。以下、その設定箇所です。

以上でエラー要因は解消したはずです。

次記事 IPAの再UPLOADに続きます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です