iOS 開発者ガイド for SDK

アプリ送信要件

このセクションでは、 SDK for iOS が有効なアプリ for アプリストアの送信を準備する方法についての重要な情報を提供します。 HERE SDK が原因でストアが拒否されないように、アドバイス HERE に従ってください

プライベートデータアクセスを宣言します

iOS 10 以降では、アプリをアプリストアに送信する前に、アドレス帳やデバイスの場所などのプライベートユーザーデータへのアクセスを静的に宣言する必要があります。 各宣言では、アプリ Info.plist ファイルにキーと目的の文字列を追加する必要があります。

次の表に、 iOS データアクセス宣言に必要な SDK を示します。 <string> アプリで推奨されるエントリを使用 Info.plistするか、またはアプリに適した文字列を選択できます。

注 : すべての iOS for SDK アプリには、アプリストア送信プロセスのためのこれらの宣言エントリが必要です。 アプリユーザーは、アプリが関連 する HERE SDK 機能を使用している場合にのみ、適切なデータアクセスを要求されます。
<key>NSLocationWhenInUseUsageDescription</key>
<string>This is needed to determine your current location</string>
<key>NSCameraUsageDescription</key>
<string>This is needed for the LiveSight augmented reality feature</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This is needed for the Bluetooth-based indoor positioning feature</string>
<key>NSMotionUsageDescription</key>
<string>This is needed for the indoor positioning feature</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This is needed to determine your current location</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This is needed for the indoor positioning feature</string>

これらのキーの詳細については 、 https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html を参照してください。

プライバシーアクセス設定についての質問

HERE SDK には、次のメソッドへの参照が含まれています。
  • [CLLocationManager startMonitoringForRegion:]
  • [CLLocationManager startRangingBeaconsInRegion:]
  • [CLLocationManager requestAlwaysAuthorization]

HERE SDK フレームワークにこれらの問い合わせが存在するため 、 HERE Positioning を使用していない場合でも、アプリストアの送信中に位置情報と iBeacons について追加の質問が寄せられることがあります。 以下に、アプリストアの送信プロセスに役立つ情報を示します。

アプリ が HERE Positioning を使用していない場合 :

  • 質問 : このアプリは startMonitoringForRegion:、または startRangingBeaconsInRegion:その両方を検出しますか ?

    A : これらのメソッドは アプリに組み込まれている SDK for iOS フレームワークによって参照されます。 ただし、アプリが SDK for iOS を使用する方法により 、これらのメソッドは実際には呼び出されません。

  • 質問 : アプリがビーコンの存在を検出した場合のユーザー体験を教えてください。

    A : 上記を参照し てください。アプリが iOS for SDK を使用する方法により、ビーコンはアプリによって使用されません。

  • 質問 : このアプリのどの機能がバックグラウンド位置を使用していますか ?

    アプリがバックグラウンドでナビゲーションを利用している場合 ( たとえば、アプリから電話がかかってきた場合 [NMANavigationManager backgroundNavigationEnabled]) 、「ナビゲーション」と応答できます。 それ以外 の場合は、「アプリが iOS for SDK を使用する方法により、バックグラウンドの場所が使用されていません」と応答できます。

  • このアプリで iBeacons 用のサードパーティ製 SDK を使用している場合は、 iBeacons を機能させるために背景の場所が必要であることを示すドキュメントへのリンクを提供してください。

    A : 上記を参照し てください。アプリが iOS for SDK を使用する方法のため、 iBeacons は使用されていません。

アプリで HERE Positioning を使用している場合 :

  • 質問 : このアプリは startMonitoringForRegion:、または startRangingBeaconsInRegion:その両方を検出しますか ?

    A : どちらの方法も、組み込み の SDK for iOS フレームワークによって使用され、屋内でのユーザーの現在の位置をより正確に判断します。

  • 質問 : アプリがビーコンの存在を検出した場合のユーザー体験を教えてください。

    A : SDK for iOS は、ビーコンの存在を使用して、屋内で正確な 3D 位置情報を提供します。

  • 質問 : このアプリのどの機能がバックグラウンド位置を使用していますか ?

    A : バックグラウンド位置は、屋内でのユーザーの現在の位置を正確に判断するために使用されます。また、アプリでバックグラウンドナビゲーションを使用している場合は、ナビゲーションにも使用されます。 ( たとえば、アプリから電話がかかってきた場合 [NMANavigationManager backgroundNavigationEnabled])

  • 質問 : このアプリで iBeacons 用のサードパーティ製 SDK を使用している場合は、 iBeacons を機能させるために背景の場所が必要であることを示すドキュメントへのリンクを提供してください。

    A: You can find SDK for iOS and its indoor positioning feature documentation at https://here-tech.skawa.fun/mobile-sdks/documentation/ios-hybrid-plus/topics/advanced-positioning.html

アプリトランスポートセキュリティ (ATS) の例外

アプリケーションで HERE Positioning 機能を使用している場合 Info.plist は、アプリケーションファイルに例外を追加する必要があります。 この例外キーを使用すると、アプリストアの送信プロセス中に追加のレビューがトリガーされます。この例外キーを含める理由を入力する必要があります。

フィーチャー Info.plist のエントリ 説明
HERE Positioning
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>here.com</key>
    <dict>
      <key>NSExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <key>NSIncludesSubdomains</key>
      <true/>
    </dict>
  </dict>
</dict>
HERE SDK は現在、屋内の無線マップを HTTP 経由でダウンロードしているため、このキーは必須です。