我在下面编写了这段代码只是为了让它编译,但这不起作用,因为我需要一个 10.8 的部署目标。
发生的事情是我需要访问 EKEventStore ,所以当有人下载这个应用程序时,它在 10.8 中运行良好,但有人在 10.9 中下载会出错,因为该应用程序没有日历的隐私权限。由于它是为 10.8 编译的,因此它无法访问方法 requestAccessToEntityType:EKEntityTypeEvent..
怎么做呢?
在相关说明中,您如何编译 10.9 的代码和 10.8 的其他代码,并根据其所处的环境调用这些不同的部分?记住这是针对 Mac App Store 的,如果这是要走的路,请说明一下,就好像您正在与不知道如何开始执行此操作的人交谈,因为我不......谢谢。
//------------------check authorization of calendars--------------
#if (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1090) || (__IPHONE_OS_VERSION_MIN_REQUIRED)
if(!eventStore) eventStore = [[EKEventStore alloc] init];
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) //.............put this back in...
{
if (granted)
{
NSLog(@"granted permission to eventstore!");
authorizedEventStore = YES;
authorizedCalendar();
}
else
{
NSLog(@"Not granted");
authorizedEventStore = NO;
notAuthorized();
}
}];
#else
NSLog(@"not able to request");
if(!eventStore) eventStore = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskEvent];
authorizedEventStore = YES;
authorizedCalendar();
#endif
//------------------end check authorization of calendars--------------