ストアのポリシー変更に備える私たちの姿勢

昨年、Android 8.0(Oreo)とiOS 11がリリースされました。


新しいOSの発売とともに、常にGoogle及びAppleのストア診断ポリシーも変化されます。
これによって、最悪の場合、私たちのアプリケーションが正常に動作しなくなる可能性もあります。
ストアの変更点やそれに対して我々がどのように対応しなければならないか調べてみましょう。

Android編

64bit必須対応

  • アプリケーションの64bit対応が必須となる
    • 32bitはこれ以上対応しないという意味ではない
    • 32bitへの対応が必要な場合は、引き続き32bitライブラリを追加
  • 適用時期
    • 新規/既存アプリケーションとも2019年8月から適用

TargetSdkVersion 26 ビルド強制

  • TargetSdkVersion 26(Android 8.0)以上でのビルドが強制される
  • 適用時期
    • 新規アプリケーション: 2018年8月
    • 既存アプリケーション: 2018年11月
  • TargetSdkVersionを26以上に上げる場合、必ず下記のTargetSdkVersionをアップグレードするときに考慮すべき点を確認すること

TargetSdkVersionが年々上昇

  • 2019年から必須適用となるTargetSdkVersionバージョンが毎年上がっている

TargetSdkVersionをアップグレードするときに考慮すべき点

既存のアプリケーションをTargetSdkVersionにアップグレードしてビルドする場合、バージョンによっては次の内容を考慮する必要がある

  • Android 5.0(21):Implicit intents for bindService() no longer supported – インテント結合条件
    • Context.bindService() メソッドが明示的インテントを要請して暗示的インテントがある場合、例外を発生させる。アプリケーションのセキュリティを保障するには、サービスを開始したり、結合するときに明示的インテントを使用して、サービスのインテントフィルタは宣言しないこと。
  • Android 6.0(23):Runtime permissions – ランタイムパーミッション
    • 重要な(危険な)権限はAndroidManifest.xmlだけでなく、APIを呼び出して、実行時にユーザーから許可を得る。
  • Android 7.0(24):User-added CAs not trusted by default for secure connections – 信頼する公認認証書の適用
    • 基本的に、Android 7.0を対象とするアプリケーションは、システムで提供される証明書のみ信頼して、ユーザーが追加した認証機関(CA)は信頼されない。Android Nを対象とするアプリケーションは、ユーザーが追加したCAを信頼しようとする場合、ネットワークセキュリティ設定を使って、ユーザーのCAを信頼する方法を指定する必要がある。
  • Android 8.0 (26)
    • Notification Channel – 通知チャネル
      • ビルドに含まれるAndroid Support Libraryのバージョンが25以下の場合、TargetSdkVersionを25以下に設定すると、通知が正常に動作する。
      • ビルドに含まれるAndroid Support Libraryのバージョンが26以上の場合、TargetSdkVersionを26以上に設定し、Notification Channelも設定すると通知が正常に動作する。
    • Apps can not access user accounts without explicit user approval – ユーザーアカウントのアクセス権
      • ユーザーがアカウントへのアクセスを許可しない場合、アプリケーションがユーザーアカウントにアクセスすることはできない。

iOS編

Build with iOS 11 SDK
Update your version of Xcode to the latest release of Xcode 9 available on the Mac App Store, which includes the iOS 11 SDK, and build your apps. Starting April 2018, all new iOS apps submitted to the App Store must be built with the iOS 11 SDK. All new apps for iPhone, including universal apps, must support the Super Retina display of iPhone X.

遵守すべき点

  1. iOS SDK 11(Xcode 9)以上でビルドする必要がある
    • Unity 4.xバージョンでExportしたプロジェクトもXcode9でビルドが可能
  2. iPhoneX互換UIに対応する必要がある

※ゲームやアプリケーションのビルドガイドを熟知してから適用すること

適用時期

2018年4月から適用

対象

  • 新規にReview登録するアプリケーションをビルド(新規アプリケーションを登録する場合
  • アップデートのためにReview登録するアプリケーションをビルド(既存アプリケーションをアップデートする場合

ソース

Apple provided confirmation that this requirement impacts new and existing app submissions.

“Thank you for taking the time to reach out to Apple Developer Program Support about the new submission requirements for iOS 11.
We can confirm that the new requirements for App Submission are for new apps as well as updates to existing apps.”

おわりに

予想よりも多い内容に不安を感じたり、拒否反応がでたりするかもしれません。
しかし、先入観を取り除き1つずつ読んでいくと、実際にアプリケーションを変更する必要量は多くないことが分かるでしょう。
勇気を持って、1つ1つクリアしていきましょう。

参考資料

TOAST Meetup 編集部

TOASTの技術ナレッジやお得なイベント情報を発信していきます
pagetop