Widget作成メモ(7)ーカレンダーイベントの使用許可
こんにちは、川上です。
Widgetに、取り敢えず、今日明日のカレンダーイベントの表示で十分ですwね。
内臓持ちの「カレンダー.app」で、カレンダーイベントを追加するのがラクかなっと。
巷から参照したカレンダーイベントの表示処理を、チョコっと、編集しました。
で、部品I/Fから。。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | import Foundation import UIKit import EventKit // MARK: - +++ UIKit U/I +++ CFLib_Mgr() class CFLib_Mgr { // MARK: - カレンダーイベント用 メンバー static let myEventStore = EKEventStore() var myTargetCalendar: EKCalendar! ・・・・ // MARK: +++ 許可状況を確認して、許可されていなかったら許可を得る static func allowAuthorization() -> Bool{ var bRet :Bool = true if getAuthorization_status() { // 許可されている return bRet } else { bRet = false // 許可されていない myEventStore.requestAccess(to: .event, completion: { (granted, error) in if granted { return } else { print("Not allowed") } }) } return bRet } // +++ allowAuthorization() // MARK: +++認証ステータスを確認する static func getAuthorization_status() -> Bool { // 認証ステータスを取得 let status = EKEventStore.authorizationStatus(for: .event) // ステータスを表示 許可されている場合のみtrueを返す switch status { case .notDetermined: print("NotDetermined") return false case .denied: print("Denied") return false case .authorized: print("Authorized") return true case .restricted: print("Restricted") return false @unknown default: return true } } // +++ getAuthorization_status() } |
info.plistのPrivacy – Calendars Usage Description
を忘れずに。。
次回も、カレンダーイベントの取得へと続くのでした。。。
ではでは。