I have iCloud sync working in the simulator, where I signed in with my Apple ID on two simulators and it syncs fine. But when I upload the same build to TestFlight and install it on two of my physical devices, it does not sync. Each device behaves as if they only have a local store, eg. each can save and load fine locally. I already tried pushing my schema to production, but it still does not work, even when given 24 hours to see if it would sync. I have also tried restarting both devices and deleting and re-installing the app on both devices. I have also confirmed that iCloud is turned on in the settings app for my app.
I saw this post on Stackoverflow, which seems to be related to my issue, but the suggestions there did not work either. I also saw this post:
https://www.hackingwithswift.com/forums/swiftui/swiftui-app-failing-to-sync-cloudkit-data-but-only-in-testflight-version/10714
However I did not understand the accepted answer, and none of the other suggestions worked either.
Post
Replies
Boosts
Views
Activity
I have an app with destinations for both visionOS and iOS. I created a new platform for my app in App Store Connect for visionOS. Then I selected "Any VisionOS Device (Designed for iPad, arm64)" for my destination in Xcode and archived it. The first red flag that I saw was when it finished archiving, the archive listed in the organizer window read "iOS App Archive." Then after I uploaded the build to App Store Connect and it finished processing, it did not appear in the builds section for the visionOS App, but it did appear in the iOS app section. I tried quitting Xcode and cleaning the build folder, but it still shows up as an iOS App Archive.
Am I doing something wrong or is this a bug? Thanks.
When I try to submit a build to a public TestFlihgt Group, I get the following error:
This build is using a beta version of Xcode and can’t be submitted. Make sure you’re using the latest version of Xcode or the latest seed release found on the releases tab in News and Updates
Adding new builds was working fine earlier today, about 5 hours ago. I am not using a beta version of Xcode, just the latest version downloaded from the App Store, version 15.0.1 (15A507). Also, this is not the first build of this group, as I have added many builds to this group before, even a few hours before this error with the same hardware and software configuration. I am using a MacBook Pro M2 Pro, running macOS Ventura 14.1 (23B74).
How do I access the user's reminders on Vision Pro? When I use the same code from iOS with EventKit, the reminders and reminder lists are empty. Is the way to access reminders the same on VisionOS as it is on iOS, iPadOS, and macOS? Or is there a new framework? Thanks.
I can add a new calendar to the user's calendars like this, using the saveCalendar(_:commit:) method:
let ekStore = EKEventStore()
func saveCalendar(calendar: EKCalendar) throws {
try ekStore.saveCalendar(calendar, commit: true)
}
let newList = EKCalendar(for: .reminder, eventStore: store.ekStore)
newList.source = store.ekStore.defaultCalendarForNewReminders()?.source
newList.title = newListName
newList.cgColor = listColor
do {
try saveCalendar(calendar: newList)
} catch {
print("Error adding list: \(error.localizedDescription)")
}
And I store the calendar object.
When the user finishes editing a calendar (reminders list) in my app, I try to save it like this, using the stored calendar as a starting point:
let updatedList = existingCalendar
updatedList.title = newListName
updatedList.cgColor = listColor
do {
try saveCalendar(calendar: updatedList)
} catch {
print("Error saving list: \(error.localizedDescription)")
}
But the calendar doesn't save and I get this error: That account does not support reminders..
I have also tried explicitly setting the calendar's source:
updatedList.source = store.ekStore.defaultCalendarForNewReminders()?.source
but then I get this error: That calendar may not be moved to another account..
My Question: How do I update calendars (reminder lists) from my app?
I have a simple SwiftUI app with a list of 2 items: Item 1 and item 2. Tapping on one of the items should show the corresponding page:
ContentView.swift
struct ContentView: View {
@State var isPresented:Bool = false
@State var items = [
"item 1",
"item 2",
]
var body: some View {
List {
ForEach(items, id:\.self) { item in
Button {
isPresented = true
} label: {
Text(item)
}
.sheet(isPresented: $isPresented, content: {
CustomView(text: item)
})
}
.onDelete { indexSet in
items.remove(atOffsets: indexSet)
}
}
}
}
CustomView.swift
struct CustomView: View {
var text:String
var body: some View {
Text("Text: \(text)")
.onAppear {
print("text: \(text)")
}
}
}
The expected behavior with this code is tapping that Item 1 or Item 2 presents a sheet with a label reading "item 1" or "Item 2", respectively.
However, that is not what happens. Tapping on any of the items always shows item 2's page. Even after deleting item 2 and tapping item 1 again, the page always shows item 2.
This issue persisted from iOS 15 to iOS 16 (I didn't test it before iOS 15). Running on various simulators and physical devices, including iPhone 11 Pro, and iPhone 14 Pro. Xcode version 14.0, macOS 12.6.
Is this a bug? Or is my code wrong? Any help would be appreciated.
My iOS app crashes with this popup:
Message from debugger: Terminated due to memory issue
In the debugger, I occasionally get this message as well:
No error handler for XPC error: Connection interrupted
This only happens on a certain iPad Pro (11-inch) and no other devices. It seems to be happening when I am saving data to a file.