Post not yet marked as solved
Hello,
I try to read reminders in my app using Swift and the EventKit API. This works great with one exception: the url field.
It is clearly set for a reminder and the official reminders app displays the link correctly .
In my Swift code I get the reminder object and title, notes, etc are correctly set. The attribute URL is always nil and I couldn't find any other matching attribute.
Has anybody solved this?
I use fetchReminder on the EKEventStore to retrieve the reminders. This should result in EKCalendarItem objects. I use the snippet below to access the reminders and it works for all attributes except the url attribute.
let jsonElements = reminders.enumerated().map({JsonReminder(id: $1.calendarItemIdentifier, title: $1.title, notes: $1.notes, completed: $1.isCompleted, dateString: createDateString(date: $1.dueDateComponents), url: createUrlString(url: $1.url))})
Kind regards
Dominik
Post not yet marked as solved
I have experienced a strange issue on my iphone test device. (iPhone Xr running iOS 17.0.3)
In my app I ask a user for calendar full access. Once I gave the access permission, the app works as expected. Then somehow the status changed from .fullAccess to .denied. This happens without my interaction in iPhone's Settings. I have doubled checked in Settings app and the permission is still granted. But somehow the status is denied when calling EKEventStore.authorizationStatus(for: .reminder)
Regardless of how bad my code is, the app should not be able to change status from .fullAccess to .denied. Correct?
I have never had this problem until lately. But it happens to both my iOS app and my mac Catalyst app. Which is really strange. (iOS 17.0.3 and Sonoma 14.0)
This problem doesn't happen all the time though. Most of the time my app works fine. But it can happen few times per day. And even more strange, it tends to happen at the same time for iOS and macOS.
I don't know if this problem happens to me because of the fact that I install/uninstall the app many times but currently it just causes me a headache.
I have attached 2 images. These 2 images happen at the same time. The only fix is that I have to turn off then turn on the Full Access again in Settings app. Something for Reminder.
Any advice is much appreciated. Thank you.
Post not yet marked as solved
Hello, I've implemented my Virtual conference extension and my app shows up without issues in the Calendar app and displays our app with a Join button and it all works great!.
However, when creating an event from the main target of the app using EventKitUI with the help of EKEventEditViewController and an EKEvent instance, the event does not display as if it were a virtual conference.
I see a few other apps like Zoom have implemented this and I'm having trouble finding the related documents on how to link a programtically created event with a virtual conference.
Any help or pointers on how to achieve this is highly appreciated.
Thanks!
Post not yet marked as solved
Hi, I am facing a problem related to the API in the title.
When the API is executed with EKAuthorizationStatus notDetermined, the dialog is not displayed and (false, nil) is passed to completion.
// Create an event store
let store = EKEventStore()
store.requestWriteOnlyAccessToEvents { granted, error in
if let error {
print("error occurred")
} else if granted {
print("allowed")
} else {
print("denied")
}
}
// "denied"
That is why I am not sure what is causing the dialog not to appear.
Is this a bug in the API?
note
This is not a problem in the simulator. It is a problem **only on the actual device.
development environment
Xcode Version 15.0 (15A240d)
iPhone SE(3rd) iOS 17.0.2 (21A351)
Post not yet marked as solved
iPad Pro 12.9 、iOS15.4 (21E230)
#700003 NSInternalInconsistencyException
-[UINSUIKitBackgroundingController _updateAppWideBackgroundStateSlammingNotifyingDelegate:]: Called off the main thread.
CoreFoundation __exceptionPreprocess
CoreFoundation
__exceptionPreprocess + 220
2
Foundation
-[NSCalendarDate initWithCoder:] + 0
3
UIKitMacHelper
-[UINSUIKitBackgroundingController _updateAppWideBackgroundStateSlammingNotifyingDelegate:] + 504
4
UIKitMacHelper
-[UINSUIKitBackgroundingController transitionUIAppThroughBackgroundStateIfNecessary] + 144
5
UIKitMacHelper
-[UINSApplicationLifecycleController transitionAppThroughBackgroundState] + 308
6
UIKitMacHelper
-[UINSApplicationDelegate _toggleAppForegroundStateIfAppStoreURL:] + 276
7
UIKitMacHelper
__54-[UINSApplicationDelegate openURL:options:completion:]_block_invoke_2 + 196
8
AppKit
_NSWorkspaceHandleLSOpenResult + 164
9
LaunchServices
_LSFireCompletionHandler(void (__LSASN const*, unsigned char, __CFError*) block_pointer, NSURL*, NSURL*, NSDictionary<NSString*, objc_object*>, objc_object, bool, NSError*) + 200
10
LaunchServices
_LSOpenAsyncCommonDispatched(objc_object*, NSArray<NSURL*>, NSURL, objc_object*, NSDictionary<NSString*, objc_object*>, NSObject<OS_dispatch_semaphore>, void (__LSASN const*, unsigned char, __CFError*) block_pointer) + 5732
11
libdispatch.dylib
_dispatch_call_block_and_release + 32
17
libsystem_pthread.dylib
start_wqthread + 8
#0 Thread
0
libsystem_kernel.dylib
mach_msg_trap + 8
4
CoreFoundation
CFRunLoopRunSpecific + 600
5
HIToolbox
RunCurrentEventLoopInMode + 292
6
HIToolbox
ReceiveNextEventCommon + 564
7
HIToolbox
_BlockUntilNextEventMatchingListInModeWithFilter + 72
8
AppKit
_DPSNextEvent + 860
9
AppKit
-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328
10
AppKit
-[NSApplication run] + 596
11
AppKit
NSApplicationMain + 1132
12
AppKit
+[NSWindow _savedFrameFromString:] + 0
13
UIKitMacHelper
UINSApplicationMain + 1276
Post not yet marked as solved
Hello everyone,
I'm attempting to incorporate a button in my StartView that will lead directly to ContentView without the intermediate step of using a navigation view. I want StartView to seamlessly transition into ContentView.
Thank you very much in advance!
import SwiftUI
struct StartView: View {
@State private var isQuizStarted = false
@Environment(.presentationMode) var presentationMode
var body: some View {
VStack {
Text("Radiology Core Prep Q&A")
.font(.headline)
.padding()
Image("cxr")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(height: 325)
}
}
}
struct StartView_Previews: PreviewProvider {
static var previews: some View {
StartView()
}
}
Post not yet marked as solved
hi all,
is anyone else seeing this? I am just going back into my app and when I run it now, it's failing on creating a new calendar. I just updated to iOS 17 for the simulator and Xcode as well...
Post not yet marked as solved
It looks like the delegate function eventEditViewControllerDefaultCalendar(forNewEvents controller: EKEventEditViewController) -> EKCalendar of the EKEventEditViewDelegate protocol is not called in iOS 17 anymore.
The app does have the new NSCalendarsFullAccessUsageDescription key set and full access is granted.
Is this the intended behaviour for iOS 17? Does anybody else have the same problem?
Post not yet marked as solved
I have an app that has lots of booking dates. I need a quick way to open the Mac Calendar on the date of the booking just so the user can cross check the dates for clashes. At this stage, I don't need to build UI into my app that shows the dates. What is already in Calendar is sufficient - don't reinvent the wheel.
A long time ago, calshow seemed to be the way to do this. But that seems to have withered away.
Opening a URL with ical:// opens calendar, but not at the date required since there seems to be no URL scheme defined.
I could query Event Kit, but that means building unnecessary UI at this time.
There's possibly a way to do this with Scripting Bridge and probably a way to do this with a call to an AppleScript.
Is there no simpler way to do this in 2023 on a Mac?
Post not yet marked as solved
I've created an event in icloud calendar in Iranian TimeZone.
In the detials the TimeZone is appearing as Iraninan Standard Time - UTC +3:30.
From the Developer's API we are getting the TImeZone as UTC+4:30.
Please check and get back to us.
Thanks,
Ashu
Post not yet marked as solved
So I'm looking to add a button to my app that would create and fill a reminder in the user's Reminders app, but I've found that I first need to request access to the user's Reminders app data. I've also found the way to do that has been changed with iOS 17 as explained here: https://developer.apple.com/documentation/eventkit/ekeventstore/4162273-requestfullaccesstoreminders
How do I use this function so that the prompt requesting for access to the user's Reminders app pops up at the launch of the app every time unless they've previously given permission?
Also what would be the function to create the reminder once I do have permissions? This is the code ChatGPT gave me to do so, but I just keep getting "Failed to create Reminder URL".
func createReminder() {
let reminderTitle = "******** Groceries"
var subtaskStrings: [String] = []
for ingredient in shoppingList {
subtaskStrings.append(ingredient)
}
let subtasks = subtaskStrings.map { (ingredient) -> [String: Any] in
return [
"title": ingredient,
"completed": false
]
}
let reminderData: [String: Any] = [
"title": reminderTitle,
"subtasks": subtasks
]
if let reminderURL = createURL(for: "x-apple-reminder://", with: reminderData) {
UIApplication.shared.open(reminderURL)
} else {
print("Failed to create Reminder URL")
}
}
Also I intend on expanding this function to the notes app. But im taking one step at a time.
Any help would be GREATLY appreciated. Thanks!
Post not yet marked as solved
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.
Hi, I'm creating a calendar application. I am using the EKeventEditViewController to add events to my application. The problem is that the title of the sheet cannot be modified. When I change a title, the console shows that the title has changed. However, the simulator still displays the previous title; "New Event". How can I fix it?
void (^showEventEditingController)(EKEvent *) = ^(EKEvent * event){
EKEventEditViewController *controller = [[EKEventEditViewController alloc] init];
controller.event = event;
controller.eventStore = [self getEventStoreInstance];
controller.editViewDelegate = self;
NSLog(@"%@", controller.title); // "New Event"
controller.title = @"My Custom title";
NSLog(@"%@", controller.title); // "My Custom title"
[self assignNavbarColorsTo:controller.navigationBar];
[self presentViewController:controller];
NSLog(@"%@", controller.title); // "My Custom title"
};
Post not yet marked as solved
when i use FirebaseFirestore in flutter app i got below error so plz guide to me.
[!] The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: (FirebaseFirestore)
Post not yet marked as solved
How to create an event and sync with iCloud Calendar in Nodejs?
Post not yet marked as solved
when use EKEventViewController to open event details,can't open url directly for iOS17.
Post not yet marked as solved
"Why am I encountering an ISO error while trying to build my iOS app in Xcode? What could be the potential causes and how can I troubleshoot and resolve this issue?"
Post not yet marked as solved
I'm trying to find a way to retrieve the email account associated to calendar events on the Mac. Is there a way to do that?
I tried looking in to the EKEvent object and it does not indicate the email account. I also tried looking in to the ACAccountStore.
Post not yet marked as solved
We use Eventkit Framework to synchronize the meeting calendar to the system calendar, read the System Calendar with -[EKEventStore calendarsForEntityType:], Use - [EKEventStore saveEvent: span: commit: error:] wrote system calendar. This usage currently triggers the Contacts Permission Alert on a user. Through the log, we identified no use - [CNContactStore requestAccessForEntityType: completionHandler:] and Contacts API.
Post not yet marked as solved
Only used EventKit's calendarsForEntityType API, but a user trigger the address book privacy alert. Is it possible for EventKit to trigger the privacy alert of the address book?