gpt4 book ai didi

ios - saveEvent 返回 "No calendar has been set"

转载 作者:可可西里 更新时间:2023-11-01 06:15:07 28 4
gpt4 key购买 nike

我正在尝试将事件从我的应用程序保存到日历中。我的代码适用于 iOS 7,但在 iOS 6 上,它返回没有设置日历。

在 iOS 7 上,应用程序提示用户授予对日历的访问权限。但是对于 iOS 6 没有出现这样的提示。虽然应用程序在设置->隐私->日历中被授予访问权限。

是的,我已经实现了 requestAccessToEntityType:completion:

这是我的代码片段

EKEventStore *objStore = [[EKEventStore alloc]init];

if ([objStore respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
// iOS 6 and later
[objStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
{
dispatch_async(dispatch_get_main_queue(), ^{
if (granted)
{
// code here for when the user allows your app to access the calendar
EKEvent *calEvent = [EKEvent eventWithEventStore:objStore];
calEvent.title = mstrTitleEvent;
calEvent.startDate = self.dateToBeSet;
calEvent.endDate = self.dateToBeSet;
calEvent.calendar = objStore.defaultCalendarForNewEvents;

EKAlarm *objAlarm = [EKAlarm alarmWithAbsoluteDate:self.dateToBeSet];
[calEvent addAlarm:objAlarm];

NSError *error;
BOOL _bStatus = [objStore saveEvent:calEvent span:EKSpanThisEvent commit:YES error:&error];

UIAlertView *alertV;

if(_bStatus)
{
alertV = [[UIAlertView alloc]initWithTitle:@"Congratulations" message:@"Saved To Calendar" delegate:nil cancelButtonTitle:@"Right On!" otherButtonTitles:nil];
[alertV show];
}
else
{
alertV = [[UIAlertView alloc]initWithTitle:@"Alert" message:[NSString stringWithFormat:@"Error saving to calendar, with error %@.",[error localizedDescription]] delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
[alertV show];
}
}
else
{
// code here for when the user does NOT allow your app to access the calendar
UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Please grant access to the calendar, and try again later." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alertV show];
}
});
}];

最佳答案

刚刚设法以某种方式找到了解决我的问题的方法。我不得不从一个页面导航到另一个页面,因此发布了两个页面的链接。

首先-> https://discussions.apple.com/message/16497282#16497282

然后,从那里到 -> https://discussions.apple.com/message/16479587#16479587

我必须进入设置>iCloud> 并打开日历。之后,我尝试尝试并运行我的代码,它再次运行良好。

如果您遇到类似问题,请尝试此操作。

我在 iPad 2 上工作,并且设备上安装了 iOS 6.1.3。

关于ios - saveEvent 返回 "No calendar has been set",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734436/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com