2017-03-21 13 views
-2

私のアプリからカレンダーを作成しようとしました。それはiPhone 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 ") 
    } 
関連する問題