Apple iMessage のステッカーを作る。

# 1.はじめに
![imessage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63139/ef8cde0e-e172-9dbb-bd48-444da07fd0c4.png)
聞きなれないけど Apple製品（iPhone、iPad、Mac）にインストールされている「メッセージ」がそれ。
SMS も送受信できるので、それ用のアプリと思っている人も多いと思うが、実はステッカーも使える。
しかも、Lineスタンプより高機能らしい・・・。

アジアでは Line が趨勢(すうせい)だし、海外では Whatsup が主流らしいけれど・・・。

もし、あなたが iMessage のステッカーを作りたいなら、先ずは、[iMessage用のステッカーの作成](https://developer.apple.com/jp/stickers/) を読んだ上で・・・。
# 2.Mac を買う
:apple: Mac で xcode を使わないとはじまらないので、
何がなくともMac :computer: を買って、xcodeをインストールする。

[Mac整備済製品](https://www.apple.com/jp/shop/refurbished/mac) から購入すると少しも安く買えたりする。

----
次からは毎回やること。
[Developer(Web)](https://developer.apple.com/jp/)、[Store Connect(Web)](https://appstoreconnect.apple.com/)、Mac(本体) を何回か行ったり来たりする。

# 3.[Apple Developer](https://developer.apple.com/jp/) でやること
- [Apple Developer Program](https://developer.apple.com/jp/programs/) に登録し、年会費を払ってライセンス登録しておく。:moneybag:  
(年初毎、一度登録したら一年間は放置）
- Certificate, IDs & Profiles  
[Apple Developer](https://developer.apple.com/jp/) サイトの [Account] > [Certificate, IDs & Profiles] で以下の設定していく。  
**詳しい設定方法は、全てこちらの [デベロッパアカウントヘルプ](https://help.apple.com/developer-account/#/) に詳しく載っている。**
  - [Certificates](https://developer.apple.com/account/resources/certificates/list/) で証明書を作成する。（更新時に作れば良い。年一とか）[:question:](https://help.apple.com/developer-account/#/deveedc0daa0)  
  - [Identifiers](https://developer.apple.com/account/resources/identifiers/list/) を登録する。（毎回必要）[:question:](https://help.apple.com/developer-account/#/dev1b35d6f83)  
ステッカー毎に本体用とステッカーパック用が2つ必要  
＋をクリックして ◎App IDs を選んで [Continue]  
Descriptionは、XCを先頭に付け ' '(空白)で区切って記述する。  
Bundle IDは、XCを省いて '.'(ドット)で連結して記述する。  
Description：XC aa bb cc　/　Bundle ID：aa.bb.cc (本体用)   
Description：XC aa bb cc StickerPackExtension　/　Bundle ID：aa.bb.cc.StickerPackExtension (ステッカーパック用)  
(最後に付ける文字列は決まっている)  
入力したら [Continue][Register] で登録する。
  - [Devices](https://developer.apple.com/account/resources/devices/list/) でデバイスを作成する。（一回作れば良い。）[:question:](https://help.apple.com/developer-account/#/dev40df0d9fa)
  - [Profiles](https://developer.apple.com/account/resources/profiles/list/) でプロファイルを作成する。（毎回必要）[:question:](https://help.apple.com/developer-account/#/devf2eb157f8)  
ステッカー用とステッカーパック用のプロファイルを作成する。  
＋をクリックして
Distributionの ◎App Store を選択して [Continue]  
先ほど作った App ID をプルダウンから選択して [Continue]  
Select Certificatesで、Certificateを選択して [Continue]  
Provisioning Profile Name を入力して [Generate][Download]  
ダウンロードしたプロファイルはステッカーアプリ作成時に使うので保存しておく。

# 4.[Apple Store Connect](https://appstoreconnect.apple.com/) でやること(1)
* [My Apps](https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app) で新規Appを作成する。  
新規作成したら必要事項を入力しておく。
  - プラットフォーム ☑iOS　☐tvOS
  - 名前
  - プライマリ言語 → 日本語とか英語（アメリカ）とか（後ほど言語は追加できる）
  - バンドルID → 予め3で作ったアプリに紐づけるプロファイルと同じものを選択する。
  - SKU → App Store では表示されない、Appの固有IDとして適当な名前を付けて入力

残りのApp情報

# 5.Macでやること
## 5.1 画像準備：メイン(ステッカー)画像
以下のいずれかのサイズで作成する。透過も使える。
長辺が以下の値になっていればOK。

|分類|サイズ|
|:--|:--|
|スモール|300x300 px|
|レギュラー|408x408 px|
|ラージ|618x618 px|

## 5.2 画像準備：アイコン
各デバイス向けアイコン用に、結構たくさんアイコン画像を作る必要がある。
透過は使わない。(透過だと背景が黒になる。)
((倍数x)横x縦)px

|01|02|03|
|:--|:--|:--|
|01 2x29×29(58x58)|02 3x29×29(87x87)|03 2x60x45(120x90)
|04 3x60x45(180x135)|05 01と同じで良い|06 2x67x50(134x100)
|07 2x74x55(148x110)|08 1024x1024|09 1024x768
|10 2x27x20(54x40)|11 3x27x20(81x60)|12 2x32x24(64x48)
|13 3x32x24(96x72)|

## 5.2 xcode でプロジェクトを作る。
- 「Create a new Xcode project」を選んで、「Sticker Pack Application」を選択して、Product Name を入力しておく。
- プロジェクト名 > Stickers.xcstickers の iMessage App Icon に作っておいたアイコン画像をドラッグ＆ドロップ、  
Sticker Pack にステッカー画像をドラッグ＆ドロップする。
- プロジェクト名の
  - Generalタブ の Identity > Bundle Identifier に、Apple Developer で設定した値を入力する。
  - Signing & CapabilitiesタブのSigning の Automatically manage siging のチェックを外す。Provisioning Profile では Inport Profile を選んで に、Apple Developer からダウンロードしたプロファイルをインポートする。  
本体用とStickerExtensionPack用をそれぞれ指定する必要がある。
  - Active Scheme(iPhone XR とか)を選択して、Product から Run を選ぶと、シュミレーターが起動するので、  
動作を確認しながら、スクリーンショット(以下、スクショ)を取っておく。次章参照。

ここのもっと詳しい説明とかは、ググれば見つかるかも。

## 5.3 スクショ(スクリーンショット)

||ディスプレイ|機種|xcode|サイズ(px)|
|:--|:--|:--|:--|:--|:--|:--|:--|
|1|iPhone6.5インチ|iPhone XS,11Pro Max|iPhone 11 Pro Max|2208x2688|
|2|iPhone5.5インチ|iPhone 6,6s,7,8 plus|iPhone 8 plus|2208×1242|
|3|iPad Pro(第3世代)|-|iPad Pro(12.9-inch)(3rd generation)|2732×2048|
|4|iPad Pro(第2世代)||3の画像をそのまま使用|2732×2048|03を流用|
|5|iMessage App項目||||1024x1024アイコンを流用|
* シュミレーターを立ち上げ ⌘+S でスクショを保存する。スクショは、ディスクトップに保存される。
* 各スクショは最低1枚は必要。透過は使えない。

## 5.4 Product > Archive を実行する。
- Active Scheme を Generic iOS Device にする。
- Product > Archive を選択し、先ず Validation を行う。
  - [Validate App] を押す。 
  - ◎ Manually manage signing を選択。
  - Distributon certificate はデフォルト、ダウンロードしたプロファイル（本体とエクステ用）を選択。
  - 最後に [Validate] ボタンを押し、エラーが無ければ [Done] を押して完了。 
- Validatie App でエラーがなくなったら [Distribute App] を実行。 
  - [Distribute App] を押す。 
  - ◎ App Store Connectを選択。
  - ◎ Upload を選択。
  - ◎ Manually manage signing を選択。
  - Distributon certificate はデフォルト、ダウンロードしたプロファイル（本体用とエクステ用）を選択。
  - [Upload] を押すとアップロードが始まる。
  - アップロードが完了したら [Done] で完了。

※ Archive が有効にならない場合は、Active Scheme が Generic iOS Device になっているかを確認。

# 6.[Apple Store Connect](https://appstoreconnect.apple.com/)でやること(2)
- アップロードしたステッカーアプリの選択
- スクショの貼り付け
- 価格の設定
- プライバシーポリシー(最近必須になったらしく、どこかにページを作って設定する必要がある。)
- その他必要事項

を入力する。

言語の追加を行う場合は、言語のリストの項目の右の部分をクリックして新しい言語を追加する
特殊仕様なので注意すること。

# 補足1 銀行口座
銀行番号と口座番号の欄しかなく、支店コードはどこにいれるのかと戸惑うが、
銀行番号に 銀行コード-支店コード と入力すれば良い。
口座番号には支店コードは含まない。

# [そして作ったステッカーがこちらです](https://apps.apple.com/developer/satoshi-ikeda/id1463744852#see-all/i-phonei-pad-apps)
![Sticker.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63139/1eaa825c-4ab5-36ae-25b4-ffa624d7113d.png)
良かったら使ってみてくださいね :grinning:
ちなみに Lineスタンプは [こちら](https://store.line.me/stickershop/author/80356) です。