Apple Seeds Fourth Beta of tvOS 17 to Developers

Apple today seeded the fourth beta of an upcoming tvOS 17 beta to developers for testing purposes, with the update coming two weeks after Apple introduced the third beta.

apple tv 4k yellow bg feature
Registered developers are able to download the tvOS 17 update by opting in to the beta through the Settings app on the Apple TV. A registered developer account is required.

tvOS updates don't typically garner as much attention as updates to iOS and macOS, and are never as feature rich, but tvOS 17 brings FaceTime to the TV for the first time. The ‌Apple TV‌ 4K can connect to an iPhone or iPad that serves as the camera, with the ‌FaceTime‌ interface showing up on the TV's screen.

All of the ‌FaceTime‌ features are available, including Center Stage to keep you front and center, plus there are new gesture-based reactions that let you use your hands to generate on-screen effects. For example, if you make a heart with your hands, the screen will display hearts.

Split View for ‌Apple TV‌ lets users watch television with friends and family using SharePlay, and there are controls for transferring calls between the TV and an ‌iPhone‌ or ‌iPad‌ as needed. Third-party apps like Zoom will also be able to take advantage of this functionality, so those apps will also work on the TV screen.

Control Center on ‌Apple TV‌ has been revamped and it is easier for users to access key settings and information, plus there is a new feature that allows the ‌iPhone‌ to locate a Siri Remote that's been misplaced.

tvOS also features a range of new aerial screen savers, adds support for third-party VPN apps, introduces Dolby Vision 8.1 on compatible devices, and more. Details can be found in our Apple TV roundup.

Related Roundup: Apple TV
Buyer's Guide: Apple TV (Don't Buy)

Popular Stories

Generic iOS 18

Apple Seeds Second Release Candidate Versions of iOS 18.2 and More With Genmoji, Image Playground and ChatGPT Integration

Monday December 9, 2024 10:06 am PST by
Apple today seeded the second release candidate versions of upcoming iOS 18.2, iPadOS 18.2, and macOS 15.2 updates to developers and public beta testers for testing purposes, a week after releasing the first RCs. The first iOS 18.2 RC had a build number of 22C150, while the second RC's build number is 22C151. Release candidates represent the final version of beta software that's expected to see a ...
Generic iOS 18

When Is iOS 18.2 Coming Out?

Tuesday December 10, 2024 1:43 am PST by
The next iOS 18.2 update featuring more substantial Apple Intelligence features will be released to the public before the holidays, according to Apple, but we have a more definite timeframe from other sources. In a newsroom article dated October 28 highlighting Apple Intelligence capabilities, Apple states that "new ‌Apple Intelligence‌ features will be available in December." Then in...
iPhone SE 4 Single Camera Thumb 3

iPhone SE 4 Said to Feature 48MP Rear Lens, 12MP TrueDepth Camera

Monday December 9, 2024 4:48 am PST by
Apple's forthcoming iPhone SE 4 will feature a single 48-megapixel rear camera and a 12-megapixel TrueDepth camera on the front, according to details revealed in a new Korean supply chain report. ET News reports that Korea-based LG Innotek is the main supplier of the front and rear camera modules for the more budget-friendly ~$400 device, which is expected to launch in the first quarter of...
iOS 18

Here Are Apple's Full Release Notes for iOS 18.2

Thursday December 5, 2024 11:48 am PST by
Apple seeded the release candidate version of iOS 18.2 today, which means it's going to see a public launch imminently. Release candidates represent the final version of new software that will be provided to the public should no last minute bugs be found, and Apple includes release notes with the RC launch. The iOS 18.2 release notes provide a look at all of the new features that are coming...
Apple MacBook Pro M4 hero

MacBook Pros With OLED Displays Won't Have a Notch, Roadmap Shows

Monday December 9, 2024 7:36 am PST by
Apple plans to remove the notch from the MacBook Pro in a few years from now, according to a roadmap shared by research firm Omdia. The roadmap shows that 14-inch and 16-inch MacBook Pro models released in 2026 will have a hole-punch camera at the top of the display, instead of a notch. It is unclear if there would simply be a pinhole in the display, or if Apple would expand the iPhone's...
New Things Your iPhone Can Do in iOS 18

