LoginSignup
3
3

More than 3 years have passed since last update.

[MacOS]MacAppStore申請時のハマリポイントの共有

Last updated at Posted at 2017-10-30

Bluetoothを使ったチャットアプリ(Mac版)のストアリリースを行いました。
ハマった点が技術記事から見つからず苦戦したため、その内容を共有したいと思います。

主にビルドを提出する段階や、審査で抜けやすいポイントなどを纏めています。

アプリの宣伝込みなため、ご了承くださいm(_ _)m

リリースしたアプリの概要

開発環境

Mac OS 10.13
Xcode 8.3.3
iOS 11 (本アプリのiOS版をデバッグで使用)
Swift 3.2

アプリの機能

CoreBluetoothのGATTプロトコルを使ってユーザが標準入力したテキストを加工し、メッセージとして送受信する機能を持ったチャットアプリ。相手がアプリ起動中しか送信できない。バックグラウンド可。

特徴

Wi-Fiなどのネットワーク接続を使用しない。
相手を登録しなくてもアプリを起動していれば送信できる。
iOS端末とMacOS端末間で通信が可能。

ターゲット層

災害時に使用したいなど。

ハマった内容

ビルド後、出力したストア向けのパッケージがフリーズする。
> 理由 : productbuildを実行していなかったため。
>> https://stackoverflow.com/questions/8038788/mac-app-store-productbuild

> iOS開発のノリでやるとはじめに躓きます。

※2021/3/12現在ではビルドアーカイブを作成した後、以下の選択でストアに申請が可能になりました。
情報が古かったので更新しました。

スクリーンショット 2021-03-12 10.09.41.png

スクリーンショット 2021-03-12 10.09.49.png

CoreBluetoothの機能が開発では動いていたが、ストア向けにビルドすると機能しなくなった。

理由 : 指定するsandboxの値の中にcom.apple.security.device.bluetoothが漏れていたため。アプリで使用する機能はsandboxでの指定が必須となります。僕の場合はストアに申請する際にcodesignを行うためのシェルを作り、パッケージに反映して申請しました。

参考 : https://github.com/nanoporetech/lamprey/blob/master/tools/mac/sign-app

ストアリリース用のビルドシェルを用意することをオススメします。

背景色を開発側が決め打ちで指定していたためリジェクトを受けた。

ユーザが自由に色を選べるようにしないといけないらしい。
https://developer.apple.com/macos/human-interface-guidelines/visual-design/color/

この辺りはよくガイドラインを読んで理解した上で申請しないといけなかったです。

ストア申請でテスト手順を示さなかったため、「画面がblankだよー」と突き返される。

Youtubeなどで説明動画を用意して提示すると良いです。

クラッシュするよ、と突き返される。

クラッシュレポートを解析するための手順備忘録以下参照。
https://qiita.com/yu_okb/items/82b41f08882d578c2f25

資料がネット上に不足していたため、StackOverFlowをメインに調べながら作業を進めた。

言語知識と英語をもっと勉強しよう...

補足

MacAppStoreへの審査においてはiOSアプリ同様ガイドラインが用意されており、一通り読解しておいた方がいいと思います。Appleが各国の文化をガイドラインに反映していたり、Apple独自の決まりがあったりするので、それに合わせたデザインをコーディングする必要があります。

リジェクトを受けた際は、どこがダメだったのかをアピールコメントで聞いてみると良いかと思います。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3