tvOS is the operating system for Apple TV.

tvOS Documentation

Posts under tvOS tag

122 Posts
Sort by:
Post marked as solved
6 Replies
3.9k Views
I put a supervised Apple TV in sigle app mode. Things were working fine until I unplugged the device from power.After replugging power, the designated app restarted correctly, but the Apple TV lost its pairing with the Mac I previously used for the configuration and there is not way to make it visible again. Choosing paired devices from the Apple Configurator 2 won't show anything.Even unplugging or trying a reset via remote (menu+home for 6 seconds) won't improve the situation: the Apple TV just restarts with the designated app and won't show up among paired devices.Even Xcode won't show the Apple TV among connected devices.Is there any way to exit from this ? Is there a way to force disable single app mode ? (so to at least gain access to Apple TV's settings menu)
Posted
by
Post not yet marked as solved
8 Replies
5.3k Views
Hello, Me and my team is currently having problems with a tvOS app we are trying to submit for review. Every time we upload a binary to App Store Connect we get back the following mail While processing your tvOS app, errors occurred in the app thinning process, and your app couldn’t be thinned. If your app contains bitcode, bitcode processing may have failed. Because of these errors, this build of your app will not be able to be submitted for review or placed on the App Store. For information that may help resolve this issue, see Tech Note 2432. Best regards,The App Store Team We have tried to follow the troubleshooting proposed in the Tech Note 2432 and exporting for Ad Hoc worked only when using Xcode 11.6 and not Xcode 12, and nothing else we tried with Xcode 12 worked. All of this leads me to believe that there is something on apple side that might cause problems with the binary uploaded. Does anyone have any information on this?
Posted
by
Post not yet marked as solved
1 Replies
1k Views
Due to legal restrictions I need to prevent my app's users from skipping and fast-forwarding the content that is played by AVPlayerViewController. I use playerViewController(:willResumePlaybackAfterUserNavigatedFrom:to:) and playerViewController(:timeToSeekAfterUserNavigatedFrom:to:) delegate methods to control the skipping behaviour. However, those delegate methods are only triggered for skip +/- 10, but not for fast-forwarding/rewinding.  Is there a way to prevent fast-forwarding in addition to skipping in AVPlayerViewController? Here is an example of the code I use: class ViewController: UIViewController {   override func viewDidAppear(_ animated: Bool) {     super.viewDidAppear(animated)     setUpPlayerViewController()   }   private func setUpPlayerViewController() {     let playerViewController = AVPlayerViewController()     playerViewController.delegate = self guard let url = URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8") else {       debugPrint("URL is not found")       return     }     let playerItem = AVPlayerItem(url: url)     let player = AVPlayer(playerItem: playerItem)     playerViewController.player = player     present(playerViewController, animated: true) {       playerViewController.player?.play()     }   } } extension ViewController: AVPlayerViewControllerDelegate {   public func playerViewController(_ playerViewController: AVPlayerViewController, willResumePlaybackAfterUserNavigatedFrom oldTime: CMTime, to targetTime: CMTime) { // Triggered on skip +/- 10, but not on fast-forwarding/rewinding     print("playerViewController(_:willResumePlaybackAfterUserNavigatedFrom:to:)")   }   public func playerViewController(_ playerViewController: AVPlayerViewController, timeToSeekAfterUserNavigatedFrom oldTime: CMTime, to targetTime: CMTime) -> CMTime {     // Triggered on skip +/- 10, but not on fast-forwarding/rewinding     print("playerViewController(_:timeToSeekAfterUserNavigatedFrom:to:)")     return targetTime   } }
Posted
by
Post not yet marked as solved
2 Replies
1.2k Views
I made a minor change the UI of my tvOS App, and am now getting errors related to the App Icon. I have confirmed that all the background images DO match the requirements but App Store Connect won't let me upload: App Store Connect Operation Error Invalid Image Asset. The image stack 'App Icon' in 'Payload/My TV.app/Assets.car' has a background layer image that does not match the canvas dimensions '400x240'. App Store Connect Operation Error Invalid Image Asset. The image stack 'App Icon' in 'Payload/My TV.app/Assets.car' has a background layer image that does not match the canvas dimensions '800x480'. App Store Connect Operation Error Invalid Image Asset. The image stack 'App Icon' in 'Payload/My TV.app/Assets.car' has a background layer image that does not match the canvas dimensions '1280x768'. App Store Connect Operation Error Invalid Image Asset. The image stack 'App Icon' in 'Payload/My TV.app/Assets.car' has a background layer image that does not match the canvas dimensions '2560x1536'. App Store Connect Operation Error Invalid Image Asset. The App Store Icon must only contain an image with size (1280pt × 768pt @1x). Refer to https://developer.apple.com/tvos/human-interface-guidelines/icons-and-images/app-icon for more information Have the standards changed? Or is there another issue I should be looking at? Thanks!
Posted
by
Post not yet marked as solved
11 Replies
6.5k Views
Clicking pair shows a code on the Apple TV. Entering that code displays a progress wheel saying “setting up Apple TV” then instead of the Apple TV being setup “PAIR”shows again allowing you to do the setup over and over without being able to use the Apple TV for development. The device loops on the registration process never allowing it to actually be prepared. This happens on all 4 of my Apple TV 4K Second Generations. I have filed a bug with the feedback assistant. I’m just wondering did anyone find a way to successfully pair / or fix this problem. Without this developing for this platform is nearly impossible. Since the Apple TV’s don’t have a port for direct connection. I don’t want to factory reset all 4 of my Apple TV’s that all do the same thing. I honestly don’t think that will fix them. This is the exact process I did: Go to window on Xcode menu bar Click devices and simulators Go to Remote App and Devices on Apple TV & select it In the discovered tap area click my Apple TV Select Pair Enter code being displayed on Apple TV Wait for device to be available for development Device doesn't display as registered and allows you to do the process over & over
Posted
by
Post not yet marked as solved
3 Replies
1.7k Views
As you can see in this open source repository, I am trying to test out the code provided when you download the Apple sample "Building a custom peer-to-peer protocol" I bought a new Apple TV in order to work with this. But I have had so many issues! First I realized that the functionality is only available from WatchOS 9 or greater, but my Apple Watch 3 won't update to WatchOS 9. Then I got another watch, but it had to be updated. Then had to turn on the Developer Mode and then I was having a issues where it kept saying that the phone & watch needed to be unlocked, over and over -.-. Then finally after building the app on the watch from my computer using Xcode (latest), the problem I am now having is that the app on the AppleTV only detects the phones in the network, and not this new Apple Watch. -,- So now I just have a bunch of new technology that is doing nothing I have read through so many tutorials but can't tell why it doesn't detect it. It seems like the DDDevicePickerViewController is not returning the watch. The other question I have is, can I use the Network Framework to connect to multiple devices at the same time? (Think Texas hold em poker on Apple TV but with cards on each player's phone)
Posted
by
Post not yet marked as solved
1 Replies
1.6k Views
I am getting a periodic error message appearing on my iPhone 14 Pro Max. It pops up occasionally on the Home or Lock screens, and says: AirPlay Unable to connect to "Living Room". Where "Living Room" is presumed to be my 2021 Apple TV 4K. (My HomePod minis are also designated as part of the "Living Room" group.) When this happens, I am not trying to AirPlay to anything, and the Apple TV 4K is off. The streaming box is connected to a Sony Bravia X90J TV which has AirPlay capabilities; it's also off. In my iPhone settings (iOS 16.1.2), I have turned off "Automatically AirPlay to TVs", but that has not fixed the problem. I am running the latest consumer beta of tvOS on the Apple TV 4K, so this may be a bug related to that OS. However, before I report it as such, since it appears on the iPhone, I wanted to check first to see if it's a known iOS issue vs. a problem with 16.2 beta. Thanks.
Posted
by
Post not yet marked as solved
1 Replies
850 Views
https://learn.microsoft.com/en-us/answers/questions/320776/how-to-override-the-audio-track-details-underneath.html Audio/subtitles #EXT-X-MEDIA:NAME="eng-300",TYPE=AUDIO,LANGUAGE="eng”,GROUP-ID="audio",CODECS="mp4a.40.2",DEFAULT=YES,AUTOSELECT=YES,URI="300/2043--profile--4.3.m3u8" #EXT-X-MEDIA:NAME=“eng-500",TYPE=AUDIO,LANGUAGE=“eng”,GROUP-ID="audio",CODECS="mp4a.40.2",DEFAULT=NO,AUTOSELECT=YES,URI="500/2043--profile--4.3.m3u8" Currently we are getting English, English are audio track names Requirement’s : We should show like English(Dolby) , English(Stereo) please provide suggestions will be helpful to us 1.Since we are using TVOS native AvPlayer so customisation was not possible
Posted
by
Post not yet marked as solved
2 Replies
1.2k Views
Has anyone been able to use NavigationSplitView in tvOS? I tried building something dead-simple like the example on https://developer.apple.com/documentation/swiftui/navigationsplitview and it just doesn't work on tvOS. It shows the list of entries, but none of them seem to highlight (although I can hear sounds as if the focus is changing), and clicking the button to select them does nothing. If I start with a default selection, it starts by showing the detail, and the menu button will take me to the list, but again focus appears and nothing can be selected (other than the bloop sounds that hint the focus is changing).
Posted
by
Post not yet marked as solved
1 Replies
775 Views
Hi, Is there a recommended. way to receive and respond (perhaps conditionally) to buttons pressed on the Siri Remote in a SwiftUI tvOS app. Thanks, Daniel
Posted
by
Post marked as solved
1 Replies
636 Views
UserNotifications framework helps the app to handle all notification related aspects. The userNotificationCenter(_:didReceive:withCompletionHandler:) delegate method is used to handle user's action (dismiss, selected button, tap, text input etc.). As evident from the documentation, this method is available in iOS and iPadOS but not tvOS. The @available attribute is one way to exclude methods. @available(iOS 10.0, *) func userNotificationCenter (_ pNotificationCenter: UNUserNotificationCenter, didReceive pResponse: UNNotificationResponse, withCompletionHandler pCompletionHandler: @escaping () -> Void) -> Void { // Handle user's action on a notification. ... } When the delegate method is declared as above, I expect it to be included only for iPadOS and iOS. When building for tvOS, I get the following error: error: 'UNNotificationResponse' is unavailable in tvOS error: cannot override 'userNotificationCenter' which has been marked unavailable Clearly, it is included for tvOS also. Another approach is using #if os(iOS) and it does work... I don't get the above errors, meaning the code is not included for tvOS. But I want to understand how to achieve this using @available attribute because I have other situations where I need to exclude methods for certain versions of the same OS. How do I exclude userNotificationCenter(_:didReceive:withCompletionHandler:) for tvOS using @available attribute?
Posted
by
Post not yet marked as solved
2 Replies
902 Views
I'm trying to add a brand logo to a SwiftUI tvOS interface. The main UI is a TabView. Focus works fine until I try to add a ToolbarItem. Once I do that it seems to steal focus and my TabView becomes unusable. Here's a simple example that demonstrates the problem: struct TestView: View { var body: some View { NavigationView { TabView { Text("Screen One") .tabItem({ Text("One") }) Text("Screen Two") .tabItem({ Text("Two") }) Text("Screen Three") .tabItem({ Text("Three") }) } .toolbar { ToolbarItem(placement: .navigationBarLeading) { Image(systemName: "house.fill") } } } } } How can I keep focus from getting messed up? Should I not be using the toolbar to add the logo? It looks like just adding toolbar causes a UINavigationBar to be drawn on top of the tab bar, which is why it isn't getting focus. Still not sure how to fix it though...
Posted
by
Post not yet marked as solved
0 Replies
374 Views
We are developing a TV app using Swift UI on tvOS14.0. While exploring the available features, we noticed that tvOS15.0 offers several focus-related functionalities such as @focusState, focusSection, focusable, focusable with equal, among others. However, we are unable to find these features in tvOS14.0. Our concern is whether we can develop a fully functional, focus-supported app on tvOS14.0 without access to these functions. We would appreciate if you could suggest any viable alternatives to achieve the same functionality in tvOS14.0. https://developer.apple.com/documentation/swiftui/focusstate https://developer.apple.com/documentation/swiftui/view/focusable(_:) https://developer.apple.com/documentation/swiftui/view/focused(_:equals:) https://developer.apple.com/documentation/swiftui/list/focussection()
Posted
by
Post not yet marked as solved
2 Replies
870 Views
Hello, I am trying do a playback test with content stitched together in a HLS manifest using the #EXT-X-DISCONTINUITY tag. Im testing on the AppleTV 4k with the VLC player and a hlsjs player with Safari on my MacOS (https://players.akamai.com/players/hlsjs) I get playback issues when my player hits the first discontinuity section in both players. And im not sure how to further debug the issue. The VLC player just exits, the hlsjs player stops playback. I don't get any errors in the javascript console. The hlsjs player does display stats beside the player. The only hint I get is segment length is 5s up until it stops, then it says No segment length found. I've created a stack overflow post with more details here: https://stackoverflow.com/questions/76285834/hls-discontinuity-manifest-playback-issues-hevc-fragmented-mp4s I was able to get the same test working with h264 encodes and mpeg-ts video files. Does anyone have working examples of a discontinuity manifest with HEVC encodes and fragmented mp4s?
Posted
by
Post marked as solved
3 Replies
1.2k Views
When starting a new TVOS project and try to import AVKit it says no such module available. I added them on Frameworks, Libraries and Content - still nothing. Double checked if they are in BuildPhases - Link Binary with LibrariesBuild Phases Cleaned build folder and Derived Data. Nothing Worked. According to Apple's documentation it is supposed to be available for TVOS, but i simply cannot get it to be available. When I start a new multiplatform or iOS project it is possible to import it, just not for TVOS, don't know what to do.Didn't have to add any framework manually, simply worked. No issues when starting a new ios project Project settings iOS. What's going on here?
Posted
by
Post not yet marked as solved
0 Replies
555 Views
I am trying to save access token with in the application registry and getting saved success fully, but after rebooting the device and coming back to the device registry is getting cleared and user is taken back to the authentication page. if let accessToken = self.userAuthData?.tokens?.accessToken?.token{ UserDefaults.apiToken = accessToken } if let accessToken = self.userAuthData?.tokens?.refreshToken?.token{ UserDefaults.refreshToken = accessToken }
Posted
by
Post not yet marked as solved
0 Replies
808 Views
I am trying to save access token with in the application registry and getting saved success fully, but after rebooting the device and coming back to the device registry is getting cleared and user is taken back to the authentication page. UserDefaults.standard.set(accessToken, forKey: "apiToken") UserDefaults.standard.synchronize() let apiToken = UserDefaults.standard.value(forKey: "apiToken")
Posted
by
Post not yet marked as solved
9 Replies
3.6k Views
I am unable to install tvOS 17 beta 1. I have beta update on for tvOS 17 developer beta but when I try to install it, it looks like it’s installing but when the process it complete the Apple tv is still on 16.5. I have an Apple TV 4K from 2021
Posted
by