Post

Replies

Boosts

Views

Activity

Reply to tvOS 26 file corruption issues?
Hi - thanks for asking. My app will download a JSON file which contains a list of image urls which are downloaded and stored in the NSCachesDirectory. I understand the NSCachesDirectory can get deleted by the OS when the app is not running, so on subsequent launch, the app will check for the presence of these files in NSCachesDirectory and will redownload them if they are not available. This has worked pretty reliably in production for nearly two years. With tvOS 26, there are now inconsistent and sporadic instances when the app exhibits behavior as if these files have been deleted. ie. the images are either missing from the playlist page, or the app uses an onboard backup "failsafe" JSON file to populate a playlist with temporary data if it cannot find or load the JSON file. I suspect something is getting corrupted because once this issue occurs, the only way to get the app to perform normally again is to delete and reinstall the app. Simply relaunching the app will not fix the issue, as programmed in my app logic and used with success up to this point. I realize this info is still pretty vague but I am pressed to recreate this issue aside from letting the app "sit" in the background for hours & days during normal Apple TV usage. Is there any way I can trigger tvOS 26 to force-quit my app while it is in the background so I can perform some additional testing? Thanks.
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’25
Reply to StoreKit 2 failure on tvOS 18.2
Looking like StoreKit UI will not load or respond in tvOS 18.2 unless there is a Navigation Controller present AND you ONLY use a Push segue to get to your paywall viewController. Been playing with adding a Navigation controller and hiding the tabBar in code on subsequent viewController push (as a workaround), but the push animation is not in time with the viewController. (Not as smooth a visual transition)
Topic: App & System Services SubTopic: StoreKit Tags:
Nov ’24
Reply to StoreKit 2 failure on tvOS 18.2
Update 11-14-24; I have determined this failure occurs when the paywall (which calls the purchase(options:) method in my "store manager" class) is not a primary viewController window. ie. Tab Bar Controller -> 1st viewController as paywall DOES work. Tab Bar Controller -> 1st viewController -- --> 2nd viewController as paywall DOES NOT work. Any clues or insight why this may be happening would be greatly apprecaiated. Thanks!
Topic: App & System Services SubTopic: StoreKit Tags:
Nov ’24
Reply to StoreKit 2 failure on tvOS 18.2
Additional info: From my own paywall viewController: try await store.makePurchase(productToPurchase) And in my NSObject store helper class: func makePurchase(_ product: Product) async throws { let result = try await product.purchase() //ERROR OCCURS HERE (See error message below) Xcode Console message: "Could not get confirmation scene ID for [insert my IAP id here]" Why is the is tvOS 18.2 API looking for a scene ID? (Again, works fine for 18.1 and on iOS 18.2)
Topic: App & System Services SubTopic: StoreKit Tags:
Nov ’24
Reply to How to hide an auto-renewal subscription from App Store manage subscriptions page
As I understand it, if a user installs your app on a new device and hits your purchase button instead of "restore purchases", there is a chance they would be double-billed if you have separate subscription groups for the same product. This would result in a terrible customer experience, to say the least. From Apple: "creating a single group is the best practice for most apps as it prevents people from accidentally purchasing multiple subscriptions." You can create a subscription offer in App Store Connect to attract legacy users for renewals. See: https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-promotional-offers-for-auto-renewable-subscriptions/
Topic: App & System Services SubTopic: StoreKit Tags:
Oct ’23
Reply to tvOS 26 file corruption issues?
Hi - thanks for asking. My app will download a JSON file which contains a list of image urls which are downloaded and stored in the NSCachesDirectory. I understand the NSCachesDirectory can get deleted by the OS when the app is not running, so on subsequent launch, the app will check for the presence of these files in NSCachesDirectory and will redownload them if they are not available. This has worked pretty reliably in production for nearly two years. With tvOS 26, there are now inconsistent and sporadic instances when the app exhibits behavior as if these files have been deleted. ie. the images are either missing from the playlist page, or the app uses an onboard backup "failsafe" JSON file to populate a playlist with temporary data if it cannot find or load the JSON file. I suspect something is getting corrupted because once this issue occurs, the only way to get the app to perform normally again is to delete and reinstall the app. Simply relaunching the app will not fix the issue, as programmed in my app logic and used with success up to this point. I realize this info is still pretty vague but I am pressed to recreate this issue aside from letting the app "sit" in the background for hours & days during normal Apple TV usage. Is there any way I can trigger tvOS 26 to force-quit my app while it is in the background so I can perform some additional testing? Thanks.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Sep ’25
Reply to tvOS 18.0 Siri back button behavior bug
Be sure to file a bug report with Apple. Despite filing my report and sample project over a year ago, the file says there are "no similar reports." I wonder if I should copy and re-submit my original report as the title mentions tvOS 18...?
Topic: UI Frameworks SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’25
Reply to Auto cancel time of Auto-renewable subscription, Xcode testing
Here you go, under "Edit Subscription Renewal Rate": https://developer.apple.com/help/app-store-connect/test-in-app-purchases/manage-sandbox-apple-account-settings/
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’24
Reply to StoreKit 2 failure on tvOS 18.2
Looking like StoreKit UI will not load or respond in tvOS 18.2 unless there is a Navigation Controller present AND you ONLY use a Push segue to get to your paywall viewController. Been playing with adding a Navigation controller and hiding the tabBar in code on subsequent viewController push (as a workaround), but the push animation is not in time with the viewController. (Not as smooth a visual transition)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’24
Reply to StoreKit 2 failure on tvOS 18.2
Update 11-14-24; I have determined this failure occurs when the paywall (which calls the purchase(options:) method in my "store manager" class) is not a primary viewController window. ie. Tab Bar Controller -> 1st viewController as paywall DOES work. Tab Bar Controller -> 1st viewController -- --> 2nd viewController as paywall DOES NOT work. Any clues or insight why this may be happening would be greatly apprecaiated. Thanks!
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’24
Reply to StoreKit 2 failure on tvOS 18.2
Additional info: From my own paywall viewController: try await store.makePurchase(productToPurchase) And in my NSObject store helper class: func makePurchase(_ product: Product) async throws { let result = try await product.purchase() //ERROR OCCURS HERE (See error message below) Xcode Console message: "Could not get confirmation scene ID for [insert my IAP id here]" Why is the is tvOS 18.2 API looking for a scene ID? (Again, works fine for 18.1 and on iOS 18.2)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’24
Reply to Tab bar for tvOS 18 is positioned too low (bug?)
UPDATE: This is a Simulator bug. tvOS 18 tab bar appears at correct y coordinate on physical device/actual TV screen.
Topic: UI Frameworks SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’24
Reply to tvOS 18.0 Siri back button behavior bug
PS. Feedback case number is FB14835294
Topic: UI Frameworks SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’24
Reply to Manage Subscriptions Page says Cannot Connect
I have the same issue. But it works perfectly fine with Xcode and sandbox users, so I figure it must be a problem with TestFlight (which is what the reviewers user, no?) At any rate, I figure if I get a rejection, I will pull the feature and use the old-fashioned "manage subscription URL" instead.
Replies
Boosts
Views
Activity
Dec ’23
Reply to subscription is locked on waiting for review
Any progress on this? I have a subscription which I submitted too early (new app business model) and now it is locked. I uploaded a new binary, but am not sure how to "unlock" the subscription so I can add it to the app to submit for review...
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to iOS 16.1 or newer cannot manage sandbox user subscriptions from settings
Having this issue with TestFlight internal builds. (Worked fine in Xcode sandbox)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to subscriptionstoreview submit button does nothing in testflight
I am getting a "No internet connection" error in my TestFlight build. (Xcode sandbox works fine)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to Operation requires a client data source to have been registered.
I am seeing the same warning. Does not appear to affect my app so I am regarding it as an Xcode / tvOS bug. (Setting the Category to moviePlayback had no effect, either, btw.)
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to How to hide an auto-renewal subscription from App Store manage subscriptions page
As I understand it, if a user installs your app on a new device and hits your purchase button instead of "restore purchases", there is a chance they would be double-billed if you have separate subscription groups for the same product. This would result in a terrible customer experience, to say the least. From Apple: "creating a single group is the best practice for most apps as it prevents people from accidentally purchasing multiple subscriptions." You can create a subscription offer in App Store Connect to attract legacy users for renewals. See: https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-promotional-offers-for-auto-renewable-subscriptions/
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Oct ’23
Reply to 100% CPU - Interface Builder for tvOS
Minor update: Deleting "derived data" from ~/Library/Developer/Xcode changes behavior so that the processes causing high CPU use go away once closing Interface Builder or moving to view a text file. Returning to IB to view storyboards re-triggers high CPU use in all instances.
Replies
Boosts
Views
Activity
Oct ’23