Hi everyone, I’m currently stuck in a review loop related to in-app subscriptions and would really appreciate some advice. Here’s what’s happening: My app uses Apple’s in-app subscription system (auto-renewable). When I submit the app, it gets rejected because there are no active/approved subscription plans available for purchase. But the subscription plans themselves are also rejected or kept under review because the app isn’t approved yet. So I’m in a loop where: The app approval depends on the subscription approval, and the subscription approval depends on the app approval. I’ve been stuck in this situation for about a month now, and I can’t move forward. Here’s what I’ve tried so far: Displayed a message on the subscriptions screen saying that “No plans are available right now.” Displayed the plans as UI only, and when users try to subscribe, it shows a message like “Plans are currently under review, please try again later.” Despite these attempts, the app still gets rejected with the same reason — that t
Search results for
İOS 26 beta battery %1
253,812 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello everyone, I'm working on a screen recording app using ScreenCaptureKit and I've hit a strange issue. My app records the screen to an .mp4 file, and everything works perfectly until the .captureMicrophone is false In this case, I get a valid, playable .mp4 file. However, as soon as I try to enable the microphone by setting streamConfig.captureMicrophone = true, the recording seems to work, but the final .mp4 file is corrupted and cannot be played by QuickTime or any other player. This happens whether capturesAudio (app audio) is on or off. I've already added the Privacy - Microphone Usage Description (NSMicrophoneUsageDescription) to my Info.plist, so I don't think it's a permissions problem. I have my logic split into a ScreenRecorder class that manages state and a CaptureEngine that handles the SCStream. Here is how I'm configuring my SCStream: ScreenRecorder.swift // This is my main SCStreamConfiguration private var streamConfiguration: SCStreamConfiguration { var streamConfig = SCStreamConfiguration(
Hi Ziqiao, Thank you so much for the detailed response. Your guidance was extremely helpful. I've refactored my DatabaseManager to be a ModelActor (using the shared container) and updated its functions to work with PersistentIdentifier as you suggested. This has completely resolved the data race crashes I was experiencing. Thank you! I still have two small follow-up questions regarding the integration with App Intents and Widgets. 1. App Intents & EntityPropertyQuery with UUIDs For my App Intents, I have entities like AssignmentEntity (conforming to AppEntity) and an AssignmentQuery (conforming to EntityPropertyQuery, EnumerableEntityQuery, etc.). The protocol requires me to implement a function with this signature: func entities(for identifiers: [UUID]) async throws -> [AssignmentEntity] This creates a conflict, as my DatabaseManager actor now operates on PersistentIdentifiers, not UUIDs. My current workaround inside this required function is to create a new, temporary ModelContext just to fe
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags:
@DTS Engineer sorry for a long reply Reply form doesn't allow me to attach zips/folders, is this expected? Here's an example project on github: https://github.com/SubvertDev/app-icon-bug The setup is pretty basic, I've just added my .icon file to the project and deleted empty AppIcon from assets To reproduce the bug you can just archive this project on 26.0.1 and 26.1 Beta (I've tested it only on Beta 3 and RC, maybe that bug occurred before, idk) 26.0.1 xcarchive size: 1.8mb 26.1 xcarchive size: 4.2mb The main difference is Assets.car size (429KB vs 2.9MB) Here's a screenshot of Assets.car inner images difference (26.0.1 on the left and 26.1 RC on the right)
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
I face this issue only on macOS 26 and only on the Intel architecture. I'm unable to download files from a file provider's folder when I make them read-only. STEPS TO REPRODUCE Download the sample from https://developer.apple.com/documentation/fileprovider/synchronizing-files-using-file-provider-extensions?language=objc Follow the steps on the page to configure the project. Build the project. Run it. Add a domain. Open the domain's folder in the Finder. Move a file to the domain's folder. Right-click on the file in the domain's folder and select Remove Download. Close the Finder's window with the domain's folder and kill all the Provider processes to get rid of running instances of the extension. Change Item's capabilities in Item.swift to make the items read-only: var result: NSFileProviderItemCapabilities = [ .allowsContentEnumerating, .allowsReading ] Rebuild the project and run it. Open the domain's folder and try to drag and drop the file from the extension's folder to, let's say, the Desktop fo
attributes: { referenceName: co.mygame.RuleSets.GvERandom24, ruleLanguageVersion: 1, minPlayers: 2, maxPlayers: 4 }, Use the above settings. Match two devices. This will be successful.
Topic:
Graphics & Games
SubTopic:
GameKit
Tags:
Matchmaking rules https://developer.apple.com/documentation/gamekit/matchmaking-rules?language=objc AppStoreConnectApi rules https://developer.apple.com/documentation/appstoreconnectapi/rules?language=objc ・Environment Unity 6000.2.2f1 XCode 16.1 iOS 26 3 iPhones ・AppStoreConnectApi rules type: gameCenterMatchmakingRuleSets, id: f6a88caf-85db-42bf-xxxxxxxxxxxxxxxxxxxx, attributes: { referenceName: co.mygame.RuleSets.GvERandom34, ruleLanguageVersion: 1, minPlayers: 3, maxPlayers: 4 }, type: gameCenterMatchmakingRules, id: 6afa68ce-4d2c-496f-xxxxxxxxxxxxxxxxxxxx, attributes: { referenceName: GameVersion, description: Check Game Version. GvERandom34, type: COMPATIBLE, expression: requests[0].properties.gameVersion == requests[1].properties.gameVersion, weight: null }, type: gameCenterMatchmakingQueues, id: 7fb645ef-4eca-4510-xxxxxxxxxxxxxxxxxxxx, attributes: { referenceName: co.mygame.que.GvERandom34, classicMatchmakingBundleIds: [] }, ・Objective-C Execution code queueName = c
https://developer.apple.com/forums/thread/738812 One of the reply of this thread explained this issue.
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags:
I'm experiencing a critical issue with SwiftData custom migrations where objects created during migration appear to be inserted successfully but aren't persisted or found by queries after migration completes. The migration logs show objects being created, but subsequent queries return zero results. I'm migrating from schema version V2 to V2_5, which involves: Renaming Person class to GroupData Keeping the same data structure but changing the class name while keeping the old class. Using a custom migration stage to copy data from old to new schema Below is an extract of my two schema and migration plan: Environment: Xcode 16.0, iOS 18.0, Swift 6.0 SchemaV2 enum LinkMapV2: VersionedSchema { static let versionIdentifier: Schema.Version = .init(2, 0, 0) static var models: [any PersistentModel.Type] { [AnnotationData.self, Person.self, History.self] } @Model final class Person { @Attribute(.unique) var id: UUID var name: String var photo: String var requirement: String var statue: Bool var annotationId: U
Problem Description (1) I am using ARKit in an iOS app to provide AR capabilities. Specifically, I'm trying to use the ARSession's captureHighResolutionFrame(using:) method to capture a high-resolution frame along with its corresponding depth data: open func captureHighResolutionFrame(using photoSettings: AVCapturePhotoSettings?) async throws -> ARFrame (2) However, when I attempt to do so, the call fails at runtime with the following error, which I captured from the Xcode debugger: [AVCapturePhotoOutput capturePhotoWithSettings:delegate:] settings.depthDataDeliveryEnabled must be NO if self.isDepthDataDeliveryEnabled is NO Code Snippet Explanation (1) ARConfig and ARSession Initialization The following code configures the ARConfiguration and ARSession. A key part of this setup is setting the videoFormat to the one recommended for high-resolution frame capturing, as suggested by the documentation. func start(imagesDirectory: URL, configuration: Configuration = Configurat
In the future, is there any plans to have AppMigrationKit for macOS-Windows cross transfers (or Linux, ChromeOS, HarmonyOS NEXT, etc)? Additionally, will the migration framework remain just iOS <-> Android or will it extend to Windows tablets, ChromeOS Tablets, HarmonyOS NEXT, KaiOS, Series 30+, Linux mobile, etc.
Topic:
App & System Services
SubTopic:
iCloud & Data
Hi! I have exactly the same problem. I could reproduce with the following steps: Create a new multi platform app In the application, add a share extension target (click + and search for share extension) select the share ext target and run on a simulator chose the photo app to run and test the share button pick a photo and share with the extension the extension crashes and a backtrace is shown with this message. SDK versions DriverKit SDKs: DriverKit 25.0 -sdk driverkit25.0 iOS SDKs: iOS 26.0 -sdk iphoneos26.0 iOS Simulator SDKs: Simulator - iOS 26.0 -sdk iphonesimulator26.0 macOS SDKs: macOS 26.0 -sdk macosx26.0 macOS 26.0 -sdk macosx26.0 tvOS SDKs: tvOS 26.0 -sdk appletvos26.0 tvOS Simulator SDKs: Simulator - tvOS 26.0 -sdk appletvsimulator26.0 visionOS SDKs: visionOS 26.0 -sdk xros26.0 visionOS Simulator SDKs: Simulator - visionOS 26.0 -sdk xrsimulator26.0 watchOS SDKs: watchOS 26.0 -sdk watchos26.0 watchOS Simulator SDKs: Simulator - watchOS 26.0 -sdk watchsimulator26.0
Topic:
Developer Tools & Services
SubTopic:
Xcode
My public testflight link with an iOS version limit to only 17 and older still gets installations on iOS 26 and 18. Setting appears to be correct (screenshot). I have disabled it now.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Possibly the same issue here. Sections not needed to reproduce issue with SwiftUI List in iOS 26, 26.0.1, and 26.1. Filed back in mid-August FB19602925 Minimal code to repro: struct Item: Identifiable, Hashable { var id: Int var title: String } struct ContentView: View { @State var items: [Item] = [ Item(id: 0, title: One), Item(id: 1, title: Two), Item(id: 2, title: Three), ] var body: some View { List(items) { item in Text(item.title) .swipeActions(edge: .trailing) { Button(Pin, systemImage: pin) { pinItem(item) } .tint(.green) Button(Copy, systemImage: document.on.document) { duplicateItem(item) } .tint(.blue) } } .listStyle(.plain) } func pinItem(_ item: Item) { if let idx = items.firstIndex(of: item) { items.move(fromOffsets: IndexSet(integer: idx), toOffset: 0) } } func duplicateItem(_ item: Item) { let newId = (items.map(.id).max() ?? 0) + 1 items.insert(Item(id: newId, title: Copy of (item.title)), at: 0) } }
Topic:
UI Frameworks
SubTopic:
SwiftUI
Description: I'm experiencing a critical issue with SwiftData custom migrations where objects created during migration appear to be inserted successfully but aren't persisted or found by queries after migration completes. The migration logs show objects being created, but subsequent queries return zero results. Problem Details: I'm migrating from schema version V2 to V3, which involves: Renaming Person class to GroupData Keeping the same data structure but changing the class name Using a custom migration stage to copy data from old to new schema Migration Code: swift static let migrationV2toV3 = MigrationStage.custom( fromVersion: LinkMapV2.self, toVersion: LinkMapV3.self, willMigrate: { context in do { let persons = try context.fetch(FetchDescriptor()) print(Found (persons.count) Person objects to migrate) // ✅ Shows 11 objects for person in persons { let newGroup = LinkMapV3.GroupData( id: person.id, // Same UUID name: person.name, // ... other properties ) context.insert(newGroup) print(Inserted GroupData: