2017-03-21 11 views
-2

내 앱에서 캘린더를 만들려고했습니다. 그것은 아이폰 6에서 작동하지 않습니다, 응용 프로그램이 추락했습니다. 여기 Swift에서 특정 앱 캘린더를 만드는 방법 3

내 코드입니다 :

do { 
    let calender = EKCalendar(for: .event, eventStore: eventStore) 
    calender.title = "MyApp" 
    calender.source = eventStore.defaultCalendarForNewEvents.source 
    try eventStore.saveCalendar(calender, commit: true) 
    userDefaults.set(calender.calendarIdentifier, forKey: calendarIdentifierKey) 
    userDefaults.synchronize() 
} catch { 
    print("Error occurred while creating calendar ") 
} 

전화에서

  1. 업데이트 기본 달력이 xxx.gmail.com
  2. 로 설정하고 다음과 같은 오류가

    을 발생합니다
    Error occurred while creating calendar 
    
+2

무엇이 오류입니까? – ozgur

+0

캘린더가 생성되지 않았습니다. – Vignesh

+0

캘린더를 만드는 동안 오류가 발생했습니다. 치명적인 오류 : 선택 값을 언 래핑하는 동안 예기치 않게 nil이 발견되었습니다. – Vignesh

답변

1

마침내 대답을 찾았습니다.

do { 
     let calender = EKCalendar(for: .event, eventStore: eventStore) 
     calender.title = "MyApp" 
     let sourcesInEventStore = eventStore.sources 
     let filteredEventStores = sourcesInEventStore.filter{ 
      (source: EKSource) -> Bool in 
      source.sourceType.rawValue == EKSourceType.local.rawValue || source.title.equalsIgnoreCase("iCloud") 
     } 
     if filteredEventStores.count > 0 { 
      calender.source = filteredEventStores.first! 
     } else { 
      calender.source = sourcesInEventStore.filter{ 
       (source: EKSource) -> Bool in 
       source.sourceType.rawValue == EKSourceType.subscribed.rawValue 
       }.first! 
     } 
     try eventStore.saveCalendar(calender, commit: true) 
     userDefaults.set(calender.calendarIdentifier, forKey: calendarIdentifierKey) 
     userDefaults.synchronize() 
    } catch { 
     print("Error occurred while creating calendar ") 
    }