20 New Things Your iPhone Can Do in iOS 18.2

Friday December 6, 2024 4:42 am PST by
Apple is set to release iOS 18.2 in the second week of December, bringing the second round of Apple Intelligence features to iPhone 15 Pro and iPhone 16 models. This update brings several major advancements to Apple's AI integration, including completely new image generation tools and a range of Visual Intelligence-based enhancements. There are a handful of new non-AI related feature controls...
vipps nfc tap to pay iphone

World's First Apple Pay Alternative for iPhone Launches in Norway

Monday December 9, 2024 1:28 am PST by
Norwegian payment service Vipps has become the world's first company to launch a competing tap-to-pay solution to Apple Pay on iPhone, following Apple's agreement with European regulators to open up its NFC technology to third parties. Starting December 9, Vipps users in Norway can make contactless payments in stores using their iPhones. The service initially supports customers of SpareBank...
iPhone 17 Slim Feature

iPhone 17 'Air' Expected to Be ~2mm Thinner Than iPhone 16 Pro

Friday December 6, 2024 4:07 pm PST by
In 2025, Apple is planning to debut a thinner version of the iPhone that will be sold alongside the iPhone 17, iPhone 17 Pro, and iPhone 17 Pro Max. This iPhone 17 "Air" will be about two millimeters thinner than the current iPhone 16 Pro, according to Bloomberg's Mark Gurman. The iPhone 16 Pro is 8.25mm thick, so an iPhone 17 that is 2mm thinner would come in at around 6.25mm. At 6.25mm,...
airpods pro 2 gradient

AirPods Pro 3 Expected Next Year: Here's What We Know

Thursday November 28, 2024 3:30 am PST by
Despite being released over two years ago, Apple's AirPods Pro 2 continue to dominate the wireless earbud market. However, with the AirPods Pro 3 expected to launch sometime in 2025, anyone thinking of buying Apple's premium earbuds may be wondering if the next generation is worth holding out for. Apart from their audio and noise-canceling performance, which are generally regarded as...

Top Rated Comments

Realityck Avatar
18 months ago

Ever since the first beta, the audio on my Apple TV seems to be out-of-sync at times.
Use wireless audio sync to correct that. It can bee done fairly accurately with a iPhone sampling the latency from one speaker.
=========
If your Apple TV is connected to a home theater receiver or TV using an HDMI cable, you may experience audio latency, a delay that sounds like an echo when playing audio on both receiver speakers and a wireless speaker.

You can use an iPhone to calibrate the audio signal on your Apple TV so that all speakers play in sync.

[LIST=1]
* Open Settings on Apple TV.
* Go to Video and Audio, then scroll down to Calibration.
* Select ('https://support.apple.com/guide/tv/aside/atvb51b2dcdd/16.0/tvos/16.0') Wireless Audio Sync, then follow the onscreen instructions for using your iPhone to sync your speakers.
Score: 5 Votes (Like | Disagree)
Stuipdboy1000 Avatar
18 months ago

You can confirm this? No wonder my Home regressed.
Can confirm. I used an app from the App Store called Flame which lets you see info on devices connected to your network.

https://apps.apple.com/us/app/flame-services-browser/id325206381
Score: 1 Votes (Like | Disagree)
Realityck Avatar
18 months ago
There are some oddities with some apps that I am hoping run better with DB4. Glad it has arrived after 3 weeks.
Score: 1 Votes (Like | Disagree)
Realityck Avatar
18 months ago
Yes you have notes for once to read

tvOS 17 beta 4 (21J5318f) - July 25, 2023

[SPOILER="tvOS 17 Beta 4 Release Notes"]
[HEADING=2]General ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#General')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* MP3 files with malformed ID3 tags will fail to play (110230071)

[HEADING=2]Accelerate ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Accelerate')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* Spatial

* Introduced trigonometry functions for Spatial angle type ('https://developer.apple.com/documentation/spatial/angle2d#4180998').
* Introduced spherical linear interpolation for Spatial rotations ('https://developer.apple.com/documentation/spatial/rotation3d/4157007-slerp').
* Introduced swing-twist decomposition for Spatial rotations ('https://developer.apple.com/documentation/spatial/rotation3d#4130747').

