iOS 10以降でMediaPlayerライブラリが利用できない。
はじめに
iOS 10になりMPMusicPickerControllerを使うと、
一瞬出てくるものの、すぐ消えるため困ってしまった。
調べてみると、iOS 10より「メディアライブラリ利用目的」を
Info.plistへの記載が必須となっていた。
既存アプリをiOS 10で実行した際には、
自動でメディアライブラリへのアクセス許可ダイアログが出ていたので、
「まぁ何だかんだ、勝手に出してくれるかなー」と甘く考えてたけど
そんなことは無かったので、対応手順をメモ。
(既に許可しているアプリを上書きして利用していると、再度催促はされませんでした。)
ソース
アクセス許可の動作とInfo.plistに記載するキーに関する記事
iOS 10 tidbit: apps now must seek permission before accessing your music library(http://www.idownloadblog.com/2016/06/15/ios-10-permission-accessing-music-library/)
対応内容
環境
-Xcode Version 8.0 (8A218a)
-iPhone 6s plus(iOS 10.0.2)
手順
Info.plistに新規項目を追加し、[Privacy - Media Library Usage Description]を選択
(Key[NSAppleMusicUsageDescription]でも可)
あとはビルドして確認するだけ。簡単!
未検証部分
補足ですが、Info.plistのPrivacyの項目に下記の2つがあったが違いがあるかは未検証です。
-Privacy - Media Library Usage Description
-Privacy - Music Usage Description
ただ、Appleドキュメントを見てもKey[NSAppleMusicUsageDescription]が記載されており、上記Keyを利用した結果[Privacy - Media Library Usage Description]になるため、MediaPlayerライブラリ上では事足りるようです。
(上記の許可のみで、Musicアプリ上の音も鳴らせました。)
対象クラス
自環境で確認したクラスを記載。
-MPMediaEntity
-MPMediaItem
-MPMediaItemArtwork
-MPMediaItemCollection
-MPMediaLibrary
-MPMediaPickerController
-MPMediaPlaylist
-MPMediaQuery
-MPMusicPlayerController
おわりに
MediaPlayer周りって今まで、管理が適当だなぁと思っていたんですが
AppleMusicも本格運用ということで、音楽周りの整備が始まった印象です。
メディアライブラリアクセスの許可を取らせるということは、
アクセスが厳しくなった分、リソースに対して柔軟に利用できる機能が追加されるのでは。
と期待を抱いてます。
Author And Source
この問題について(iOS 10以降でMediaPlayerライブラリが利用できない。), 我々は、より多くの情報をここで見つけました https://qiita.com/motoshima1150/items/884d57d0b1ea14403cdc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .