tvOS is the operating system for Apple TV.

tvOS Documentation

Posts under tvOS tag

158 Posts
Sort by:
Post not yet marked as solved
1 Replies
382 Views
Hi all, I've been using a Robin ProLine Doorbell for almost 1 year now. It allows me to see a live video from my doorbell and start a live conversation with a visitor, right from the Apple Home app. Prior to the launch of Logitech Circle View Doorbell, it was the only doorbell officially supporting HomeKit Secure Video. My setup: I'm subscribed to iCloud+ (the 2TB plan), so I've set the Robin ProLine Doorbell to record video when specific motion is detected and store in iCloud. Excellent feature, and I've used it a lot. I have an Apple TV device with Doorbell Notifications enabled, meaning that is shows a Live video pop-up in the top-right corner of my TV, whenever a visitor rings the doorbell. Great feature as well. I have a few HomePod mini devices in my home, which all make a Doorbell Chime sound when a visitor rings the doorbell. And of course, my iPhone and iPad show a notification with a still photo, when a visitor rings the doorbell. Recently however, not sure since when, I‘ve been unable to see a live video from my doorbell (and start a live conversation) in the Apple Home app, right after a visitor rings the doorbell. These are the steps to reproduce the problem: A visitor rings the doorbell. My HomePod minis all make a chime sound. My Apple TV shows a pop-up notification (including a live video of the visitor). My iPhone and iPad show a notification (including a still photo of my visitor). I open the Apple Home app, on my iPhone, and open the doorbell camera. After step 5, I expect to see a live video from my doorbell and to be able to start a live conversation with my visitor. However, I always get the same error message. The Apple Home app says: „Camera not available – Wait until someone else in this home stops viewing this camera and try again.“ Note that I am the only user in my Home, so no one else is viewing my camera. Also note that the problem does not occur, if I turn off my Apple TV notifications, which includes a live video of my visitor. Therefore, I'm convinced that my Apple TV notification is this „someone else“ that I am asked to wait for, in the error message in the Apple Home app. I just spoke to Robin support about this problem and here's their reply: Hi Atli, HomeKit support for doorbells started with the requirements of two simultaneous video streams. In that time, notifications over AppleTV were not supported, recording was also not introduced. So two people could simultaneously see and talk to a person at the door. Our Robin doorbell is able to deliver two simultaneous audio/video streams in custom resolutions. We can still do that this day. Apple introduced a new feature HomeKit Secure Video after this. Enabling this feature automatically use one of these two streams. So only one is left. Recently Apple updated the AppleTV software and introduced the live video preview that is started automatically when someone rings the doorbell. If recording is also enabled, the last available video stream is used for this. To be clear, this is a design decision of Apple, not the companies creating the HomeKit doorbell. So we as hardware and software manufacturer can’t do anything to change this. So unfortunately no firmware will fix this. The fix has to come from Apple in their AppleTV HomeKit implementation. That is the reason why I asked you to talk to Apple support about this. Best Regards, So my questions are: Does the Logitech Circle View Doorbell support 3 (or more) continuous video streams; one for iCloud recording, one for Apple TV notification, and one for a Home user to speak to visitor? Who's to blame for this ***** up? Robin hardware or Apple software? How (and where) do I report this to Apple?
Posted
by abjarna.
Last updated
.
Post not yet marked as solved
0 Replies
368 Views
Ohai everyone, I am the developer of Stress Ball Breaker, a little breakout game. The three versions are compatible with game controllers, these are required on the tvOS version and remain optional on others versions. The game is available on the App Store for iOS, macOS and tvOS. On Wednesday, I have submitted an update on the App Store. The iOS and macOS versions were quickly accepted, but the tvOS version was suddenly rejected. Previous builds were accepted without any problem. The build was "out of compliance with Guideline 2.1 - Performance - App Completeness", because my app would not respond when user attempts to start game. When I'm testing it on my Apple TV and a game controller connected to it, everything works like a charm. The game controller I am using is a Nimbus Steelseries controller and is MFI-compliant. I have submitted two more builds of the tvOS version with little changes (I have made game controllers working on tvOS simulator). Both builds were rejected too. Now, I am asked to provide additional informations and to "update my plist to include the appropriate External Protocols for the associated MFi accessory. Accessories that use an External Accessory protocol [...] must complete the MFi self-certification process, under the MFi Program". I am also asked to join the MFI program, as if my app was only compatible with a custom game controller of which I would be the manufacturer! My app uses the GameController framework, which is part of the public APIs, so my app can use any Bluetooth gamepad connected to an iPhone, iPad, MacBook or Apple TV. The only thing I have to do is to check the "Extended Gamepad" option on Xcode under the "Signing and Capabilities" tab in my project settings. That's all! I don't know why my app is rejected. I have submitted an appeal, which was closed. The App Store Review requests additional information I can't provide! I don't see any other solution than to cancel my app submission and to remove the tvOS version from the App Store, because future builds will be probably rejected for the same reason. Can someone help me to solve this issue? Thanks in advance! Best regards, Frédéric
Posted
by fferet.
Last updated
.
Post not yet marked as solved
0 Replies
304 Views
We, (the registered Apple Developer, let us say Organisation X with team ID A1B2C3D4E) have two apps, let us call them A and B (bundle IDs com.organisation.project.appa and com.organisation.project.appb respectively). A has both an iOS and a tvOS version. B presently has an iOS version only. App A has Universal Search for Apple's TV app implemented and it works fine. We want to migrate our users from A to B over a few months' time with both apps being available to users. We want Universal Search to work with app B as-well and are preparing the requisite feeds for it. As per Apple's developer documentation, we must have our app ready on both iOS and tvOS. However, we would like to use app A's tvOS version on, well, tvOS, instead of developing a new tvOS extension for app B. So, if a user is on iOS, they are taken to app B when searching within Apple's TV app. But when they are on tvOS, they are taken to app A from the TV app search results. If we update our feeds such that the iOS deeplinks point to app B and tvOS deeplinks point to app A, would this approach work, as-in, will Apple allow this? Another question is that is the assumption that 'in this situation (two apps from one developer working in unison for Universal Search functionality) we will need to have a single feed as it seems to be mapped to the team ID and not the app', correct?
Posted Last updated
.
Post marked as solved
2 Replies
2.1k Views
I submitted a TSI related to my app's Apple TV support last Wednesday. How long can I expect it to take for Apple to get back to me with a response?
Posted
by jpdev001.
Last updated
.
Post not yet marked as solved
2 Replies
596 Views
Hi, I've been experimenting for a while now with keychain sharing using an app group. It works really fine between iOS apps. The iOS apps are synchronized really well using app groups and the data can be read and written on any app in the group. Now I try to include a TvOS app in the same group, hoping to be able to read/write on the same keychain items accessible on the iOS apps. It turns out the TvOS app fails to see any item, even if it's in the same app group. I wonder now if it's supposed to work using an app group, or using a keychain group, or another mechanism. Anyone had any luck sharing keychain item between iOS and TvOS?
Posted
by RadioCan.
Last updated
.
Post not yet marked as solved
6 Replies
1.8k Views
I've setup keychain and got it syncing to two different iOS devices, both logged in with the same apple id, now when I try to access it on an tvOS app I can't. any help would be greatly appreciated.I'm using https://github.com/kishikawakatsumi/UICKeyChainStoreas a wrapper at the moment so not sure if something has changed between iOS 9 and tvOS 9?
Posted
by iOSAaron.
Last updated
.
Post not yet marked as solved
0 Replies
156 Views
I wan't to use local UDP server. when i use apple tv simulation device has no problem,but occur err ' listen udp :53: bind: address already in use. ' with real device. Is there a way to close or change the other local DNS service?
Posted
by zhg115.
Last updated
.
Post not yet marked as solved
0 Replies
252 Views
I am developing a tvOS application and I wanted to use a view like split-screen of course I need focus management in it. I've seen a video from WWDC and my research that this can be done with the prefersDefaultFocus(_:in:)modifier. I even made a little demo. While it works fine if TabView is not used on the screen, prefersDefaultFocus(_:in:) does not work when TabView is added. Have any of you encountered this situation? How can it be overcome? Here is my code sample, you can test both cases; @main struct MyApp: App { var body: some Scene { WindowGroup { //ContentView() ContentWithTabView() } } } struct ContentView: View { @Environment(\.resetFocus) var resetFocus @Namespace private var namespace var body: some View { HStack(spacing: 100) { Group { VStack { Button ("1") {} .prefersDefaultFocus(in: namespace) Button ("2") {} Button ("3") {} }} Group{ VStack { Button ("1") {} Button ("2") {} Button ("3") {} Button ("Reset to default focus") { resetFocus(in: namespace) } } } } .focusScope(namespace) } } struct ContentWithTabView: View { var body: some View { NavigationView { TabView { ContentView() .tabItem { Image(systemName: "house.fill") Text("Home") } ContentView() .tabItem { Image(systemName: "house.fill") Text("Home") } } } } }
Posted Last updated
.
Post not yet marked as solved
1 Replies
547 Views
A very welcome addition would be Dolby Atmos compatibility... and, if hardware capable, HD audio (and DSD).Thank you!
Posted
by rubento.
Last updated
.
Post not yet marked as solved
0 Replies
286 Views
Hello, every time I run my tvOS app there is a message in the console: [APPNAME] buildPluginList:872: *** ERROR: failed to load 'RawCamera' bundle: 'dlopen(/System/Library/CoreServices/RawCamera.bundle/RawCamera, 0x0101): tried: '/Users/aridea/Library/Developer/Xcode/DerivedData/APPNAME-blgkajfaodntqofyapsedvglgjjp/Build/Products/Debug-appletvsimulator/RawCamera' (no such file), '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection/RawCamera' (no such file), '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/CoreServices/RawCamera.bundle/RawCamera' (no such file), '/System/Library/CoreServices/RawCamera.bundle/RawCamera' (no such file), '/usr/lib/RawCamera' (no such file)' what is causing this error?
Posted
by aridea.
Last updated
.
Post marked as solved
2 Replies
468 Views
I'm attempting to develop an enterprise AppleTV app, but the organization uses their own in-house certificate authority for HTTPS communication (their root certificate is used to sign second-level certificates used by various web services with which this app would communicate). Their AppleTV hardware devices already receive and trust the root certificate as part of their MDM payload, so physical devices don't have an issue communicating those with web services. While developing in the AppleTV Simulator, however, I encounter an invalid certificate error because my Simulator doesn't have that root certificate. I have a copy of the certificate on hand, but can't figure out how to get it into the AppleTV Simulator. I've followed the instructions here (under the "tvOS Device and Simulator" heading), but they don't work for tvOS 15.2: https://developer.apple.com/library/archive/qa/qa1948/_index.html If I navigate the AppleTV Simulator to Settings > General > About, there is no Certificate Trust Settings option -- just Name, Model, Serial Number, OS version, resolution, and networking information. Similarly, when I navigate to Settings > General > Privacy and select Share Apple TV Analytics, pressing or holding the Play/Pause button (on the virtual AppleTV remote) does not bring up an Add Profile view. What is the current way to add a custom root certificate to the AppleTV 15.2 Simulator, and can the docs be updated to reflect the new steps?
Posted Last updated
.
Post not yet marked as solved
0 Replies
455 Views
Hey, I paired an Apple TV 4K with my Mac Pro. From Xcode, I tried running the test directly on the device, the test executes. When I try to trigger the same test through command line, it fails with xcodebuild: error: Unable to find a destination matching the provided destination specifier The test works fine for an Apple TV and only fails for Apple TV 4K. I have added the command and complete output in the file attached below log.txt Here are a few additional questions apart from the test not running through command line What is "Transient Testing Scheme", and how can this be refreshed or deleted? Basically, it shows many other devices as well which are connected to Xcode currently but were connected in the past. Why is this happening only for Apple TV 4K? When I execute the test through GUI, it passes. Is there a way to know which command X code is running behind the scenes?
Posted
by prakhg.
Last updated
.
Post not yet marked as solved
3 Replies
1.3k Views
I'm really struggling to get a reliable connection to my Apple TV4 from Xcode. Using these steps: https://support.apple.com/en-us/HT208088 When it works, it's beautiful. But when I make a couple of changes to the code and redeploy the Apple TV goes black (was formally running our app), and Xcode tells me to connect the Apple TV. Occasionally I get a message saying "This device has been ignored in the devices panel", which isn't as helpful as it sounds. Checking the Devices and Simulators menu, I can see it's disconnected. I have tried the following: Restarting the Apple TV Restarting Xcode Unpairing the Mac from the Apple TV Confirmed all devices are on the exact same wifi (e.g. not a 2.4g one) When I run through the steps to connect again it just fails quietly in the Devices and Simulators, stays in the "Discovered" section, and only asks me to "pair". It has no problem interacting with the Apple TV to prompt it for a 6 digit code. Any advice would be greatly appreciated.
Posted Last updated
.
Post not yet marked as solved
0 Replies
419 Views
I want implement a UI in tvOS. The hierarchy is like this: App -> Tab Bar -> <Home, Search, Settings> When I'm in Home and want to play a VOD, I want to hide tab bar (top menu) so the video is playing without overlay. Using .isHidden on TabView result in hiding eveything because of the hierarchy. Using .focused also do nothing. How to achieve it?
Posted
by ghararym.
Last updated
.
Post marked as solved
2 Replies
887 Views
I have in my project different code which is responsible for the blur effect in my app. In tvOS 13 this worked fine but in tvOS 14 I have to remove the code otherwise the app will crash. What exactly do I have to change in the code to make it run on tvOS 14. Thanks for the help. private func sharedSetup(effect: UIBlurEffect, radius: CGFloat = 90) {&#9;&#9;&#9; let UICustomBlurEffect = NSClassFromString("_UICustomBlurEffect") as! UIBlurEffect.Type let raw = effect.value(forKey: "_style") as! Int let style = UIBlurEffect.Style(rawValue: raw)! let effect = UICustomBlurEffect.init(style: style)&#9;&#9;&#9;&#9;&#9;&#9; effect.setValue(1.0, forKey: "scale")&#9;&#9; effect.setValue(radius, forKey: "blurRadius")&#9;&#9;&#9; effect.setValue(UIColor.clear, forKey: "colorTint") self.blurEffect = effect&#9; }
Posted
by janapple.
Last updated
.
Post not yet marked as solved
1 Replies
341 Views
Now I'm developing a tvOS app including audio playback feature,and I have prepared pressesBegan method for receiving Play/Pause button in my ViewController.The method is called on the simulator, but I found that there is a case when the method is not called on Apple TV.Simulator: always OKApple TV: When audio playback is paused: OKWhen audio is being played: NGDoes anyone know about the above behavior and workaround ?
Posted
by bismark.
Last updated
.
Post not yet marked as solved
38 Replies
14k Views
tvOS14 has no option to choose an output source so No Airplay to homepods. Has the Option moved or been removed from this version? I see nothing about it in the release notes
Posted
by pacman.
Last updated
.
Post not yet marked as solved
1 Replies
220 Views
While playing apple music playlist on apple tv, there is no sound output for random songs in the playlist. Lyrics just scrolls without audio. Occurs more frequently, even with latest TV OS update.
Posted Last updated
.
Post marked as solved
2 Replies
305 Views
I am done with my tvOS app. But I don't have physical Apple TV. However, it is necessary if I want to distribute my app. Currently, Apple TV has already sold out in my country. Can anybody borrow the UDID of Apple TV? 😅
Posted
by matovsky.
Last updated
.
Post not yet marked as solved
2 Replies
335 Views
I have a game with SpriteKit for iPhone, iPad and Mac. I am gonna make for Apple TV. But I take it override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { doesn't work for tvOS. Then what I am supposed to use to make my buttons selectable and I can press ones?
Posted
by matovsky.
Last updated
.