我想在启动后在初始屏幕上列出并显示媒体库的歌曲。
当我第一次启动时,会弹出一个访问媒体库的权限。并且没有加载媒体库的歌曲。
一旦退出应用程序并再次打开它,我就可以毫无问题地显示媒体库的歌曲。
如何在第一次启动时加载它?
应用委托;
let realm:Realm
var library:[MPMediaItem]
override init() {
realm = try! Realm()
let query = MPMediaQuery.songs()
guard let items = query.items else {
self.library = []
print("No song loaded")
return
}
self.library = items
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let userSongs = realm.objects(UserSong.self)
if userSongs.count == 0 {
setLibrary()
}
}
func setLibrary() {
let request = GetLibraryRequest(library: library)
let songs = try! request.response()
for song in songs {
try! self.realm.write {
self.realm.add(song)
}
}
}