アプリニーツ

アプリ開発の備忘録とか制作日記とか。

2016年09月

今まで通りにアップロードはできます。
しかし、以下の理由でビルドが無効になりました。

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSAppleMusicUsageDescription key with a string value explaining to the user how the app uses this data. 

これは、XCODE8から【パーミッションを使う際に利用用途を書く】必要があるからです。

一部はAdMobで使われていました。
AdMobの見解は以下の通り。


Hello iOS developers,


If you’ve attempted to update your apps for iOS 10 in iTunes connect right now, you’ll see the following errors:


This app attempts to access privacy-sensitive data without a usage description. The

app's Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data.


This app attempts to access privacy-sensitive data without a usage description. The

app's Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data.


To work around these errors, please add the following keys and descriptions to your app’s Info.plist to be compliant with the App Store’s privacy policy:


usage_description.png


<key>NSCalendarsUsageDescription</key>

<string>Advertisement would like to create a calendar event.</string>

<key>NSPhotoLibraryUsageDescription</key>

<string>Advertisement would like to store a photo.</string>

<key>NSBluetoothPeripheralUsageDescription</key>

<string>Advertisement would like to use bluetooth.</string>


The photo library usage description is important too. It’s not currently flagged by iTunes Connect, but is used by the SDK for MRAID v2 creatives. If you don’t include it, your app will crash on iOS 10 devices if an MRAID ad uses photo library features.


We are also planning an SDK update early next week to remove the NSBluetoothPeripheralUsageDescription requirement. It will also guard against the MRAID photo library crash in the event that you forget to add NSPhotoLibraryUsageDescription to your Info.plist.

Thanks, 


 今までまったく気づかなかったが、
AdMobはカレンダー、写真ライブラリ、ブルートゥースを使用していたらしい。
一時的なものですが、上記のような対応をしましょう。

(使用目的はユーザーに向けた文面だが、審査で見るのかは不明)

カメラはNSCameraUsageDescription
メディアはNSAppleMusicUsageDescription(プロパティリストではMedia Library Usage~)



追記:
・確認したところ、AdMobは写真ライブラリではなくカメラを使用していた
→カレンダー、ブルートゥース、カメラを使用している
 
・広告に使用しますとだけ書いて審査に出しても通りました。

UltimateMobileのiOS Nativeの設定で使わないもののチェックを外す
→AppleMusicAPIは消える

【MediaPlayer.framework】、【StoreKit.framework】を使用するとき、
AppleMusicAPIを使用しているという扱いになる。

AdMob広告を入れる際、この2つを利用している。

一度4.5.2でリジェクトされ、
AdMobのインターステイシャルで使っている旨を記載し、
アプリを再申請したら以下の通り。

Hello,
Thank you for re-submitting the app. 

Upon further review, we have determined that the previous issue(s) have not been resolved yet. 

Design - 4.5.2


Your apps uses the Apple Music API but does not display or appropriately use standard media controls such as "play", "pause", and "skip." Specifically.

Next Steps

Please revise your app to implement standard media playback controls for Apple Music content. 

そして現在AdMobに問い合わせ中。

MediaPlayer.frameworkはUnityのデフォルトで追加されているし、
StoreKit.frameworkを使用していない広告を使うしかないのだろうか。 


MediaPlayerを外して申請してみた。
どうなるだろうか・・  →変わらずAPIを使用している扱い
StoreKitを外してみる→ 
変わらずAPIを使用している扱い
frameworkは関係なかった じゃぁ何で使っているのだろう・・・ 

①メディエーションをする広告会社のSDKを導入し、広告が出ることを確認
②https://firebase.google.com/docs/admob/android/mediation-networks#supported-ad-networks
 このページから導入する広告会社のアダプタを入手
③Plugin下のAndroid(.jar)とiOS(.a)に放り投げこむ
※iOSのみ
XCODEでBuild Setting > Linking > Other Linker Flagsに”-ObjC”と追加
(Editorの編集で追加できる?)
おしまい。

.NET 2.0 Subsetから.NET 2.0へ変更

↑このページのトップヘ