なえ箱

メモを植えます

ITMS-90809の解決方法 & ipaファイルにUIWebViewが含まれているか検索する【Unity】

この記事をシェアする

アプリを久々に作ったので、リリースしようと思ってApp Storeにアップロードしたのに、

App Store Connectに全然アプリが追加されない。

携帯を見てみたらこんな通知が。

f:id:nae3na:20210819000216j:plain
通知

なぜかバイナリが無効に変更されてた。

ITMS-90809

メールも見てみるとこんなのが飛んできてました。ITMS-90809。

WKWebViewを今後は使うようにする必要があって、UIWebViewが含まれているから蹴られているっぽい。

f:id:nae3na:20210819000235p:plain
ITMS-90809

5月から蹴られるようになってたみたいです。知らなかった………

qiita.com

ITMS-90809の解決方法

というわけで対応していきます。

UnityフォーラムにこのUIWebView周りの問題があったので見てみる。

issuetracker.unity3d.com

2019.2以上にアップデートをすると解決することが分かった。

This case doesn't need a reproduction project, the problem is that we're creating an instance of UIWebView at PlatformDependent/iPhonePlayer/URLUtility.mm to handle in-game links,

ゲーム内リンク処理のためにUIWebViewのインスタンス作成してたからです、って書いてあるので素直にアプデすれば解決する。

これに気づくまでの作業でめちゃくちゃ役に立った(?)ipaファイル内検索の方法も紹介。

ipa内を検索する

書き出す

まずは検索するためにipaファイルを用意する。

今回は例としてダウンロードフォルダに配置しておく。

zipにする

用意したipaファイルを拡張子を書き換えてzipファイルにする。

f:id:nae3na:20210819000310p:plain
拡張子を書き換える

f:id:nae3na:20210819000330p:plain
.zipを使用

書き換えたら、それを解凍する。

f:id:nae3na:20210819000345p:plain
Payloadフォルダが出てきた

解凍するとPayloadというフォルダが出てくる。

この中に画像やら何やら色々詰まってる。

そうしたらこのフォルダに対して検索をしてみる。

grep

ターミナルを開き、Payloadのある階層へcdで飛んだら、

nm Payload/{アプリ名}.app/{アプリ名} | grep UIWebView

と書き込む。{アプリ名}が分からなかったら、Payloadフォルダを開いて見ると分かる。

そうすると、UIWebViewのある所が何個か出てくる。

f:id:nae3na:20210819000401p:plain
赤枠内のような感じで出てくる

これでipa内の要素の検索ができる。

見つからなければ何も出てこないので、それで判別できる。

2019.2にアップデートしてから試してみたら表示されなかったので、やっぱり解決されてるなって確認が出来たしアップロードも無事通ったしで一安心。