gpt4 book ai didi

ios - 如何让程序在后台运行?

转载 作者:行者123 更新时间:2023-11-28 13:00:18 25 4
gpt4 key购买 nike

我有一个程序可以录制当前正在播放的歌曲,但我希望该应用程序在后台运行,因此当用户在其他应用程序中或设备被锁定且我的应用程序处于后台时,他们去下一首歌,程序会知道。目前,我可以获取当前正在播放的歌曲,并在应用程序打开时将其放入解析中。

     func applicationDidEnterBackground(application: UIApplication) {
print("entered background")
NSNotificationCenter.defaultCenter().addObserver(self, selector: "getNowPlayingItem", name: MPMusicPlayerControllerNowPlayingItemDidChangeNotification, object: nil)
musicPlayer.beginGeneratingPlaybackNotifications()
}

func getNowPlayingItem() {
if let nowPlaying = musicPlayer.nowPlayingItem {
let title = nowPlaying[MPMediaItemPropertyTitle] as? String
let artisttest = nowPlaying[MPMediaItemPropertyTitle]
if let artist = nowPlaying[MPMediaItemPropertyArtist] as? String{

let objectPointer = PFObject(className: "Pointer")
let object = PFObject(className: "MasterSongs")

// print("Artist: " + artist)


let query = PFQuery(className: "Pointer")
query.findObjectsInBackgroundWithBlock({
(objects: [AnyObject]?, error: NSError?) -> Void in
var objectIDs = objects as! [PFObject]

for i in 0...objectIDs.count-1{
self.Parsearray.append((objectIDs[i].valueForKey("title") as? String)!)

// print(self.Parsearray)
}


if self.Parsearray.contains(title!){
print("already in db")
}else{
objectPointer["title"] = title
objectPointer["user"] = PFUser.currentUser()
objectPointer["artist"] = artist
objectPointer.saveInBackground()


}

})




}else{
let object = PFObject(className: "MasterSongs")
object.setObject(title!, forKey: "title")
//object.setObject(artist!, forKey: "artist")
object.saveInBackground()

let objectPointer = PFObject(className: "Pointer")


let query = PFQuery(className: "Pointer")
query.findObjectsInBackgroundWithBlock({
(objects: [AnyObject]?, error: NSError?) -> Void in
var objectIDs = objects as! [PFObject]

for i in 0...objectIDs.count-1{
self.Parsearray.append((objectIDs[i].valueForKey("title") as? String)!)

// print(self.Parsearray)
}


if self.Parsearray.contains(title!){
print("already in db")
}else{
objectPointer["title"] = title
objectPointer["user"] = PFUser.currentUser()
objectPointer["artist"] = "No artist found :("
objectPointer.saveInBackground()


}

})





}


}


}

最佳答案

Apple 支持一些后台模式。如果您使用任何 Apple 框架进行音频播放,请选择您的 App 目标并进入 Capabilites 选项并启用后台模式并选择适当的选项。

检查屏幕截图。 enter image description here

关于ios - 如何让程序在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34035387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com