import MediaPlayer ... override func viewDidLoad() { super.viewDidLoad() let player = MPMusicPlayerController.systemMusicPlayer player.setQueue(with: MPMediaQuery.songs()) player.play() }
これで音楽が再生できたんだけど、再生開始した瞬間にアプリがクラッシュした。どうやら権限が足りていないようだ。
端末の音楽情報を参照するには Info.plist に privacy を書かねばならない。
<key>NSAppleMusicUsageDescription</key> <string>Reference music information to play music.</string>
こんな感じで NSAppleMusicUsageDescription
に対してアクセスしたい理由を書けば OK。
(PropertyList で見る場合は Privacy - Media Library Usage Description
になっている。)
参考: ios - App crashes when running on iPhone with violations as exception - Stack Overflow