AppStoreガイドライン 超概略 「2 パフォーマンス 」

ここではガイドラインの小難しい表現をざっくりカットして、本質だけ抜き出したました。ガイドラインのイメージを掴むのにご利用ください。オリジナルのガイドラインは必ず一度は目を通すようにしてください。

 

2.1 Appの完全性
ここはガイドラインの中でかなり重要な項目の一つです。
プレースホルダの禁止、
Webサーバー連携型のアプリは実際に動くようにしてから提出すべき。デバッグ要素は全削除すること。
(訳注 プレースホルダテキスト とは ただいま工事中 などの文字や画像のことです。comming soon などの文字列も、ほぼ機械的にリジェクトされる可能性があります。)
動作にアカウントが必要な場合は、デモアカウントを用意すること。
(訳注 このような手順でアカウントを作ってくれ、は許されない。)
(注釈 経験上、Appレビュアーがアカウント作成を行った形跡はありませんでした。ということは、アカウント作成画面に不備があってもばれないかもしれません。)
必ず実機デバッグすること。
(訳注 実機デバッグしているかどうかはレビュアーにはわかりません。ちなみに、レビュアーはシミュレーターでテストしているはずです。ということは、実機だけで発生する不具合はレビュアーは見つけられないのかもしれません)
クラッシュするアプリはリジェクト
(訳注 バックエンドサービス Webサービスなどのこと)

・2.2 ベータ版テストテストフライトについて
ベータ版テストという名目でアプリをリリースしてはいけない。
(おそらく、実際には製品版であっても、アプリ名にβ版とかテスト版と描いているだけでリジェクトされると思います。)
一般へのベータ版テストはテストフライトというApple提供のツールを使いなさい。
テストフライトでの配信をなんらかの特典や報酬にすることはできません
(先行登録してくれた方には、(テストフライトで)事前に遊べる権利をプレゼント、というキャンペーンは認められません。)
テストフライトに出しているベータ版に大きな変化があった場合は再審査が必要
(訳注 テストフライトにも軽い審査があるのですが、大きな変化があった場合は再審査が必要と言っています。しかし、大きな変化なんかレビュアーにはわかりません。)

・ 2.3 メタデータは正確に
アプリ説明は常に最新にする。
(訳注 メタデータというのは、タイトル、アプリ説明文、アイコン、スクリーンショットなどのことです。)
アプリ説明で嘘をつかないこと。

・2.3.1 隠し機能はリジェクト
機能はすべて機能説明に書くこと。書かないとそれは隠し機能とみなされリジェクトされる。
(訳注 悪質な隠し機能の場合はアカウント停止もあります)
実装していない機能を実装してないように言うことも禁止。
(訳注 ここでは実例を上げて、ウィルスチェックアプリのようなものは作れないはずだと言っています。)
(訳注 メモ 検査のしようがありませんが、原文には、ありもしない機能をあるように見せかけてAppStoreで売ることと、オフラインで売ることが禁止されています。オフラインで売るのを検査するって、どう考えても無理ですよね。もしオフライン販売をしている業者を見つけたときにの対策かもしれません。)

・2.3.2 App内課金はわかりやすく
App内課金の説明も明確に記述しなさい。
(訳注 AppStore Connectのリジェクト理由として、どこからApp内課金するの?と聞かれることがあります。
この場合、Youtubeの動画リンクを付けるのが簡単でおすすめです。)

・2.3.3 スクリーンショットの注意事項
(訳注 最近はスクリーンショットの規制が緩和されました。ずいぶんと自由になりましたが、そのせいで、本来のスクリーンショットを貼るのを忘れてリジェクトされる人が増えています。実際の画面が一枚は必要ですので、忘れないようにしてください。また、私の個人的な考えでは、複数枚のスクリーンショットを使って大きな一枚の画像を構成する方法は、そろそろ規制されるのではないかと思います。)
タイトル画面、ログイン画面、スプラッシュ画面などをスクリーンショットに含めるのは禁止。
(訳注 禁止されてるのに、ログイン画面を使っている大企業もあります。でも審査が通ってるのでこの辺はあまり重要ではないのかもしれません。)
スクリーンショットに文字を書いたり説明のイラストを重ねたりするのはOK
(訳注 ApplePencilの画像も入れて良いそうです。ガイドラインの常識では、Appleの製品を写真に入れるのは禁止されるのが普通なのに……)

・2.3.4 ビデオプレビューの説明
比較的新しい、ビデオ説明に関しての制限です。
アプリ以外の映像を入れてはいけない。
(訳注 たとえば、風景のイメージショットとかでしょうね)
ただし、ナレーションや文字を入れても良い。

・2.3.5 正しいカテゴリを選ぶこと
カテゴリは正しく設定しましょう。
カテゴリはAppleが勝手に変えることがあります。

・ 2.3.6 アプリの対象年齢は正しく設定すること
アプリの対象年齢は正しく設定すること。
また、その国ごとにコンテンツ保護の法律を守ること。

・2.3.7 アプリ名は適切に(ここは重要項目です)
アプリ名にサブタイトルを付けるのは禁止
アプリ名は30文字まで。
金額や説明を入れるな。
(訳注 Free 無用、トライアル版、など)
サブタイトルはサブタイトル欄に入れること
Appleは問題のある名前のアプリは適切な措置で対抗させてもらう。
(訳注 おそらくリジェクト。リネームはしないだろうから。)

