Я написал этот код ниже только для того, чтобы его скомпилировать, но это не сработает, потому что мне нужна цель развертывания 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--------------