先日、iOSアプリの ARケチャマヨバトル を数年ぶりにアップデートしました(実績はコチラ

アプリの紹介動画

このアプリ自体3年半ぶりのアップデートだったことや、 ARkit や Bonjour を利用したアプリの開発実績があまりなかったこともあり、アップデートの際につまづいた点をまとめておきたいと思います。

 

開発時

開発していてつまづいた点です。

モダール画面を表示するときに全画面表示にならない

iOS 13 からの変更なので既に色々なアプリで対応してきてはいるのですが、Storyboard を使った遷移での対応は初でした。

Storyboard Segue の設定において、 Kind を Present Modally、Presentation を Full Screen にすることで対応しました。

 

ローカル通信ができない

このアプリは Bonjour(ボンジュール)を利用して近くの端末同士で対戦が行える機能があるのですが、iOS 15 の端末で動かした場合に、近くの端末の認識が行えなくなっていました。

調べたところ iOS 14 からローカルネットワークを用いた通信を行う際に、ユーザの許可が必要になったようです。

info.plist に下記を追記することで対応しました。

<key>NSBonjourServices</key>
<array>
<string>_kechamayo._tcp</string>
<string>_kechamayo._udp</string>
</array>
<key>NSLocalNetworkUsageDescription</key>
<string>ローカル通信対戦のために使用します。</string>

 

 

申請時

こちらは、申請時のリジェクトの内容になります。

Guideline 2.3.3 – Performance – Accurate Metadata

We noticed that your screenshots do not sufficiently show your app in use. Specifically, your iPhone screenshots do not show the actual app in use in the majority of the screenshots.

Please note that login, splash, tutorial and marketing screens are not considered displaying the app in use.

To help users understand your app’s functionality and value, your screenshots should highlight your app’s core concept. For example, a gaming app should feature screenshots that capture actual gameplay within the app.

スクリーンショットとして設定した画像がアプリと一致しないという内容でした。

 

以前は問題なかったので、ガイドラインがより厳しくなったのかもしれません。

下記のようにアプリ内の実際の画像を少し加工していたものを、そのままの画像にしたところ通過しました。

(今思えば、ステータスバーのアイコンくらいは消したほうが良かったですね)

 

ただ、下記のような画像は問題なかったので、アプリ内の画面を中途半端に加工するのが良くないようです。

 

Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing

The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Advertising Data. However, you do not use App Tracking Transparency to request the user’s permission before tracking their activity.

Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.

iOS14.5 から広告のトラッキング許可ダイアログの表示が必須になっていましたが、それに対応していませんでした。

info.plist に下記を追記しました。

<key>NSUserTrackingUsageDescription</key>
<string>許可すると好みに合った広告が表示されやすくなります。</string>NSBonjourServices</key>

 

また、広告を呼び出す処理で許可ダイアログを表示するようにしました。

ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // 広告読み込み処理
})

 

 

最後に

以上になります。

ちなみにこのARケチャマヨバトルですが、対戦が楽しいアプリになっていますので、ぜひ一度遊んでみてください。

今回のアップデートで CPU 対戦もできるようになっています。

ストアリンク:ARケチャマヨバトル

 

https://www.bravesoft.co.jp/works/consumer/00271/

 

 

投稿者プロフィール

みっちー
みっちー