2012-12-11 43 views
3

當我爲日曆創建新的EKEvent我注意到自動添加鬧鐘廣告9的事件日,我怎麼可以設置沒有alarm?我已經嘗試了這種方式:如何在日曆中設置EKEvent沒有鬧鐘

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

但不工作,並在日曆我見警如何ü可以看到:

enter image description here

的人都知道我怎麼可以添加EKEvent不報警?

+1

可以解釋和編寫一些代碼 –

+0

我編輯過這個問題... – Piero

回答

0

您應該設置一個空NSArray沒有報警,是這樣的:

EKEvent *event = // whatever... 
[event setAlarms:[NSArray array]]; 
+0

我已經嘗試過但不起作用... – Piero

+0

然後再試一次,因爲它是正確的方法。它來自我的實時應用程序。 – holex

+0

我再次嘗試過,並doens't工作...我也有問題的方法predicateForEventsWithStartDate:endDate:日曆:那沒有找到我的事件... – Piero

0

我發現默認警報由Settings.app設定的日曆設置。 如果在settings.app中設置了默認警報,我找不到沒有警報的正確方法。

1

我終於找到了爲什麼我們中的某些人在創建新的EKEvents事件時得到警報的原因,儘管我們已經指定了警報。 對我來說,我猜你的大部分人,所選的日曆是谷歌日曆。 谷歌日曆有一個設置,可以爲添加的每個新事件創建一個警報。 要關閉它,請在網絡瀏覽器上登錄到您的Google日曆以將其關閉。 我希望這會節省一些挫折! Brgds, 埃裏克

1

它看起來像只禁用報警的方法是使用下面的代碼

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

希望這有助於創建一個在遙遠的未來。

0

問題解決了我的經驗。 它取決於在設備中,不在模擬器中,通過設置/郵件,聯繫人,日曆/默認警報時間/事件設置。 如果設置爲「無」,則可以添加警報或按照默認值將其留空,即無。有用。 如果設置爲其他任何值,則會覆蓋您對事件警報所做的任何設置,不包括在內。