* BNNS

* Introduced BNNSRandomFillCategoricalFloat ('https://developer.apple.com/documentation/accelerate/4126856-bnnsrandomfillcategoricalfloat') that fills a tensor with random values from the categorical distributions with event probabilities.
* Introduced k-nearest neighbors calculation ('https://developer.apple.com/documentation/accelerate/bnns#4164142').

* vImage

* Introduced vImageConvolveFloatKernel_ARGB8888 ('https://developer.apple.com/documentation/accelerate/4172614-vimageconvolvefloatkernel_argb88') that applies convolution to 8-bit-per-channel, 4-channel interleaved images using 32-bit floating-point weights.
* Introduced vImageSepConvolve_ARGB8888 ('https://developer.apple.com/documentation/accelerate/4172615-vimagesepconvolve_argb8888') that applies separable convolution to 8-bit-per-channel, 4-channel interleaved images.
* Added flood fill, perspective transform, and new lookup table transforms to vImage.PixelBuffer ('https://developer.apple.com/documentation/accelerate/vimage/pixelbuffer'). (105830806)


[HEADING=2]Continuity Camera on Apple TV ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Continuity-Camera-on-Apple-TV')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Following a reboot of AppleTV or first launch of FaceTime, the preview video of camera feed while connecting your phone might take extra time to show up on the screen. (108283141)
* Fixed: Center Stage functionality incorrectly defaults to UltraWide rather than Wide. (109387427)
* Fixed: Unsupported iPads might recieve a Continuity Camera notificaition. (110136942)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* After pausing and resuming the connection from an iPhone or iPad to the connected Apple TV, FaceTime call participants will see audio and video sync is mismatched for the Apple TV user. (105464123)
Workaround: Restart the session/call.
* When using Center Stage in a group Facetime call, people at the edge of the frame will be cropped out. (109850731)
Workaround: Move toward the center of the frame.

[HEADING=2]Facetime handoff ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Facetime-handoff')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Facetime handoff to another device might result in call drop or no media. (110126569)

[HEADING=2]FaceTime on Apple TV ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#FaceTime-on-Apple-TV')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Guest Pairing doesn’t work if Apple TV is connected via Ethernet. (107163191)
* Fixed: If a phone is already a Connected Camera, answering a FaceTime call on that phone and then moving to Apple TV might result in a dropped call. (107187159)
* Fixed: Cannot handoff a call that has a FaceTime link on the Apple TV. FaceTime on tvOS will crash. (108109894)
* Fixed: Moving the FaceTime call from Apple TV to iPhone by tapping “Switch to phone” might result in a dropped call. (108810085)
* Fixed: Moving from Split View to PIP during a call on Apple TV results in video being lost and privacy indicator not showing correct state. (109537754)
* Fixed: Moving call from iPhone to Apple TV can result in failure in congested network environments. (109841121)
* Fixed: FaceTime call might end suddenly within first minute. (111099303)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* Video effects buttons on self-view during a FaceTime call might not work. (110801792)
Workaround: Use tvOS Control Center to toggle video effects.

[HEADING=2]FaceTime on AppleTV ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#FaceTime-on-AppleTV')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* Duplicate participants might appear when moving a call from iPhone to AppleTV. (110036697)

[HEADING=2]Localization ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Localization')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* Some content might appear in English. Some strings might appear clipped. (109393568)

[HEADING=2]Manual Framing ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Manual-Framing')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: If the user adjusted the zoom factor manually with controls in Control Center, the modified video factor will get incorrectly reset to 1.0 when the user enters the Group FaceTime mode. (110809840)

[HEADING=2]Maps ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Maps')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* When using Map, Xcode emits a runtime warning that “Publishing changes from within view updates is not allowed.” (106174743)

[HEADING=2]NetworkExtension ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#NetworkExtension')[/HEADING]
[HEADING=3]Deprecations ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Deprecations')[/HEADING]

