iOS, Mac, Androidのアプリをリリースしてみた

# はじめに
アプリのリリース方法の備忘録です。

**今からアプリをリリースしたい人はとりあえずデベロッパー登録してください**

登録まで2日くらいかかります。休日はさむともっとかかるのでアプリ作る前にデベロッパー登録しておく方がスムーズに進みます。
 
* Apple:   年会費 ￥12,980(2020/1時点)
* Google: 登録費 $25.00(2020/1時点)

全部 Macbook Pro macOS Catalina(10.15.2)で作業しました。

# リリースしたアプリ
## Macアプリ
ターゲット：MacOS Catalina以降

[DNA変換](https://apps.apple.com/jp/app/dna%E5%A4%89%E6%8F%9B/id1494127578?mt=12)

## iOSアプリ
ターゲット：iOS13以降

[DNA変換](https://apps.apple.com/app/id1493994947)

## Androidアプリ
ターゲット：Android6.0以降

[DNA変換](https://play.google.com/store/apps/details?id=am10.dnaconverter)

# Macアプリのリリース
## 開発環境
Xcode 11.3

## リリース時に必要なもの
* アプリアイコン(iOSと共通可)
* プライバシーポリシーのサイト(iOSと共通可)
* ストア用のスクショ2枚(iOSと別々)

## アプリアイコン作成
[GIMP](https://www.gimp.org/) を使って1024 x 1024 ピクセルのアイコンを作成しました。
Googleで「iOSアイコン　グリッド」検索して出てきたグリッドガイドを参考に適当に[このへんの画像](https://icooon-mono.com/)を配置してつくりました。

### アイコンのリサイズ
[MakeAppIcon](https://makeappicon.com/) を使ってリサイズしました。

アイコンをアップしたくないって人は[GIMP用のスクリプト](https://github.com/adventam10/DNAConverter-iOS/blob/master/resize_ios_app_icons.py)つくったのでどうぞ

導入方法は[こちら](https://qiita.com/am10/items/5c62cda827c405932064)を参考にしてください。GIMPで1024x1024の画像を開いてフィルター(R)->Python-Fu->iOS-resizeIconsで実行できます。実行するとapp_iconsフォルダにリサイズ後のアイコンがあるはずです。

## デベロッパー登録
ここ [Apple Developer Program - Apple Developer](https://developer.apple.com/jp/programs/) で登録します。  
下記参考に登録しました。  
[【2016年最新版】わかりやすく徹底解説！Apple Developer Programへの登録手順（個人）](http://unitynightowlgames.hatenablog.com/entry/2016/09/23/110949)

## スクショ作成
審査提出時にアスペクト比16:10の下記のいずれかのサイズのスクショが最低2枚必要です。（ローカライズ対応する場合は同じ画像でも申請できますが個別に用意した方がいいです）

* 1280 x 800 ピクセル
* 1440 x 900 ピクセル
* 2560 x 1600 ピクセル
* 2880 x 1800 ピクセル

参考：[App Store Connect ヘルプースクリーンショットの仕様](https://help.apple.com/app-store-connect/#/devd274dd925)

わたしは Mac でアプリをフルスクリーン状態にしたらアス比が 16:10 だったので、フルスクリーン状態のスクショをとって 2880 x 1800 ピクセルにリサイズしました。この方法は文字とかめっちゃ小さくなるのであまりおすすめできません...(どなたかいい方法教えて下さい:bow:)

### 20200123追記
他のアプリのスクショとかみてると別にアプリだけのスクショじゃなくていいみたいです。  
[Xcode](https://apps.apple.com/jp/app/xcode/id497799835?mt=12)のスクショも Dock まで写ってます。他のアプリとかは背景に説明文いれたり色々工夫されてました:astonished:  
てことでフルスクリーンで取る必要はなく適当のウィンドウサイズにしてフルスクリーンスクショをとればいいみたいです。

わたしはウィンドウの操作に便利な [Magnet](https://apps.apple.com/jp/app/magnet-%E3%83%9E%E3%82%B0%E3%83%8D%E3%83%83%E3%83%88/id441258766?mt=12%20noopener) というアプリを使いました。

参考：[Macアプリのウインドウを画面中央に表示する方法](https://minacoole.com/macbookpro-magnet-5/)

#### 方法
* アプリを起動し適当なサイズに調整する
* Magnetで Control + Option + C でウィンドウを中央寄せにする
* Magnetで Command + Shift + 3 で画面全体のスクショを撮る
* 撮ったスクショを適当なフォルダにまとめる
* ターミナルを起動する
* `cd [フォルダパス]` でフォルダに移動する
* `sips -Z 2880 *.png` で画像を一括リサイズする

これでストア用のスクショは完成です！！（ターミナルでこんな簡単にリサイズできるの知らなかった:see_no_evil:）

こんな感じ
<img width="500" alt="ja_1" src="https://user-images.githubusercontent.com/34936885/72985727-eda7cd80-3e29-11ea-8d9b-71d4595c36e8.png">

## プライバシーポリシーのサイト作成
アプリをリリースするには、データ収集する機能があるかないかに関わらず、プライバシーポリシーが必要になりました。  
下記参考に作成しました。

* [個人開発者がAppStore用にプライバシーポリシーを書く](https://qiita.com/Hiroki_Kawakami/items/94f012d20afdb692df20)
* [iOSでプラポリが必須になったのでGitHub Pagesで対応した](https://qiita.com/mtfum/items/6d7882a1ca389dcc6e31)

めんどくさかったのでGitHub Pagesで対応しました。  
プライバシーポリシーの中身は下記で作成しました。  
[App Privacy Policy Generator](https://app-privacy-policy-generator.firebaseapp.com)

ローカライズ対応する場合も英語版のみで審査は通過しました。

提出時にサポートURLも入れないといけないようですがとりあえずプライバシーポリシーと同じURLを入れると通りました...(なんか作成しないといけないんだろうか？:sweat_smile:)

## アプリをApp Store Connectで審査提出
証明書つくったり、アーカイブしたりしてするのは下記参考にしました。

* [【2019年版】iOSアプリをApp Storeに公開するための全手順まとめ](https://qiita.com/kenny_J_7/items/92378e2a09bee6080677)
* [iOSアプリとMac CatalystアプリのApp Store申請手順](https://qiita.com/hituziando/items/a7d50f34ca04e0b1e7de)

## 審査
ここまで準備すると審査に出せるはずです。しばらくすると下記のようなメールが届きます。

```
The status of your (macOS) app, アプリ名, is now "Waiting For Review"
```

審査は驚くほど早く3時間ほどで再びメールが来ました！！下記のようなメールが来ると審査通過です。

```
The status of your (macOS) app, アプリ名, is now "In Review"
```

残念ながら下記のようなメールが来るとリジェクトです。。。

```
New Message from App Store Review Regarding アプリ名
```

続いて下記の様なメールが来た場合は審査は通ったけどストアにあげるのは保留中です。

```
The status of your (macOS) app, アプリ名, is now "Pending Contract"
```

わたしの場合は有料アプリでローカライズ対応していたので App Store Connect の「契約/税金/口座情報」で各種情報を入力する必要があります。

ステータスは他にも色々あるようです  
[App Store Connect ヘルプーApp ステータス](https://help.apple.com/app-store-connect/?lang=ja-jp#/dev18557d60e)

## 契約/税金/口座情報の入力
おそらく無料アプリの場合は必要ないかと思います。
このあたりはあまりよくわからないままやったのであってるか不明です...(自己責任でお願いします:bow:)

* 銀行口座情報入力
* 納税フォーム入力（下記参考に入力しました）  
[日本在住のエンジニアが米国App Storeでアプリを公開する時にTax Informationに設定した内容と結果](https://blog.ottijp.com/2018/01/26/appstore/)
* 連絡先入力  
5つすべて同じ連絡先を入力しました

ここまでやるとしばらくして下記のメールが届き無事リリースされました:tada:

```
Welcome to the App Store
```

# iOSアプリのリリース
下記は Mac アプリと共通です。

* アプリアイコン作成
* デベロッパー登録
* プライバシーポリシーのサイト作成
* 審査
* 契約/税金/口座情報の入力

## 開発環境
Xcode 11.3

## リリース時に必要なもの
* アプリアイコン(Macと共通可)
* プライバシーポリシーのサイト(Macと共通可)
* ストア用のスクショ3枚(Macと別々)

## スクショ作成
iPhone, iPad 対応だったので下記スクショが必要でした。

* iPhone 6.5インチディスプレイ
* iPhone 5.5インチディスプレイ
* iPad Pro (第3世代) 12.9インチディスプレイ
* iPad Pro (第2世代) 12.9インチディスプレイ

それぞれ1枚ずつでいけました。（iPad は同じ画像でいけました）  
ローカライズ対応する場合は同じ画像でも申請できますが個別に用意した方がいいです。

[Appetize.io](https://appetize.io/) にアップすると色々な端末のスクショが取れて便利らしいです。  
参考：[iOSアプリをストアにあげる時に必要なものメモ](https://qiita.com/v97ug/items/2c6c090dea8382ae5fe0#appetizeio%E3%81%8C%E4%BE%BF%E5%88%A9%E3%81%A7%E3%81%99)

これであとはMacアプリと同じ手順で申請できます:tada:

# Androidアプリリリース
## 開発環境
Android Studio 3.5.3

## リリース時に必要なもの
* アプリアイコン
* ストア用のスクショ2枚
* ストアのフィーチャー グラフィック用画像

## アプリアイコン作成
[GIMP](https://www.gimp.org/) を使って 512 x 512 ピクセルのアイコンを作成しました。

## デベロッパー登録
下記参考に登録しました。  
[Google Play Developerに登録する](https://qiita.com/minuro/items/f1eba5b3a14fd3110085)

## スクショ作成
スマホとタブレットで別れており、全体で最低2枚のスクショが必要らしいです。  
わたしはスマホ用2枚のみアップしました。

## フィーチャー グラフィック用画像
横 1,024 x 縦 500の JPG または 24 ビット PNG（アルファなし）画像が必要なようです。

参考：[Google Playガイドー注目を集めるフィーチャー グラフィックでアプリをアピールする](https://developer.android.com/distribute/best-practices/launch/feature-graphic?hl=ja)

## アプリをGoogle Play Consoleで審査提出
アプリの提出は下記を参考にしました。  
[Google Play Storeにアプリを公開する](https://qiita.com/minuro/items/536ac3f7c27c1442a1cb)

(わたしはレーティング設定のアンケートを1つ回答し忘れていてずっと処理中で止まってました:neutral_face:)

提出後、5日くらいで下記のメールが届き無事リリースされました:tada:

```
IARC Live Rating Notice: アプリ名
```

公開後はすぐにはストアの検索にはひっかからないようで24時間位かかるそうです。それまではURL直打ちとかじゃないとたどり着けませんでした:frowning2:

# おまけ（Web）
Web版も公開しました。  
[http://adventam10.php.xdomain.jp/dna/index.php](http://adventam10.php.xdomain.jp/dna/index.php)

注意：httpです。スマホでみると広告出ます（PCは出ないはず）

## 方法
### ファビコン作成
特に必須ではありませんがせっかくなんでファビコンを作成しました。  
下記に Android のアイコン(512 x 512)をアップしてつくりました。  
[様々なファビコンを一括生成。favicon generator](https://ao-system.net/favicongenerator/)
### 公開
下記参考に[XFREE](https://www.xfree.ne.jp/)で公開しました。  
[無料でできるPHPのWEBサイト公開（テスト用）](https://qiita.com/am10/items/a3b6a5239905da3ec18f)

# さいごに
今まではソースごと納品とかストア公開は別の人が担当とかでストア公開したことありませんでしたが、これでようやくわたしもデベロッパーを名乗れます！！  
つくったアプリは有料です:nerd:  

* Mac, iOS: ￥120  
* Android : ￥100

目標は Google Play の登録料の ＄25.00 のトータルダウンロード数25!!!  
こんなアプリに金払いたくないって人はぜひ[Web版](http://adventam10.php.xdomain.jp/dna/index.php)をどうぞ