Ok, peut-être je raté quelque chose ici. Je veux utiliser la télécommande noire avec mon application et j'ai obtenu ce code essentiellement de la conférence WWDC 2017 sur le sujet. Il dit ...Obtenir MPRemoteCommandCenter.shared() pour travailler dans tvOS
Un contrôle cohérent et intuitif de la lecture des médias est la clé de nombreuses applications sur tvOS, et l'utilisation et la configuration appropriées de MPNowPlayingInfoCenter et de MPRemoteCommandCenter sont essentielles pour offrir une expérience utilisateur exceptionnelle. Plongez plus profondément dans ces cadres et apprenez à vous assurer une expérience fluide, que votre application soit contrôlée à l'aide de Siri, de la télécommande Siri ou de l'application iOS Remote.
J'ai donc ajouté ces lignes à viewDidLoad
de mon application tvOS et bien ils ne font rien fondamentalement?
var commandCenter = MPRemoteCommandCenter.shared()
override func viewDidLoad() {
super.viewDidLoad()
commandCenter.playCommand.isEnabled = true
commandCenter.pauseCommand.isEnabled = true
commandCenter.playCommand.addTarget { (commandEvent) -> MPRemoteCommandHandlerStatus in
print("You Pressed play")
return .success
}
commandCenter.pauseCommand.addTarget { (commandEvent) -> MPRemoteCommandHandlerStatus in
print("You Pressed pause")
return .success
}
}
je lance l'application, et essayer le bouton lecture/pause de la télécommande noire et rien est imprimé à la console de débogage? Aussi ajouté du code le plist lié au mode d'arrière-plan ... Est-ce que ce travail ou ai-je manqué le point ici quelque part?
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>external-accessory</string>
</array>
Ce pas l'impression que je suis arrivé à regarder la séance WWDC 251, qui dit « un contrôle cohérent et intuitif des médias La lecture est la clé de nombreuses applications sur tvOS, que votre application soit contrôlée à l'aide de Siri, de la télécommande Siri ou de l'application iOS Remote "...? – user3069232
La cohérence est bonne et souhaitable, et pour obtenir cette cohérence, vous devrez implémenter plus d'une API. Le MPRemoteCommandCenter est juste une partie de l'ensemble: c'est spécifiquement pour recevoir des commandes qui ne peuvent pas être capturées par UIGestureRecognizer ou d'autres interactions "normales" dans l'application. Vous voudrez implémenter les deux manières d'accepter les commandes. –