LoginSignup
85
74

More than 3 years have passed since last update.

iOS13対応をまとめてみた

Last updated at Posted at 2019-09-27

前書き

対応が必要そうなものを探してまとめてみた。
正直身に降りかからないと細かい仕様までは分からないので、現状をまとめておいて判明次第追記していく。

今すぐ対応が必要

UISerchBarのvalue(forKey:)メソッドが廃止された

必須か: 必須
内容:UIserchBarでvalue(forKey:)を使用しているとアプリクラッシュします
参考:https://qiita.com/ktanaka117/items/1a30c4c6052cd8e1a0b7

Bluetooth利用にパーミッションが必須になった

必須か:必須
いつまでに対応すべきか:今すぐ
内容:位置情報等のパーミッション同様、設定しないまま機能を使おうとすると落ちる
参考:http://harumi.sakura.ne.jp/wordpress/2019/08/27/ios13%E3%81%8B%E3%82%89%E3%81%AEbluetooth%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3/

UISearchDisplayControllerがdeprecatedから完全廃止になった

必須か:必須
内容:UISearchDisplayControllerを使用しているとアプリクラッシュする
参考:https://github.com/mapbox/mapbox-gl-native/issues/15559

Sign in with Apple

必須か:アプリによっては必須
いつまでに対応すべきか:新しいアプリは必須。既存アプリは2020年4月。
内容:サードパーティ製またはソーシャル(Facebook、Google、Twitter、LinkedIn、Amazon、WeChat)のログインサービスを使用している場合は、AppleIDでのサインイン対応必須。自社システムのみのログイン、もしくはそのサービス固有の機能を使う(Twitterならタイムライン取得が必要など)なら対応不要。
参考:https://developer.apple.com/app-store/review/guidelines/#sign-in-with-apple
https://qiita.com/_asa08_/items/4f6e383fc6c9d38046ed

VoIPプッシュの仕様が変わった

必須か:必須
いつまでに対応すべきか:新しいアプリは必須。既存アプリは2020年4月。
内容:VoIPプッシュの利用が着信のみになるらしい
参考:https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit?language=objc
https://qiita.com/sunskysoft/items/34665541d9bec438ee36

2020年4月以降は全てのアプリでiOS13対応、Xcode11でのビルドが必須

必須か:必須
いつまでに対応すべきか:新しいアプリは必須。既存アプリは2020年4月。
内容:題名の通り
参考:https://developer.apple.com/news/?id=09102019a&1568158483

今後必須になりそうなもの

ダークモード対応

必須か:準必須(いまのところ必須ではないが以後必須になる可能性が高い)
いつまでに対応すべきか:不明
参考:https://developer.apple.com/documentation/xcode/supporting_dark_mode_in_your_interface/choosing_a_specific_interface_style_for_your_ios_app?language=objc
https://qiita.com/p_on_ro/items/91e6659fda662fb2aac0
対応時の注意事項:https://qiita.com/tattn/items/c56b15ed8d1cea26a955

UIWebViewがiOS13以降deprecatedになった

必須か:準必須
いつまでに対応すべきか:不明
内容:ドキュメントがdeprecatedになっている。代替UIはWKWebView
参考:https://developer.apple.com/documentation/uikit/views_and_controls?language=objc

その他変更

遷移アニメーションの対応

必須か:オプション
いつまでに対応すべきか:必要に応じて
内容:遷移モードのデフォルト値が変更された。意図していない「戻る操作」が発生する可能性がある。
参考:https://qiita.com/yh_genephia/items/b82d4df36b4ef1fdcdd8

システムフォントが変更された

必須か:オプション
いつまでに対応すべきか:必要に応じて
内容:boldがiOS12以前より太くなった。ラベル等がはみ出す・見切れる可能性がある。
参考:https://qiita.com/a_t/items/484f7ad52e8c9fd18903

Realmが落ちることがある

必須か:オプション
いつまでに対応すべきか:必要に応じて
内容:iOS13のみエラーが発生することがあるとのこと。
参考:https://stackoverflow.com/questions/48810421/rlmexception-primary-key-property-serial-does-not-exist-on-object-book-mig

スクロールビューのインジケータの仕様が変わった

必須か:オプション
いつまでに対応すべきか:必要に応じて
内容:Could not cast value of type ‘_UIScrollViewScrollIndicator’
参考:https://qiita.com/MilanistaDev/items/8151dd2544b2eda9353b

連続してNavigationViewControllerを表示するとNAvigationBarの高さがおかしくなる

必須か:オプション
いつまでに対応すべきか:必要に応じて
内容:題名の通り
参考:https://qiita.com/duke105/items/9a751062ba15c6fb9511

Xcode11でプロジェクトを新規作成しターゲットをiOS12以前にするとエラーが盛りだくさん

必須か:必須
いつまでに対応すべきか:必要に応じて
内容:iOS13で登場したUIScene等が標準でつくられるため、古いターゲットを含めるとエラーになる
参考:Xcode11で作成したプロジェクトを古いOSに対応させる(とりあえず版)

デバイストークンの取得方法が変わった

必須か:オプション
いつまでに対応すべきか:必要に応じて
内容:通知等で使用するトークンのNSDataの中身が変わっている
参考:https://qiita.com/naofumi_okano/items/6c983959ec2b3a4c8af5


追記

2020/03/31 10:22

2020年4月までの期限が延長されました。
Appのアップデート期限が延長されました(公式)

85
74
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
85
74