facebook twitter hatena line email

Ios/iPhoneアプリ申請

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

審査項目

http://qiita.com/midnightSuyama/items/54d65502b15d9ca07a19

利用額

AppleDeveloperProgramに登録しなければならず年間11800円が必要

税込み12744円

申請方法

  1. AppleIDを持っていること(なければ登録)
  2. 証明書作成
  3. Certificateを作成
  4. AppleDeveloperProgramに登録する (https://developer.apple.com/programs/how-it-works/jp/) 。持ってればこちら( https://developer.apple.com/account/ )
  5. appstoreConnectに登録する

AppleDeveloperProgramでの手続き

  1. クレジットで12744円の支払うを行う
  2. AppleDeveloperProgramにログインする
  3. Certificates/Allで購入したアカウントのios_developer.cerをDLする
  4. Certificates, Identifiers & Profilesにアクセス
  5. AppIdsの+をクリック
  6. 以下を入れる
AppID:アプリ名を入れる
Bundle ID:project.pbxprojのPRODUCT_BUNDLE_IDENTIFIERと同じ値

証明書を作成

  1. https://developer.apple.com/account/resources/certificates/list
  2. macのlanchear/その他/キーチェーンアクセスを開く
  3. 上部メニュー/キーチェーンアクセス/証明書アシスタント/認証局に証明書を要求/
メールアドレス:AppleDeveloperと同じメアドを入れる
通称:分かりやすい英数字を入れる
CAのメールアドレス:空欄でOK
ディスクに保存:チェック
鍵ペア情報を指定:チェック
鍵のサイズ:2048bit
アルゴリズム:RSA
  1. "CertificateSigningRequest.certSigningRequest"ファイルを保存する

参考:http://dev.classmethod.jp/smartphone/ios-certificates/

Certificateの作成

  1. AppleDeveloperProgramにアクセス
  2. Certificateを選択し+を押す
  3. 製品版のCertificateを作るために"App Store and Ad Hoc"にチェックを入れる
  4. 上の項目で、PCで作成した"CertificateSigningRequest.certSigningRequest"ファイルをUPする
  5. ios_developmentファイルをDLする
  6. 同じく開発用のCertificateを作るために"iOS App Development"にチェックを入れる
  7. 上の項目で、PCで作成した"CertificateSigningRequest.certSigningRequest"ファイルをUPする
  8. ios_production.cerファイルをDLする
  9. DLしたCertificateファイルをダブルクリックしてキーチェーンに登録する

参考:http://akira-watson.com/iphone/apply-application.html

AppleDeveloperProgramでProvisioning Profilesを作成

  1. AppleDeveloperProgramにアクセス
  2. Provisioning ProfilesのAllで+を選択
  3. Distribution/App Storeを選択
  4. nameはアプリIDが分かりやすいもの(BundleIDと同じ)で良い
  5. DLしたファイルをダブルクリックしてxcodeのProvisioning Profilesに登録
  6. 確認は"/Users/[user]/Library/MobileDevice/Provisioning Profiles"からできる(不要なものは削除しておく)

参考:https://akira-watson.com/iphone/provisioning-profile.html

invalidとなってるときは

無効なので、リンクをクリックして、Editボタンを押して、certificatesが選択されてるか確認。選択されてなければ、選択して、saveして、mobileprovisionファイルをdownloadしてファイルをクリックする。

アプリバイナリ作成してappstoreへupload

  1. singingのteamが2つあるときは、personal teamじゃない方を選択
  2. targetをiOS Device(実機接続 or シミュレータ)で動作を確認しておく。
  3. targetをiOS Device(実機接続)を選択(選択しないとArchiveが選択できなくなる)
  4. product/Archive
  5. Successとなったら"Upload to AppStore"ボタンをクリック

参考:http://dev.classmethod.jp/smartphone/iphone/ios-release-build-2015-11/

以下エラーが出た場合

No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier were found.
  1. xcode/ビルドしたいプロジェクトを選択/BuildSetting/CodeSigningのReleaceを"iOS_Developer"に
  2. xcode/ビルドしたいプロジェクトを選択/General/provisioning profilesが存在するTeamになってることを確認

以下エラーが出た時

Distribution requires enrollment in the apple developer program

singingのteamが2つあるときは、personal teamじゃない方を選択

参考:https://teratail.com/questions/68985

以下エラーが出た時

Doesn't match entitlements file value for application-identifier.

Unity-iPhone.xcodeproj/project.pbxprojのPRODUCT_BUNDLE_IDENTIFIERが正しいidentifierか確認する

以下エラーが出た時

missing private key : "~" has one iOS Distribution certificate but its private key is not installed. 
Contact the creator of this certificate to get a copy of the private key.

Auto manageでなくManual manageの方を選択してDLしたIdentifierを入れてみる

以下エラーが出た時

error: "Unity-iPhone" requires a provisioning profile. Select a provisioning profile in the Signing & Capabilities editor. (in target 'Unity-iPhone' from project 'Unity-iPhone')

Signing&CapabilitiesのAutomatically manage signingにチェックを入れる。

以下エラーが出た場合

You do not have required contracts to perform an operation.

AppStoreCoonnectの契約/税金/口座情報で、同意ボタンが出てないか、確認する。 ttps://appstoreconnect.apple.com/agreements/#/

以下エラーが出た場合

Asset validation failed Invalid Pre-Release Train. The train version is closed for new build submissions

既に同じバージョンが公開されているので、バージョンを上げる。

アプリバイナリ作成(ipa作成)

  1. singingのteamが2つあるときは、personal teamじゃない方を選択
  2. targetをiOS Device(実機接続 or シミュレータ)で動作を確認しておく。
  3. targetをiOS Device(実機接続)を選択(選択しないとArchiveが選択できなくなる)
  4. product/Archive
  5. Successとなったら"Export"ボタンをクリック

言語を日本語へ

  1. LocalizationsをJapaneseに、
  2. Localization native development regionをJapanに

参考:https://www.bloguchi.info/1378

appstoreConnectでの手続き

  1. https://appstoreconnect.apple.com
  2. マイAppを選択
  3. 新規 Appを選択
名前:アプリ名
BundleID:select欄から選択する
SKU:ユニークなIDを入れる(BundleIDと同じで良い

appstoreConnectでのApp作成は、アプリのバイナリ後に作って良い

年齢制限

年齢制限編集からAppのコンテンツ詳細を入力する。

すべて"極度"や"軽度"にすると"年齢制限なし"になるのでいくつか"極度"や"軽度"でなく"なし"にする

スクリーン画面サイズ

  • 6.5インチ 1242x2688
  • 5.5インチ 1242x2208
  • 4.7インチ 750x1334
  • 4.0インチ 640x1136
  • 3.5インチ 640x960
  • iPadPro 2048x2732

動画スクリーンサイズ

  • 6.5インチ 886x1920
  • 5.5インチ 1080x1920
  • iPadPro(第3世代) 1200x1600

条件

  • 30秒以内で。
  • 30fps
  • h.264(mpeg4はダメだった)

iPhone6でquicktimeでとる時

トリム(時間編集)をして1080x1920から大きくすると1079x1920にずれるためので

1080x1920に大きくしてからトリムすると良い

動画リサイズ方法

web上でリサイズできるサイト:https://video.online-convert.com/convert-to-mov

6.5インチ(phonexsの場合)

  • サイズ(capture動画1242x2688→)886x1920
  • frame rate:30fps
  • コーデック:h.264

5.5インチ(phone6の場合)

  • サイズ(capture動画750x1334→)1080x1920
  • frame rate:30fps
  • コーデック:h.264

公式サポートページ:https://developer.apple.com/jp/support/app-previews/


6.5インチの動画の比率を変えて5.5へ

比率トリムツール:https://online-video-cutter.com/ja/

cropボタンを押して、886x1920を886x1575でリサイズして、

(もしくは、1126x2436を1126x1998でリサイズして、)

比率トリムツール2:https://www.resize-video.com/jp/ (上が使えない場合)

web上でリサイズできるサイト:https://video.online-convert.com/convert-to-mov

で1080x1920へ(コーデックそのままだと申請できないので、コーデックをh.264へ)

movの動画ファイルを登録して24時間以内〜とでる場合

movのままだと"Appプレビューの処理中 Appプレビューの処理には最大24時間かかります。"とでて24時間を超えてもメッセージが変わらない時

  1. 以下サイトからmovからm4vに変えて登録する
  2. 30分程度待つ

https://www.onlinevideoconverter.com/ja/media-converter

静止画サムネイル

keynoteで作るテクニック、書類/スライドサイズを1242x2688にする。画像出力すると高画質で出来上がる。

新規 or 更新申請方法

  1. appstoreConnect(https://appstoreconnect.apple.com)から
  2. バージョンまたはプラットフォームのリンクを押し、バージョン入力
  3. キャプチャ画像などを登録
  4. アプリ文言入力
  5. バイナリファイルを下のアプリバイナリ作成項目から作成して送信しておく。
  6. バイナリファイルを送ったのにファイル選択リンクがないときは10分ぐらい待ってみる。
  7. "審査へ提出"ボタンを押して審査へ

審査期間

約1日に早まった。(2016/8時点)

土日は休み、アメリカのカリフォルニアのアップル本社で審査してるっぽい。

日本語喋れる外国人風の女性の人から審査に必要な項目をいれてほしいと電話がかかってきた。

参考:http://kazupi-world.com/2015/02/19/20150219/

以下サイトで目安を表示してる

http://appreviewtimes.com/

審査却下理由

  • 開発途上などの文言は削除しておく
2. 2パフォーマンス:ベータテスト
ガイドライン2.2  - パフォーマンス - ベータテスト
  • 詳細内にAndroidなどのワードがあるとNGとなる
メタデータ却下
  • アプリ名に無料などの価格情報を入れるとNGとなる
メタデータ却下
  • iPad対応時に、右上左上が隅にないとならない。
却下

審査注意点

  • コンテンツ詳細であまり軽度・極度が多いと年齢がなしとなり申請に落ちる。軽度4個程度に抑えると年齢が"+17"となりひっかからなくなる
  • ユーザ投稿型アプリの場合は、利用規約・通報・エロフィルタ・問い合わせが必要となる

サブスクでの却下

以下連絡が来た。

Guideline 3.1.2 - Business - Payments - Subscriptions

We noticed that your app did not meet all the terms and conditions for auto-renewing subscriptions, as specified in Schedule 2, section 3.8(b) of the Paid Applications agreement.

We were unable to find the following required item(s) in your app's metadata:

– A functional link to the Terms of Use

Next Steps

To resolve this issue, please revise your app to include this missing information. If the above information is in your app or metadata, please reply to this message in Resolution Center to provide details on where to locate it. 

To add your license agreement text or privacy policy to appear on the App Store page for your app: 

- Open your app in App Store connect
- Select the App Information page from the left hand menu
- In the General Information section, choose “Edit” next to “License Agreement” or "Privacy URL"
- Click the relevant option to apply a custom EULA or Privacy Policy
- Copy and paste your custom EULA or Privacy Policy into the appropriate box

Resources

- Learn more about offering auto-renewable subscriptions on the App Store. 
- For your convenience, we’ve included part of Section 3.8 of the Apple Developer Program License Agreement below:

"3.8 You may offer auto-renewing subscriptions in select Territories using the In-App Purchase API subject to the terms of this Schedule 2, provided that:

[…]

(b) You clearly and conspicuously disclose to users the following information regarding your auto-renewing subscription:

- Title of auto-renewing subscription, which may be the same as the in-app product name
- Length of subscription
- Price of subscription, and price per unit if appropriate"

Since your App Store Connect status is Metadata Rejected, we do NOT require a new binary. To revise the metadata, visit App Store Connect to select your app and revise the desired metadata values. Once you’ve completed all changes, reply to this message in Resolution Center and we will continue the review.
  • 利用規約と、プライバシーポリシーを別に
  • EULAの利用規約を入れる

参考:https://gosyuin-map.seesaa.net/article/481968762.html

App Tracking Transparencyはあるが情報が足りなく審査落ち

We're looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request

調べてみると、firebaseConfigを、咬ましてて、そこのやり取りに、不具合が出てた。firebaseConfigを取り除いたら、うまくいった。

参考:https://qiita.com/HikaruSatomi/items/ca9bbf09f0021516c463

参考:https://tachitechi.com/apptracking-transparency-failed/

予約注文(事前登録)

  1. appstoreの管理画面へ
  2. アプリを追加
  3. 一般/価格および配信状況
  4. 予約注文/予約注文を利用可能にする
  5. Appを審査へ
  6. App が承認され、予約注文を可能にする準備ができたら、
  7. 価格および配信状況/App のダウンロードのリリース日を確認し、右上にある「予約注文としてリリース」をクリック

3日後以降でリリース予約日を設定できる

参考:https://corriente.top/post-55084/

参考:https://gigazine.net/news/20171217-apple-app-store-pre-order/

レポート

売上トレンドのページに表示されてる。

AppStoreSmallBusinessProgram登録

課金マージンを30%から15%へ

https://developer.apple.com/jp/app-store/small-business-program/

Unable to installの表示エラーが出る

アプリ起動時に、Unable to installの表示エラーが出る場合

xcodeでログが出力される

com.apple.dt.MobileDeviceErrorDomain
A valid provisioning profile for this executable was not found.
Domain: com.apple.dt.MobileDeviceErrorDomain

インストールした、プロビジョニングデータはこちらに入るので、一旦ファイルを消すとか、

~/Library/MobileDevice/Provisioning\ Profiles/

Xcodeメニュー/Window/DeviceAndSimurator/端末名の副クリック/ShowProvisioningProfilesから削除

ちなみに、開発用にビルドするときに、AppleDistributionを証明書を選ぶと、このエラーが出るのは通常。 開発用にビルドするときは、Developmentを選ぶ必要がある。