背景情報
iOS 13 は 2019 年 9 月 20 日に正式リリースされました。iOS 13 のベータ版および正式版のテスト中に、一部のシステム動作が変更されていることが確認されました。アプリケーションはこれらの変更に対応する必要があります。そうでないと、機能の異常やクラッシュなどの問題が発生する可能性があります。
mPaaS の対応前には、Xcode 10 でビルドした iOS 13 向け mPaaS ソフトウェア開発キット (SDK) において、主な課題が発生していました:iOS 13 ではアプリ起動が最適化され、イメージのロードメカニズムが変更されました。この変更により、システム側のカテゴリが SDK 内で定義されたカテゴリメソッドを上書きする可能性があり、カスタムメソッドが期待通りの結果を返さない場合があります。
mPaaS は基盤ライブラリです。Xcode 11 でビルドされたバージョン 10.1.60.26 以降は、iOS 13 に対応済みです。
SDK およびコンポーネントのアップグレード
CocoaPods によるアップグレード
以下の手順に従って、バージョン 10.1.60 向けの最新 SDK をインストールします。
Podfile 内の mPaaS コンポーネントのバージョン番号が 10.1.60 であることを確認します。
pod mpaas update 10.1.60コマンドを実行します。エラーが発生した場合は、まずpod mpaas update --allコマンドを実行してプラグインを更新し、その後再度コマンドを実行してください。pod installコマンドを実行します。
API の変更点
mPaaS コンポーネントでは、バージョン 10.1.32 以降にアダプテーションレイヤーが追加されています。SDK をスペックアップした後は、このアダプテーションレイヤーの API を使用する必要があります。各コンポーネントのドキュメントに記載されている「旧バージョンからのアップグレードに関する注意事項」をご参照ください。
コードを修正し、下位層のメソッドを直接呼び出すのではなく、中間層(アダプター)のメソッドを使用するようにしてください。一部の下位層メソッドは今後のバージョンで変更または非推奨となる可能性があります。引き続き下位層メソッドを使用すると、今後のアップデート対応により多くの工数が必要になる場合があります。
カスタムライブラリの取り扱い
バージョン 10.1.60 では、各コンポーネントのカスタマイズ要件に対応しています。ただし、既存の依存関係にカスタムライブラリが含まれている場合は、以下のとおりに取り扱ってください。
以前の SDK バージョン(例:10.1.20)からバージョン 10.1.60 へアップグレードする場合、カスタムライブラリを新バージョンに基づいて再カスタマイズする必要がある場合があります。詳細については、DingTalk グループ 145930007362 に参加し、mPaaS ヘルプデスクまでお問い合わせください。
すでにバージョン 10.1.60 をご利用の場合は、一部のコンポーネントのみを更新すれば十分です。以下の「iOS 13 対応で更新されたライブラリのチェックリスト」をご確認いただき、ご利用のカスタムライブラリが該当するかどうかを確認してください。
該当しない場合は、従来どおりカスタムライブラリをご利用いただけます。
該当する場合は、カスタムライブラリの再カスタマイズが必要となる場合があります。その際は、DingTalk グループ 145930007362 に参加し、mPaaS ヘルプデスクまでお問い合わせください。
iOS 13 対応で更新されたライブラリのチェックリスト
mPaaS
MPDataCenter
MPPushSDK
APMultimedia
BEEAudioUtil
BeeCapture
BeeCityPicker
BeeMediaPlayer
BeePhotoBrowser
BeePhotoPicker
NebulaAppBiz
NebulaBiz
NebulaSecurity
NebulaKernel
NebulaSDKPlugins
NebulaSDK
NebulaConfig
NebulaTinyAppDebug
NebulaNetwork
TinyAppCommon
APConfig
AntUI
MPPromotion
BeeLocation
MPMpaaSService
TinyAppService
AMap