I have a multi-platform app for iOS, and Mac Catalyst. I'm trying to include Apple TV, but it says No such module 'CarPlay' when I try to build.
Since Apple TV is not a Target, how can I exclude the CarPlay stuff from the Apple TV ?
import CarPlay
class CarPlaySceneDelegate: UIResponder, CPTemplateApplicationSceneDelegate {
var interfaceController: CPInterfaceController?
func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController) {
self.interfaceController = interfaceController
let nowPlaying = CPNowPlayingTemplate.shared
self.interfaceController?.setRootTemplate(nowPlaying, animated: true, completion: {_, _ in })
}
private func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didDisconnect interfaceController: CPInterfaceController) {
self.interfaceController = nil
}
}
tvOS is a separate operating system and Swift support conditional compilation based on the targeted OS, so you can declare your code that uses
CarPlayto only be available when not targetingtvOS.You could also use
#if canImport(CarPlay)instead.