* Algorithms DES, 3DES, SHA1-96 and SHA1-160 as well as Diffie-Hellman groups less than 14 are deprecated for IKEv2 VPNs. (109427094)
* The enum values NEVPNIKEv2EncryptionAlgorithmDES, NEVPNIKEv2EncryptionAlgorithm3DES, NEVPNIKEv2IntegrityAlgorithmSHA96, NEVPNIKEv2IntegrityAlgorithmSHA160, NEVPNIKEv2DiffieHellmanGroup1, NEVPNIKEv2DiffieHellmanGroup2, and NEVPNIKEv2DiffieHellmanGroup5 in NEVPNProtocolIKEv2.h will be deprecated. (109680935)

[HEADING=2]Networking ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Networking')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* iPhone and iPad devices running iOS 17 beta support joining wired 802.1X networks. Apple TV devices running tvOS 17 beta also support joining wired 802.1X networks. (12867782)
* URLSession supports resumable uploads in HTTP. Just like download tasks, upload tasks can now be paused and resumed if the server supports the latest protocol draft. To learn more, see Resumable Uploads for HTTP ('https://www.ietf.org/archive/id/draft-ietf-httpbis-resumable-upload-01.txt'). (68890505)
* Apple devices now support connection to 802.1X networks using EAP-TLS with TLS 1.3 (EAP-TLS 1.3). EAP-TLS 1.3 further improves security and privacy by always providing forward secrecy, never disclosing the peer identity, and by mandating use of revocation checking when compared to EAP-TLS with earlier versions of TLS. (74526852)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: For apps linked on or after iOS 17 and aligned OS versions, App Transport Security now requires secure connections to external IP addresses by default. For more information on these requirements, see Preventing Insecure Network Connections ('https://developer.apple.com/documentation/security/preventing_insecure_network_connections'). Exceptions can be made using NSExceptionDomains ('https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity/nsexceptiondomains'), which now supports exceptions for individual IP addresses and ranges specified in classless inter-domain routing (CIDR) notation. (101967030)
* Fixed: For apps linked on or after iOS 17 beta, macOS 14 beta, watchOS 10 beta, and tvOS 17 beta, the Transfer-Encoding header field of a streamed HTTP/1 request is set to chunkedinstead of Chunked. (107390029)

[HEADING=2]SharePlay ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#SharePlay')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Starting SharePlay content between two Apple TVs results in one TV receiving a notification with “pseud…” as the name for the other TV. This only occurs on first attempt and subsequent SharePlay actions are correct. (108926589)

[HEADING=2]ShazamKit ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#ShazamKit')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: SHManagedSession.State is unavailable. (109670750)
* Fixed: SHLibrary.default.items is unavailable. (109670918)

