LoginSignup
6
3

More than 3 years have passed since last update.

Cordova+Xcode11対応でハマったこと

Last updated at Posted at 2020-01-20

2020年4月のXcode11必須化が迫ってきました。
MonacaもXcode11に対応したので、いよいよ対応を進めているのですが、ハマって点をまとめます。
他に何かあったら随時追記します!

2020/3/27追記
4/30から対応が必要でしたが、既存アプリの更新は6/30に延期するとのことです。
https://developer.apple.com/news/?id=03262020b

Bluetoothの権限対応

iBeaconなどでBluetoothを使用している場合、ユーザーにBluetoothのアクセス許可を得る必要がある。
NSBluetoothAlwaysUsageDescriptionを追加する。

config.xmlに以下を追加。

<edit-config target="NSBluetoothAlwaysUsageDescription" file="*-Info.plist" mode="merge">
    <string>Bluetoothの利用目的</string>
</edit-config>

ダークモード仮対応

何もしないと、ダークモード時に自動で一部のスタイルが変わってしまう(例えば、ダークモード時にステータスバーのテキストが白になる、など)
とりあえず、Lightモードに固定する方法で回避する。

config.xmlに以下を追加。

<edit-config file="*-Info.plist" mode="merge" target="UIUserInterfaceStyle">
    <string>Light</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="UIViewControllerBasedStatusBarAppearance">
    <true/>
</edit-config>

ちなみに、本格的に対応する場合は、以下の記事が参考になります。
https://qiita.com/kishisuke/items/e1fecb20d35693680421

デバイストークンの取得方法変更

phonegap-plugin-pushで同様の問題があり、2.3.0で修正された。
2.3.0にバージョンアップする。

モーダルの仕様変更

モーダルで表示する画面によって対応するかしないか決める。
とりあえず現状通りであれば、modalPresentationStyleUIModalPresentationFullScreenを設定する。

個人的には、以下の基準が良いかと。

  • UIModalPresentationAutomatic(デフォルト): 参照のみや簡単な入力画面
  • UIModalPresentationFullScreen: 複雑な入力画面やユーザーが没頭して操作する画面
6
3
0

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
6
3