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

iOS13対応をまとめてみた

前書き

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

今すぐ対応が必要

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のアップデート期限が延長されました(公式)

OkamotoHaru
Unityしてた。swift・Objectie-Cしてる。
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
ユーザーは見つかりませんでした