エアプレーンモード

十数年勤めた大企業を辞めて、消費生活から創造生活へ♪

【備忘】自作LINEスタンプをiMessageのステッカーにした話

2週間前、LINEのスタンプを作成しました。日曜にPCから販売申請をして、3日後には審査中へステータスが変わり、その2日後に販売許可がでました!

この時作ったスタンプはこちら↓

line.me

 

思っていたよりも早くて簡単だったので、調子に乗ってiMessage用ステッカーも作ろうと考えたまでは良かったものの、コレが結構トラップだらけ(^_^;)

でも、ありがたいことにググれば丁寧に作成手順をご紹介くださっている記事達に出会えます。

 ここでは備忘のため、iMessage用ステッカーを作成するにあたり、初心者がハマりやすいポイントをメモしておきたいと思います。

 

1.作業の順序を間違えないことが一番重要

事前にAppIDsやBundleID、タイトル、サブタイトル、説明文、キーワード等は決めておく。Developer登録や証明書発行が済んでいれば、以下手順で進めていくとよい。

→ まずは素材作成(LINEスタンプよりアイコン数が多く面倒、スクショは後でOK)

→ AppleDeveloperでAppIDsを登録

→ AppStoreConnectで詳細情報を登録して保存

Xcodeでステッカーパックを作成しアーカイブからアップロード

→ AppStoreConnectでビルド欄にアップロードしたAppが反映したら、審査を申請する

 

2.証明書発行は年に一度でよい

開発者1IDにつき有効期間1年間使用できる。Appを追加する度に取り直す必要はない。

但し、ダウンロードしたcerファイルをまたアップロードして、アプリケーション>ユーティリティ>キーチェーンアクセスで登録しなければならない。しかも証明書へのアクセスに都度パスワードを要求する設定にしていたら、Xcodeで自動アップロードする際にエラーが出たりする。

 

3.ID類は途中で変えない

最初に深く考えずAppIDsやBundleID等を決めてしまうと、後から詳細情報を設定していくうちに変更したくなることも。ここで、変更してしまうと修正漏れがあった箇所がエラーになってしまうことが多い。(→結局最初から作り直す羽目になる)

 

4.BundleIDのトラップ

XcodeでBundleIDを入力する箇所はTARGET下のファイル2つ。一般的には「xx.ドメイン.開発元.アプリ識別名」となるが、2つのうちStickerPackExtensionファイルには、「xx.ドメイン.開発元.アプリ識別名.StickerPackExtension」としなければならない。

同じBundleIDにはならないことには注意!

 

5.シミュレータのトラップ

スクショを撮影するためのシミュレータだが、これがフリーズして動かないことが多発。あれこれ対処法をしてみるも、原因不明。一度撮ったスクショは安易に捨てたら後悔する。

 

6.プライバシーポリシーとURL

昨年から全てのアプリにプライバシーポリシーをリンクするルールとなったため、事前に準備が必要。他の方の原稿も参考に作成すれば良いかも。(ステッカーなら取得する情報も限られるため)

 

7.OSのバージョンは新しく

私は3Dや2Dソフトの関係でOSがHighSierraなのだが、OSが古いせいか最新のXcodeを使用していても、アップロード時に「○年○月からはSDKの旧バージョンは使えないよ」と警告がでる。アプリ開発とデザイン仕事を1台のPCでしようとすると無理があるのかな。

 

8.アーカイブでエラーが発生

そもそもProduct>アーカイブへ行けない(グレーアウトしている)場合は、シミュレータの機種を選ぶプルダウンが「Generic iOS Device」になっていないので注意。

アーカイブでエラーが発生する場合はひたすらググるしかない・・・

※私のエラーは、証明書の秘密鍵がうまく設定できていなかったことが原因だった。

 

9.アップロードでエラーが発生

ビルドまでうまくいっても、アップロードでもエラーが多発する可能性がある。これまたひたすらググることになる。

※私のエラーは、3、4、7でしたが、スペルミス等のケアレスミスにも注意が必要。 

 

10.おまけ

アップロードが完了してもメタデータが誤っているとリジェクトされてしまいます。

※私のリジェクト原因はDisplay NameをBundleIDに使用した英語名にしていたこと。ステッカー名は日本語なので、同じ名前にするよう指示があった。確かにユーザーは混乱しちゃう。

f:id:s3zue:20190218220754p:plain

 次回作成するときは忘れてそう(^_^;)