iPhoneアプリで、swift を使って、iTunesに入っている曲にアクセスするプログラムを作ることになりました。
↓こちらを参考にさせてもらいました。
http://nackpan.net/blog/2015/09/14/ios-swift-musicplayercontroller/
それでも、調べている時にいくつかハマったことがあります。
Info.plist にプロパティを追加しないといけない
iPhoneに入っている曲にアクセスする時は、「Pricacy Music」 の設定をしないといけないのかなと思ったら、「Privacy Media 」の追加が必要でした。
↓こちらを「Info.plist」に追加する。
Privacy - Media Library Usage Description
iOS10から、前もって設定することが必要になったみたいです。
MPMediaPickerController の関数にアンダースコア
MPMediaPickerControllerDelegate の設定をしているのに、なぜ以下の関数が呼ばれないのだろう?と思っていたら、赤色の部分の「アンダースコアを忘れていた」から。
//曲が選択された時
func mediaPicker(_ mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
・・・
}
//キャンセルされた時
func mediaPickerDidCancel(_ mediaPicker: MPMediaPickerController){
・・・
}
このアンダースコアによって、関数の外部名の指定が必要なくなるんですね。
たったこれだけのことで、ずっと悩んでいたら、半日潰れてしまった。