4

新しいEKEventカレンダーを作成すると、イベント日のアラーム広告が自動的に追加されることに気付きました9。どのように設定しないのalarmですか? 私はこの方法で試しました:

EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.titile = @"This is an event";
event.calendar = calendar;
event.alarms = nil; //in this way don't work...

しかし機能しません。カレンダーには、どのように表示されるかというアラームが表示されます。

ここに画像の説明を入力

アラームなしで EKEvent を追加する方法を知っている人はいますか?

4

6 に答える 6

1

NSArray次のように、アラームなしで空を設定する必要があります。

EKEvent *event = // whatever...
[event setAlarms:[NSArray array]];
于 2012-12-11T14:27:53.913 に答える
1

アラームをオフに指定しているにもかかわらず、新しい EKEvents イベントを作成するときに一部の人がアラームを受け取る理由がようやくわかりました。私にとって、そしてほとんどの人にとっては推測ですが、選択されたカレンダーは Google カレンダーです。Google カレンダーには、新しいイベントが追加されるたびにアラームを作成する設定があります。オフにするには、Web ブラウザーで Google カレンダーにログオンしてオフにします。これでフラストレーションが解消されることを願っています!エリック・ブルグズ

于 2014-11-04T22:23:19.953 に答える
1

アラームを無効にする唯一の方法は、次のコードを使用して遠い将来にアラームを作成することです

EKAlarm * alarm = [EKAlarm alarmWithAbsoluteDate:[NSDate distantFuture]];
event.alarms = @[alarm];

お役に立てれば。

于 2015-05-07T00:10:48.273 に答える
1

カレンダー設定の Settings.app でデフォルトのアラームが設定されていることがわかりました。デフォルトのアラームが settings.app で設定されている場合、アラームなしでイベントをセットアップする正しい方法が見つかりません。

于 2013-01-23T07:58:41.293 に答える
1

私にとって唯一の方法は、作成直後にイベントから手動で削除することです:

private func CreateEntry(calendar : EKCalendar, date: Date, prop: String) {

    let event:EKEvent = EKEvent(eventStore: eventStore)

    event.title = prop
    event.startDate = date
    event.endDate = date
    event.isAllDay = true
    event.notes = prop
    event.calendar = calendar //eventStore.defaultCalendarForNewEvents

    if event.alarms != nil {
        for del in event.alarms! {
            event.removeAlarm(del)
        }
    }

    do {
        try eventStore.save(event, span: EKSpan.thisEvent, commit: true)
    } catch let error as NSError {
        print("failed to save event with error : \(error)")
    }
}
于 2019-05-04T15:15:40.737 に答える
0

私の経験で問題は解決しました。シミュレーターではなくデバイスで、設定/メール、連絡先、カレンダー/デフォルトのアラート時間/イベント設定によって異なります。None に設定すると、アラートを追加するか、デフォルト (nil) のままにすることができます。できます。それ以外に設定すると、イベント アラームに対して行ったすべての設定が上書きされます (nil を含む)。

于 2015-11-20T16:44:27.437 に答える