我正在开发一个需要访问日历数据库的应用程序.我输入了一个代码,现在要求我在网站上找到的许可,并且谢谢你:
requestAccessToEntity iOS6-向后兼容性 - EKEventStore
但是出于测试目的,我希望能够停用该权限并重新运行该应用程序,以便再次询问该问题.如果我从设备中删除应用程序并重新安装它,设备会记住该权限已被询问,并且不会再次询问.如果我再次关闭权限,则不会再次询问权限,但显然无法访问权限.那么如何让设备完全忘记它已经安装了应用程序.谢谢
雷扎
我正在尝试从我的应用程序将事件保存到日历中。我的代码适用于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 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用添加日历事件EKEventEditViewController
。我已经安装一EKEventEditViewController
正确与EKEventStore
,EKEvent
,和其editViewDelegate
作为呈现视图控制器。该EKEventEditViewController
礼物本身正确的,但是当我按下任一“添加”或“取消”,didCompleteWithAction
不叫EKEventEditViewDelegate
。但是,我确实收到此错误(虽然没有崩溃):
[EKCalendarItemLocationInlineEditItem isSubitemAtIndexSaveable:] - Location Inline Edit Item didn't have a text label on its non conference location cell; will return NO
Run Code Online (Sandbox Code Playgroud)
你可以看到这里是EKCalendarItemLocationInlineEditItem
在EventKitUI
框架。
似乎这与位置有关,但我似乎无法弄清楚。有没有人遇到此错误,或者有任何进一步调试的提示?谢谢!我正在运行iOS 11和Xcode 9.0.1。
我在日历中有一个重复发生的事件.我使用此代码删除单个事件[store removeEvent:event span:EKSpanThisEvent commit:YES error:&errorThis];
,此方法返回true
但事件未从日历中删除.
背景:
我现在可以看到如何自定义EKEventView的颜色,这是一个苹果视图,可用于显示日历事件.代码是我的帖子:这个代码将来证明自定义EKEventViews的颜色(代码附加)
如果这个视图是EDIT'able,那么苹果EKEventView类然后显示模态"EKEventEditView"视图.
问题:
与API的链接:
EKEventViewController:http://developer.apple.com/library/ios/#documentation/EventKitUI/Reference/EKEventViewControllerClassRef/Reference/Reference.html
EKEventEditViewController - http://developer.apple.com/library/ios/#documentation/EventKitUI/Reference/EKEventEditViewControllerClassRef/Reference/Reference.html
我正在探索EKEventKit.我连接我的iPhone并拨打电话以安装日历
EKEventStore *eventDB = [[EKEventStore alloc] init];
NSArray * calendars = [eventDB calendars ];
Run Code Online (Sandbox Code Playgroud)
但是,当我记录日历时,我收到此错误消息
"CADObjectGetIntProperty失败,错误错误Domain = NSMachErrorDomain Code = 268435459"操作无法完成.(Mach error 268435459 - (ipc/send)invalid destination port)"
有谁知道这是什么,为什么我得到它.谢谢
雷扎
我遇到了问题.我需要知道我的EventStore中的事件何时被更改,所以对于这种情况我使用EKEventStoreChangedNotification
但是这个通知返回给我难以理解的字典,userInfo
它看起来像这样:
EKEventStoreChangedObjectIDsUserInfoKey = ("x-apple-eventkit:///Event/p429" );
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用此数据来访问已更改的对象.请帮我
我找到了这个答案,并告诉我们如何创建一个离线日历(我认为)但是如何在服务器上订阅以ics格式吐出日历的URL?这可能吗?
我在iOS应用程序中使用Event Kit并使用Event Kit创建事件.我能够创建它,但我也希望能够删除它.但我无法做到这一点.我知道有一种方法可以让EKEventStore删除事件,但是我无法创建事件对象.我将事件标识符作为字符串,但我无法使用它创建事件对象.有人可以指导我这样做吗?
问候Pankaj
一种解决方案可能是:
创建一个新模型EKEventExt
并在它们之间添加一对一关系,我不确定它是否可行,因为EKEventExt
它存储在我的一个sqlite中,EKEvent
并且存储在事件存储中。
我在iOS5上工作EKEvent.我能够添加,删除,列出事件,但现在问题是当我尝试编辑现有事件时,"完成"按钮会产生问题.它不会进入eventEditViewController:方法.可能是什么问题?任何帮助将不胜感激.取消和删除按钮正在运行.当我编辑事件并单击"完成"时,控制台会显示
Calendar: unable to save: (null)
.
这是我试过的代码..
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
EKEventEditViewController* eventViewController = [[EKEventEditViewController alloc] init];
event = [self.events objectAtIndex:indexPath.row];
eventViewController.event = event;
eventViewController.editViewDelegate = self;
[self presentModalViewController: eventViewController animated:YES];
[eventViewController release];
}
-(void)eventEditViewController:(EKEventEditViewController *)controller
didCompleteWithAction:(EKEventEditViewAction)action {
EKEvent *thisEvent = controller.event;
NSError *error;
if ([controller.event.endDate isEqualToDate:controller.event.startDate]) {
controller.event.endDate = [controller.event.startDate dateByAddingTimeInterval:1.0]; // add one second
}
switch (action) {
case EKEventEditViewActionCancelled:
// User tapped "cancel"
NSLog(@"Canceled");
break;
case EKEventEditViewActionSaved:
NSLog(@"Saved");
[controller.eventStore saveEvent:controller.event span: EKSpanFutureEvents error:&error];
break; …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个 CLI 应用程序,请求访问 OSX Mavericks 上的提醒应用程序。一切正常,请求权限,并检测用户是否禁用了权限。我遇到的问题是我无法完全撤销操作系统中应用程序的权限。该应用程序出现在 Prefs -> Privacy -> Reminders 中,我能做的最多就是禁用权限,但我想(再次)测试权限请求是否正确触发。有什么方法可以完全删除权限,例如从偏好设置 -> 隐私 -> 提醒中删除应用程序?
ekeventkit ×12
ios ×9
ekevent ×7
ekeventstore ×4
calendar ×3
objective-c ×3
eventkit ×2
iphone ×2
cocoa ×1
events ×1
ios5 ×1
ios6 ×1
macos ×1
permissions ×1
uitableview ×1