・2.3.8 すべてのメタデータは4歳向け
対象年齢を大人にしている場合でも、アイコンや説明文などのメタデータは4歳向けにする必要がある。
(メタデータは万人が見るものだから)
子供用 という言葉は、 キッズカテゴリーのアプリにしか使えないので注意。
(訳注 使いたければ、キッズカテゴリーのガイドラインを満たして、キッズカテゴリーで出せ、ってことだと思います。)
アイコンは全部同じようなデザインにしなさい。
(iPadで表示されるアイコンが青で、iPhoneXで表示されるアイコンが赤で、iPhoneSEで表示される端末が黄色、とかいう遊び心はリジェクトされます。)

・2.3.9 メタデータの権利はすべて貴方が持つこと
アイコン、スクリーンショット、などの権利は開発者が権利(訳注 著作権、使用権など)を持つこと。
(訳注 たとえば、ディズニーから頼まれてアプリをリリースする場合は、ちゃんと許可を受けてますという書類をつけないとリジェクトされます。正式な依頼で作ったことを示す必要があります。)
スクリーンショットなどのデータは実在のユーザーのデータを表示してはいけない。

・2.3.10 マルチプラットフォーム時代だけど、AppStoreはApple製品のストアだということを忘れるな。
一言で言うと、「マルチプラットフォーム時代だけど、AppStoreはApple製品のストアだということを忘れるな。」
ということになると思います。
ついつい、「Androidで好評を博したアプリが遂にiPhoneデビューです」なんて書きたくなりますが、これはリジェクトです。
ここはAppleのAppStoreであり、Appleの事以外言うべきではありません。
「 AppはiOS、Mac、Apple TV、Apple Watchでの使用を前提としてください。」
というのは、こういうことです。

・2.3.11 予約注文の責任
(この節は予約注文を行わない開発者には不要です)
予約注文した場合は、最初に示したものと同じものをリリースすべき。
大きく変わってしまうなら、予約をやり直す必要がある。

・ 2.3.12 新機能は新機能欄に書きなさい
比較的最近追加された新機能欄についての説明です。
新しい機能は、新機能欄に書きましょう。
(訳注 現状は、この新機能欄が遊ばれてる状態です。こんにちわー、とか、寒くなりましたね−、とか自由に書かれてます。
現在は何を描いても良いみたいなってますが、そのうちリジェクト対象になると思います。)

・ 2.4 iPhoneアプリはユニバーサルにしてほしい
iPhoneアプリは、できればユニバーサルアプリにしてiPadで動くようにしてほしい。
(注釈 iPhone向けに作ったが、ユニバーサルアプリなので、まあiPadでも動きますよ、という場合でもiPadでテストされるので要注意。
けっこうデザイン崩れとかうるさく言われます。)

・2.4.2 過剰バッテリー使用の禁止
電力を消費しすぎないようにする。過度な発熱も禁止。
(訳注 ここでいうデザインとは設計のこと。過度な発熱をしてカイロにするアプリがリジェクトされた過去実績あり。)
バックグラウンドでマイニングするの禁止。
(訳注 ここではマイニング自体は禁止していないが、別の項目でちゃんとマイニング自体を禁止してるので注意)
無関係なバックグラウンドプロセスの実行禁止

・2.4.3 AppleTV向けゲーム
この節はAppleTVのガイドラインです。
(訳注 このように、ガイドラインではiOSアプリ以外のガイドラインも含まれます。)
Siri Remote (AppleTV用のリモコン)やゲームコントローラーを使わなくても動く必要がある。
ゲームコントローラーを必須とする場合は、メタデータにちゃんと分かりやすく書くこと。
(??ゲームコントローラー必須は許されるの?上で必須はダメっていってるのだけど。使うことと遊ぶことは別なのかも。)

・2.4.4 再起動を強要するな
端末の再起動、Wi-Fiのオンオフ、などを強要することはできない。

・2.4.5 Mac 用アプリの制限
ここはiOSアプリだけ考えている人は無視しても良い項目です。

(i) サンドボックス化されてること
(この項目はmacOSアプリに関する制限です)
アプリはサンドボックス化されてること。
ユーザーデータを修正する際は標準のAPIを使うこと。

(ii) パッケージ手法
(この項目はmacOSアプリに関する制限です)
Xcodeを使ってパッケージ化すること。
Shared Locationにコードやリソースをインストールすることはできない。

(iii) 自動起動とショートカット
(この項目はmacOSアプリに関する制限です)
同意を得ずにアプリを自動起動してはいけない。
デスクトップやDockにアイコンを作ってはいけない

(iv) 機能の追加インストール
(この項目はmacOSアプリに関する制限です)
追加コードをダウンロードして動かすアプリは禁止
(訳注 iOSでも同じことが言われていますね)

(v) アクセス権限の要求禁止
(この項目はmacOSアプリに関する制限です)
root権限やsetuid属性の要求をすることはできません。

(vi) ライセンスキーやコピーガード禁止
(この項目はmacOSアプリに関する制限です)
ライセンスキーやコピーガードの禁止
(訳注 AppStore経由なんだからコピーされないでしょ、ってことだと思います。)

(vii) アップデートはAppStoreからのみ有効
(この項目はmacOSアプリに関する制限です)
アップデートの配布はかならずAppStoreを使いなさい。独自の方法はダメ。

(viii) 動作プラットフォームの追加要求は禁止
(この項目はmacOSアプリに関する制限です)
あたりまえのことを書いてるのでわかりにくいのですが、macOSアプリはmacOS で動かせ。その他の技術基盤で動かそうとするな、ってこと。

(ix) 複数言語対応する場合も単一Appで
(この項目はmacOSアプリに関する制限です)
複数言語対応する場合も単一Appでリリースすること。
(訳注 各国対応する場合も、その国ごとにアプリを出すのではなくて、一つのAppで多言語対応しなさいってことだと思います。)

・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の中身が見えるようにする必要がある。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です