Widget作成メモ(6)ーカレンダーイベント 表示の編集
こんにちは。川上です。
Widget面に、Myカレンダーイベントの2、3日の項目が表示できたら良いよねっと、ネット巷に探ってみました。
お〜。ググ先輩方々から、結構教えてくれます。有難いことです。サンクスサンクスです。
で、取り敢えず、カレンダーイベントの取得処理のアレコレを参照してお勉強しました。
先ずは、Widgetの表示メンバの設定から。。。。
1 2 3 4 5 6 7 | struct SimpleEntry: TimelineEntry { let date: Date let configuration: ConfigurationIntent let myDayString : String // "○○/○○(○○)" let myCalenderString : String // ← イベント項目の表示 } |
日付け表示メンバ(myDayString)の編集箇所に、myCalenderStringの編集処理を同様に追加して、動かしてみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import EventKit // MARK: - +++ UIKit U/I +++ CFLib_Mgr() class CFLib_Mgr { // MARK: - カレンダーイベント用 メンバー static let myEventStore = EKEventStore() var myTargetCalendar: EKCalendar! // MARK: - ⭐️ +++ カレンダーイベント static func getCalenderEventStr() -> String { var dstr = "今日明日の予定は\nありません。" let weekstr :[String] = [ "日", "月", "火", "水", "木", "金", "土"] // ユーザーにカレンダーの使用の許可を求める. let bret = allowAuthorization() if bret == false { return "err-無し" } ・・・・・ ・・・・・ return dstr } |
Widgetは、困ったことに、print logの表示が無さそうーで、debug Breakは、稀に?止まる時がある模様みたい。ホンマかいな?
時計アナログPrj側に、カレンダーイベントの取得の同処理を動かすと、しっかり、落ちてくれて、
”The app’s Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data.”
が吐き出していました。
info.plistに、
Privacy – Calendars Usage Description
の設定が必要みたいでした。
時計アナログPrj側にも、info.plistにPrivacyを入れて、時計アナログPrjを起動して、例のアラートメッセージをOKすると
ので、Widgetが、ちゃんとEvent表示処理ができそうです。
で、追々でカレンダーイベントの表示をwね。
ではでは。