[HEADING=2]StoreKit ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#StoreKit')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* Users have access to the new Product.SubscriptionInfo.Status.all sequence to get the status for each of your app’s subscription groups. One can use the new subscriptionStatus property on the latest Transaction ('https://developer.apple.com/documentation/tvos-release-notes/%EF%BB%BFhttps://developer.apple.com/documentation/storekit/transaction') value for a subscription to access the full status information. (102064614)
* StoreKit 2 now provides a collection of UI components to help merchandise in-app purchases. Use ProductView, StoreView and SubscriptionStoreView to add in-app purchases to an app with just a few lines of code. (102066107)
* Users can access in-app purchase product metadata and entitlement information from a SwiftUI view using new view modifier APIs in StoreKit. Declare a view as dependent on a single product or collection of products using storeProductTask(for:priority:action:) or storeProductsTask(for:priority:action:) respectively. Declare a view as dependent on the current entitlement for a product using currentEntitlementTask(for:priority:action:). Declare a view as dependent on the status of a subscription group with subscriptionStatusTask(for:priority:action:). All of the modifiers will start a task to load the data before the view appears, and provide your action with the state of the task as it progresses and whenever the data changes. (102397222)
* User have access to the new groupLevel property of Product.SubscriptionInfo ('https://developer.apple.com/documentation/storekit/product/subscriptioninfo') to understand the level of service of a subscription plan. (103885148)
* Users have access to the new reason, and storefront properties on Transaction ('https://developer.apple.com/documentation/storekit/transaction') to understand the reason why the transaction was created, and which storefront it is for. The new renewalDate property on RenewalInfo ('https://developer.apple.com/documentation/storekit/product/subscriptioninfo/renewalinfo') to understand if and when a subscription will renew next. (104246730)
* Users have access to new groupDisplayName property of Product.SubscriptionInfo ('https://developer.apple.com/documentation/storekit/product/subscriptioninfo') to get the localized display name of a subscription plan’s group. (105689964)
* StoreKit ViewsProductView and StoreView have initializers have initializers that give you access to the promotional icon as a SwiftUI view and the various phases of the loading operation. Use initializers such as init(id:icon:placeholderIcon:) ('https://developer.apple.com/documentation/storekit/productview/4202217-init'), [init(_:icon:)](https://developer.apple.com/documentation/storekit/productview/4202214-init), init(ids:icon:placeholderIcon:)](https://developer.apple.com/documentation/storekit/storeview/4203378-init), and [init(products:icon:)` ('https://developer.apple.com/documentation/storekit/storeview/4203382-init') to provide an icon view for each phase. (110470147)
* The following StoreKit types are renamed:
• DefaultProductViewStyle is renamed to AutomaticProductViewStyle ('https://developer.apple.com/documentation/storekit/automaticproductviewstyle')
• DefaultSubscriptionStoreMarketingContent is renamed to AutomaticSubscriptionStoreMarketingContent ('https://developer.apple.com/documentation/storekit/automaticsubscriptionstoremarketingcontent')
• DefaultProductPlaceholderIcon is renamed to AutomaticProductPlaceholderIcon ('https://developer.apple.com/documentation/storekit/automaticproductplaceholdericon') (111185321)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed issue where StoreView ('https://developer.apple.com/documentation/tvos-release-notes/%EF%BB%BF%EF%BB%BFhttps://developer.apple.com/documentation/storekit/storeview') or SubscriptionStoreView ('https://developer.apple.com/documentation/storekit/subscriptionstoreview') content might appear in English, or show a localization key, instead of showing localized text for the App Store storefront. (110734447)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* When testing in the sandbox environment, the groupDisplayName property on Product.SubscriptionInfo ('https://developer.apple.com/documentation/storekit/product/subscriptioninfo') might return an empty string if the localization in the current storefront is not in an approved state. When using the SubscriptionStoreView without providing a marketing content view, the automatic view might show the name of the app instead of the subscription group’s display name. (107206601)
Workaround: Use StoreKit Testing in Xcode instead of sandbox to test this functionality.

[HEADING=2]Swift ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Swift')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* Properties of @observable and @Model types currently always require default values or optionality. (109441094)

[HEADING=2]Swift Charts ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Swift-Charts')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* Enable scrolling in a chart using view modifier chartScrollableAxes(_:). (70444254)
* Use chartXSelection, chartYSelection and chartAngleSelection to enable selection on a chart. If needed, use chartGesture to override the default gesture for selection. (79083764)
* Swift Charts now supports creating pie charts and donut charts using the new SectorMark API. (102309263)
* Pass an AnnotationOverflowResolution to the annotation modifier to specify how to align an annotation when it would otherwise overflow the bounds of the chart or the plot. (106009062)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* Scrolling charts might behave unexpectedly on right-to-left languages. (109129343)
* The use of chartScrollPosition(x:) or chartScrollPosition(y:) on a Date binding will lead to a runtime crash. (109287449)
Workaround: Use a TimeInterval binding for chartScrollPosition(x:) and chartScrollPosition(y:) on Date axes.

[HEADING=2]SwiftData ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#SwiftData')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* Conflicting writes from other processes sharing the same file can cause a crash. (109488127)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: willSet and didSet observers will prevent @Model from properly transforming those stored properties and they will not persist. (109664186)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* Properties with default values are not initialized correctly. (107887871)
Workaround: Set the property value in initializer instead.
* @Query results can appear stale or fail to refresh. (108385553)
* Case value is not stored properly for a string rawvalue enumeration. (108634193)
Workaround: Don’t use a rawvalue with a string enum property.
* Schema migration can fail when nesting non-optional properties inside an optional containing struct. (108854663)
* Properties with .externalStorage are not being stored in peripheral files. (108972391)
* Scene modifier isUndoEnabled does not propagate correctly. (109373617)
Workaround: Use view modifier.
* Modeled enum properties with default values won’t compile unless they are fully qualified values. (109421492)
Workaround: Fully qualify enum values in property’s default value.
* SwiftData queries will not work with #Predicate { true } and #Predicate { false } will cause a crash. (109425342)
Workaround: Use a logically true expression like { 1 == 1 }.
* Existing @Query property declarations might not always correctly infer the model type for predicate and sort descriptor parameters. (Note: the @Query attribute is now resolved as a macro, instead of as a property wrapper.)
For example, specifying a filter predicate as a parameter to the @Query attribute will now require explicitly providing the model type used in the predicate, i.e. #Predicate<ModelType> { … } instead of #Predicate { … }:
@Query(filter: #Predicate<Person> { ... }) var people: [Person]

Another example: passing a sort descriptor or key path will now require explicitly providing the model type used for the root type of the key path, i.e. \ModelType.property instead of \.property:
@Query(sort: [SortDescriptor(\Person.name)]) var people: [Person]

@Query(sort: \Person.name) var people: [Person]

In all cases, the model type used in the filter: and sort: parameters is still required to be the same type used as the element in the query’s wrapped array type, and will emit a build error if not. (109433172)
Workaround: Add explicit model type information to @Query attribute filter: and sort:parameters, as shown in the description examples.
* The default platform container directory is not available on tvOS and accessing it will result in a sandbox violation that causes a crash. (109487314)
Workaround: Use an in memory container.
* #Predicate does not support UUID, Date, and URL properties. (109539652)
* @Query using SortDescriptors based on .reverse sorting on strings can fail to fetch results. (109572633)
Workaround: Sort ordered .forward.
* Creating a @Query with a sortdescriptor that uses a relationship keypath will crash. (109626376)
* SwiftData queries don’t support some #Predicate flatmap and nil coalescing behaviors. (109723704)
* Xcode code generation for SwiftData Models from CoreData xcdatamodels will refer to originalName instead of renamingIdentifier. (109782236)
Workaround: Use renamingIdentifier.
* Unsigned applications using Document API without a proper app container might overwrite the default container. (109784405)
Workaround: Codesign the project.
* After deleting an item, SwiftUI might attempt to reference the deleted content during the animation causing a crash. (109838173)
Workaround: Explicitly save after a delete.
* Custom schema migrations with SchemaMigrationPlan will fail. (110114696)

[HEADING=2]SwiftUI ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#SwiftUI')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* RoundedRectangle now defaults to the continuous corner style. (63246947)
* .onChange has new overloads where the closure takes 0 or 2 arguments, these new versions will call the new version of the closure (i.e. after the specified value has changed), so any captured properties will have up to date values. The previous overload (which calls the old version of the closure) has been deprecated. (67344857)
* Spring animations will now default to being critically damped (i.e. a bounce of 0). (75149732)
* Lists using the SidebarListStyle hosted in primary column of a UIKit UISplitNavigationController were previously rendering with an insetGrouped appearance. With this change they will render as the expected sidebar appearance similar to if the Listwere hosted in a SwiftUI NavigationSplitView. (96909195)
* Use the buttonRepeatBehavior(_:) view modifier to make buttons repeatedly trigger their actions on prolonged interactions. Apply this to buttons that increment or decrement a value or perform some other inherently iterative operation. Interactions such as pressing-and-holding on the button, holding the button’s keyboard shortcut, and holding down the space key while the button is focused trigger this repeat behavior. (102156410)
* Animation.default now uses a spring animation equivalent to Animation.spring. In addition, Animation.default is now only equal to itself when using ==, allowing users to differentiate between animations that were intentionally chosen and those that use the defaultanimation. (103169056)
* During gesture change callbacks, velocity will automatically be tracked so that it can be applied to animations that finish when the gesture finishes. (103371523)
* When two Text are vertically adjacent (for example in a VStack with no spacer in between) SwiftUI will automatically calculate appropriate spacing. To opt-out if this behavior either place a Spacer or specify spacing parameter to the container view. (104782785)
* For apps built using the macOS 14 SDK, using DismissAction to close a window will default to using DismissBehavior.interactive. (105406945)
* A NavigationSplitView collapses into a single column in some situations, such as on iPhone, Apple Watch, or iPad in slide-over. When this happens the columns of the split view are arranged into a stack. By default, the split view automatically decides which column appears as the top of this stack based on the contents of the columns. It considers whether any embedded List views have selections and whether any embedded NavigationStack views have non-empty paths.
NavigationSplitView provides new initializers that give users control over which column of the split view appears on top. Use initializers like NavigationSplitView(preferredTopColumn:sidebar:content:detail:) or NavigationSplitView(preferredTopColumn:sidebar:detail:) and provide a binding specifying the column that should be visible when the split view is collapsed into a stack. When using an app pops the stack, SwiftUI updates the binding. (106241051)
* When using @Environment(\.self) to capture an entire EnvironmentValues, SwiftUI will now track which properties are accessed to only invalidate the property when those properties change. (106310433)
* Use the new navigationDestination(item:destination:) overload to present a navigation destination when a bound item is non-nil, or to dismiss the destination when the bound item becomes nil again. (106319528)
* Shapes now default to mirroring when in a right to left layout direction. (107405880)
* Changing from one Gradient value to another will now animate, but only once apps are rebuilt against the new SDK. (107408691)
* All Sections inside List and Table can be configured to be collapsible using new initializers on Section. Previously all Sections inside Lists using the SidebarListStyle received outline disclosure indicators in every header. Section headers will no longer render this control by default. An outline disclosure will only be provided in the header if the Section is initialized with an isExpanded binding to a bool. This bool represents the isExpanded state of the Section. Sections created with an isExpanded binding inside a Table on macOS will now provide a default outline disclosure indicator to collapse or expand the Section. (107592493)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: NavigationSplitView reuses view controllers in more cases, resulting in significantly improved performance. This might change the behavior of code that relies on the life cycle messages sent to UIHostingController because such controllers will be created less often. (88880547)
* Fixed: Scroll environment properties like isScrollEnabled and scrollDismissesKeyboardMode are no longer propagated past nested scroll views. (99195890)
* Fixed: Previously it was possible for views animating their removal via a transition to be drawn above a view with the same zIndex that has not yet been removed. This was unintentional and has now been updated: views transitioning out of the view hierarchy are always drawn below non-removed views with the same zIndex. (101085960)
* Fixed: LazyVGrid or LazyHGrid has an improved layout when used with fixedSize(). (103075945)
* Fixed: When a flexible frame modifier (e.g. frame(minHeight: 100, maxHeight: 200)) is used inside a scroll view the modified view could end up truncating content. This would most often be visible with the content view being a VStack with multiline text. (107014454)
* Fixed: When scrolling to the end of a scroll view using ScrollViewReader, the final offset will be clamped to the scroll view’s total content size and no longer overscroll. (107558652)
* Fixed: Removed a spurious warning, “NavigationLink presenting a value must appear inside a NavigationContent-based NavigationView. Link will be disabled.” (107877668)
* Fixed: ScrollView when used with the searchable modifier has an improved transition when presenting or dismissing search on iOS and iPadOS. (109265624)
* Fixed: Two NavigationSplitView initializers taking columnVisibility as a value rather than a Binding. (109426553)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* The new navigationDestination(item:destination:) overload only works to present from one column of a NavigationSplitView to another. The overload should also work inside a NavigationStack but does not currently. (106106406)
* In some circumstances, the first view pushed onto a NavigationStack or collapsed NavigationSplitView might fail to animate. (106602046)

[HEADING=2]Symbol Effects ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Symbol-Effects')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* In the objective-C API in Symbols.framework, requesting effectWithWholeSymbol on NSSymbolPulseEffect and NSSymbolBounceEffect will result in the effect being configured to animate by layer instead. (109284710)

[HEADING=2]TipKit ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#TipKit')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Known-Issues')[/HEADING]

* Tips and TipKit views will not display on Apple TV hardware. (108286122)
Workaround: Test TipKit on Apple TV simulator. On hardware, when configuring TipKit using Tips.configure{}, include “DatastoreLocation(url: .cachesDirectory)”

[HEADING=2]UIKit ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#UIKit')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#New-Features')[/HEADING]

* The query rects passed in to -layoutAttributesForElementsInRect: will be more specific to the collection view’s frame, and the rect might intersect with previously queried frames. If subclassing a UIKit vended layout and modifying the frames of elements by applying offsets, make sure that the same offset is applied to the rect passed in to -layoutAttributesForElementsInRect: as well, or the user might see items disappearing when they shouldn’t be. (108663389)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Prior to iOS 17 and tvOS 17, UIGestureRecognizer would set its state to UIGestureRecognizerStateFailed in the base implementation of - (void)pressesBegan:withEvent: if there are no active touches. In iOS 17 and tvOS 17, this behavior has been fixed. On tvOS, UIGestureRecognizer allows UIPressTypeSelect by default, thus custom UIGestureRecognizers that do not set allowedPressTypes might have been relying on this behavior to put themselves into a terminal state after they receive a UIPress of type UIPressTypeSelect. UIGestureRecognizers that receive events but do not reach a terminal state will block gesture recognizer dependency graphs from resetting, which can cause an app’s interface to become unresponsive. It is important to for custom UIGestureRecognizers on tvOS 17 to either either set allowedPressTypes to an empty array if they do not handle UIPressTypeSelect, or to implement the UIPressesEvent response methods in UIGestureRecognizerSubclass.h, and set themselves to a terminal state as appropriate. (111175673)

[HEADING=2]Vision ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Vision')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: VNDetectHumanBodyPose3DRequest now returns results for images/frames of people without depth metadata or camera intrinsics explicitly provided. (109723859)
* Fixed issue with cameraOriginMatrix so a 180 rotation around x axis is no longer required. Please reference updated sample code for WWDC Session 111241. (110726503)

[HEADING=2]Wi-Fi ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Wi-Fi')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/tvos-release-notes/tvos-17-release-notes#Resolved-Issues')[/HEADING]

* Fixed: While a Mac has active traffic via Wi-Fi, you might experience difficulty discovering and connecting to Continuity Camera. (109954955)

[/SPOILER]
Score: 1 Votes (Like | Disagree)
MrENGLISH Avatar
18 months ago

Use wireless audio sync to correct that. It can bee done fairly accurately with a iPhone sampling the latency from one speaker.
=========
If your Apple TV is connected to a home theater receiver or TV using an HDMI cable, you may experience audio latency, a delay that sounds like an echo when playing audio on both receiver speakers and a wireless speaker.

You can use an iPhone to calibrate the audio signal on your Apple TV so that all speakers play in sync.

[LIST=1]
* Open Settings on Apple TV.
* Go to Video and Audio, then scroll down to Calibration.
* Select ('https://support.apple.com/guide/tv/aside/atvb51b2dcdd/16.0/tvos/16.0') Wireless Audio Sync, then follow the onscreen instructions for using your iPhone to sync your speakers.

Thank you. I have tried that before but went ahead and did it again after installing the new beta. So far it seems to be back in sync. Hopefully it stays this way. Thank you again.
Score: 1 Votes (Like | Disagree)
upandown Avatar
18 months ago

Ever since the first beta, the audio on my Apple TV seems to be out-of-sync at times. I watch mostly YouTube videos so it could be something with just the app itself. But for whatever reason, the majority of the videos seem to have rubbery lips. I've tried digging into the settings to see if maybe there was something I needed to change/adjust but nothing has helped. I don't even have a sound system or anything. Just using the built-in speakers on the TV. Watching youtube via the nVidia Shield on the same TV doesn't have this issue. So it is definitely something with either tvOS, the AppleTV itself, or the YouTube app on tvOS. Using the 2021 AppleTV 4K model on a 65" LG C1 OLED with HDMI 2.1 cable.
Ive had the same experience with my 2021 AT4K and C9. The audio is out of sync using the tv speakers. I’ve been using the OG HomePod as the speaker with better results. One of the betas also completely deleted my wireless audio sync and tv screen calibration. Im going to wait for the final version before re-performing those. It takes a long time to do considering all the possible resolutions and picture modes. I don’t want it wiped out again.
Score: 1 Votes (Like | Disagree)