खोज…


अनुमति का अनुरोध

आपका ऐप बिना अनुमति के आपके अनुस्मारक और आपके कैलेंडर तक नहीं पहुंच सकता है। इसके बजाय, उसे उपयोगकर्ता को ऐप के लिए घटनाओं तक पहुंच प्रदान करने का अनुरोध करते हुए उसे अलर्ट दिखाना होगा।

आरंभ करने के लिए, EventKit ढांचे को आयात करें:

तीव्र

import EventKit

उद्देश्य सी

#import <EventKit/EventKit.h>

एक EKEventStore बनाना

फिर, हम एक EKEventStore ऑब्जेक्ट बनाते हैं। यह वह वस्तु है जिससे हम कैलेंडर और अनुस्मारक डेटा तक पहुंच सकते हैं:

तीव्र

let eventStore = EKEventStore()

उद्देश्य सी

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

ध्यान दें

हर बार कैलेंडर एक्सेस करने के लिए हमें एक EKEventStore ऑब्जेक्ट बनाना कुशल नहीं है। एक बार इसे बनाने की कोशिश करें और अपने कोड में हर जगह इसका इस्तेमाल करें।

उपलब्धता की जाँच

उपलब्धता की तीन अलग-अलग स्थिति है: अधिकृत, अस्वीकृत और निर्धारित नहीं। निर्धारित नहीं होता है मतलब है कि ऐप को एक्सेस देने की जरूरत है।

उपलब्धता की जांच करने के लिए, हम EKEventStore ऑब्जेक्ट की authorizationStatusForEntityType() विधि का उपयोग करते हैं।

तीव्र

switch EKEventStore.authorizationStatusForEntityType(EKEntityTypeEvent){
    case .Authorized: //...
    case .Denied: //...
    case .NotDetermined: //...
    default: break
}

उद्देश्य सी

switch ([EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent]){
    case EKAuthorizationStatus.Authorized:
        //...
        break;
    case EKAuthorizationStatus.Denied:
        //...
        break;
    case EKAuthorizationStatus.NotDetermined:
        //...
        break;
    default:
        break;
}

अनुमति का अनुरोध

निम्नलिखित कोड को NotDetermined मामले में NotDetermined :

तीव्र

eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: { [weak self] (userGrantedAccess, _) -> Void in
    if userGrantedAccess{
        //access calendar
    }
}

विभिन्न प्रकार के कैलेंडर तक पहुंचना

कैलेंडर की सरणी तक पहुँचना

EKCalendar के सरणी तक पहुँचने के लिए, हम calendarsForEntityType विधि का उपयोग करते हैं:

तीव्र

let calendarsArray = eventStore.calendarsForEntityType(EKEntityType.Event) as! [EKCalendar]

कैलेंडर के माध्यम से Iterating

बस लूप के for एक सरल का उपयोग करें:

तीव्र

for calendar in calendarsArray{
    //...
}

कैलेंडर शीर्षक और रंग तक पहुँचना

तीव्र

let calendarColor = UIColor(CGColor: calendar.CGColor)
let calendarTitle = calendar.title

उद्देश्य सी

UIColor *calendarColor = [UIColor initWithCGColor: calendar.CGColor];
NSString *calendarTitle = calendar.title;

एक घटना जोड़ना

ईवेंट ऑब्जेक्ट बनाना

तीव्र

var event = EKEvent(eventStore: eventStore)

उद्देश्य सी

EKEvent *event = [EKEvent initWithEventStore:eventStore];

संबंधित कैलेंडर, शीर्षक और दिनांक सेट करना

तीव्र

event.calendar = calendar
event.title = "Event Title"
event.startDate = startDate //assuming startDate is a valid NSDate object
event.endDate = endDate //assuming endDate is a valid NSDate object

कैलेंडर में ईवेंट जोड़ना

तीव्र

try {
    do eventStore.saveEvent(event, span: EKSpan.ThisEvent)
} catch let error as NSError {
    //error
}

उद्देश्य सी

NSError *error;
BOOL *result = [eventStore saveEvent:event span:EKSpanThisEvent error:&error];
if (result == NO){
    //error
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow