ガイドライン2.5を分かりやすく砕けた表現でまとめました。
ざっくりとイメージを掴むのにご利用ください。
実際に開発を行う前には、必ず本物のガイドラインを参照してください。
2.5 ソフトウェア要件 2.5.1 隠しAPIの禁止とアプリは定期メンテすること。
アプリはパブリックAPIのみで作ること
(訳注 隠しAPIを使わないこと)
アプリは常に最新のOSで動くこと。
(注釈 古いアプリをストアから削除する理由)
フレームワークは意図しない使い方をしてはいけない。
(訳注 たとえば、このフレームワークを使えば普通の方法では参照できないユー
ザー情報が参照できるから使う、というのはアウト)
(訳注 わかりにくいフレームワークの使い方をしている場合は、Appleのレビュアーに向けてメモ欄にちゃんと説明書きをしたほうがいいかもしれない)
2.5.2 外部からの機能追加禁止
指定された場所以外にデータを読み書きしてはダメ。
実行コードを外部から追加したりしてはダメ
(訳注 これは、審査したアプリが運用時にそれ以上の機能を持つことを禁止しています。)
教育用アプリは限定的に外部からのコード追加が許される。
(訳注 ただ、審査は通りにくいと思います。)
2.5.3 ウィルスなど悪意のあるコードの扱い
ウィルスや悪意のあるコードでシステムを妨害するとリジェクト、繰り返すとアカウント停止
(訳注 ここでは、OS、プッシュ通知システム、ゲームセンターの仕組みなどを妨害することを禁止しています。)
2.5.4 バックグランドでの適切な処理
VoIP、音楽再生、位置取得、ローカル通知、タスク完了のためにしかバックグラウンド処理は使用できない。
(訳注 タスク完了は、タスクの完了待ち という意味だと思います。)
バックグラウンドで位置情報取得をする場合はバッテリーの減りがすごいことをユーザーに伝えること。
(訳注 バックグラウンドで位置情報を取得することは禁止はしていない。)
2.5.5 IPv6対応必須
アプリのレビューはIPv6環境で行うので、対応してないとリジェクトですよ。
2.5.6 WebViewを自前で作るな
Webを閲覧するアプリでは用意されたWebViewを使うこと。
(訳注 独自にWebエンジンを作るなということだと思います。地味な項目ですが、優秀なデベロッパーを苦しめる項目です。)
2.5.7 動画伝送はHTTP LiveStreamingを使うこと
10分を超える動画伝送はHTTP LiveStreamingを使うこと
2.5.8 ホームアプリ禁止
アプリ上でホーム画面(ランチャーのようなもの)を作ることを禁止
(訳注 iPhoneのホームアプリはSpringBoardと言いますが、これに変わるようなものを作るなということです。)
2.5.9 既存の端末スイッチ等で遊ぶな
音量のUp/Downスイッチなどを別用途に使うな。また端末の既存機能を無効にするな。
(訳注 たとえば、みんなが迷惑だと思っているiPhoneのうざったい機能をオフにするようなアプリはリジェクトされます。)
2.5.10 アプリの広告
広告が出るアプリは本物が出るようになってから審査に出すこと。
2.5.11 Siriキットとショートカット (i)
組み込んだショートカットは他のアプリの使用を前提としてはいけない。
アプリの主機能に応じたショートカットしか組み込めない。
2.5.11 Siriキットとショートカット (ii)
plistに記載する単語はアプリと関係があるものにすること。
他社サービスや他者アプリ名を含めてはいけない。
2.5.11 Siriキットとショートカット (iii)
ショートカットの間に広告を入れるな。
リクエストの詳細を入力させるときは必要なときだけにする。
2.5.12 電話、メッセンジャーアプリについて
電話・メッセンジャーアプリはデベロッパの都合で特定人物をブロックしてはいけない。
ブロッキング情報などを別の用途で使ってはならない。トラッキングなど。
2.5.13 顔認証
顔認証には必ずLocalAuthenticationを使うこと
13歳未満のユーザーには顔認証以外の認証方法を提供すること
2.5.14 録画録音時の挙動
録画や録音しているときは、その事がユーザーにはっきりと分かるようにする。
また、ユーザーに承認をとること。
2.5.15 ファイル選択画面
ファイル選択ができる画面では、iOS標準アプリのファイルAppの中身や、iCloudの中身が見えるようにする必要がある。