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