Help us understand the problem. What is going on with this article?

審査に出したiOSアプリが ITMS-90809 としてAppleから問題を指摘される話

"Your app has one more issues" という Apple からのメール

拝啓。皆様,iOS 開発はお楽しみでしょうか?

1日も立たないうちに,GitHub上の多くのRepositoryに対し,数々のissueが立てられました。これは何でしょうか?

これまで通り App Store Connect へアプリを提出していた開発者の元に,新たなメールが届くようになりました。

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

ITMS-90809 について

急にこんなメールが来ると焦りますよね。結論は「今対応する必要はないけれどもうすぐ対応してね」です。

引用部の通りなのですが,こちらは UIWebView に関する API が deprecated になっており,Apple 側が近々これらを利用するアプリの許可しなくなるという旨のメールです。親切ですね。

UIWebView のドキュメントには iOS 12.0 の時点で deprecated とされており,iOS 8 以上からは WKWebView を利用するように促しています。

これらの経緯や重要性については deprecated となった当時に多く語られている都合,ここでは省略させていただきます。

なぜ我々のアプリに対して警告のメールが届いたのか

「UIWebView が deprecated? そんなの知っているし,既に対応済みだよ」

と思われたあなたにも届くかも知れません。何故なら,これらは未だ多くのライブラリに含まれているのだから......

RxSwift (正確には RxCocoa) はもちろん,AFNetworkingflutterreact-nativefacebook-swift-sdkionic など,アプリのコアとなるライブラリのほとんどから issue が挙げられている状況です。
現時点 (執筆時 8/30 AM 2:12 時点) では firebase-ios-sdk については既にマージされているようです。

これだけの規模,先日の大規模障害を彷彿とさせますね。

我々はどうすれば良いのか

メールが届いたから対応しなければならない,ということではないため,現時点での早急な対応は不要です。Pull request や issue を出したり眺めつつ待ちましょう。

一方で,このメールは審査に出していない状態でも,App Store Connect にアップロードする度に送信されます (問題が解決していない状態のバイナリに対して警告されるので妥当ですね)。

解決するには,該当のソースコードをコメントアウト等してから Archive しましょう。

↓RxCocoa の場合はこのあたりなど
screenshot 68.png

終わりに

iOS エンジニアには苦悩が多いですね。今回もその1つに挙げられると思います。筆者は問題発生時 cocoaPods-binary を使用していたため,新規開発にも関わらずソースが見当たらず,問題に気がつくまでに多くの時間を費しました。皆様にはそのようなことがないよう,ここに書き留めておきます。

YutoMizutani
iOS Tech Lead。RxSwiftが好き。設計が好き。
https://github.com/YutoMizutani
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした