[英]Monotouch - add event to iphone calendar from my app
我的應用程序是否可以以編程方式將事件(經用戶許可)添加到iphone日歷中?
干杯
女://
它可以在iPhone 4 SDK中使用,所以在Monotouch中。 看看EKEventStore和EKEvent。 這是Apple文檔 。
以下是我保留的代碼段頁面中的示例:
public void CalendarEvents()
{
EKEventStore store = new EKEventStore();
EKCalendar calendar = store.DefaultCalendarForNewEvents;
// Query the event
if (calendar != null)
{
// Searches for every event in the next year
NSPredicate predicate = store.PredicateForEvents(NSDate.Now,DateTime.Now.AddDays(360),new EKCalendar[] {calendar});
store.EnumerateEvents(predicate, delegate(EKEvent currentEvent, ref bool stop)
{
// Perform your check for an event type
});
// Add a new event
EKEvent newEvent = EKEvent.FromStore(store);
newEvent.Title = "Lunch at McDonalds";
newEvent.Calendar = calendar;
newEvent.StartDate = DateTime.Now.Today;
newEvent.EndDate = DateTime.Now.Today.AddDays(1);
newEvent.Availability = EKEventAvailability.Free;
store.SaveEvent(newEvent, EKSpan.ThisEvent, new IntPtr());
}
}
橫向思考方法是考慮創建一個ICS文件,然后創建一個電子郵件(可以通過編程方式完成),然后將其發送給用戶或他們想要的任何人。 這就是我在代碼中解決這個問題的方法。 它的美妙之處在於它還不會在用戶中產生您的應用程序將管理日期的感覺,即,如果它們在您的應用程序中更改了您將取消的內容並且即時重新預訂。
這在官方iPhone API中是不可能的,所以我懷疑通過單聲道觸摸是可能的。
不能直接使用SDK。 您可以嘗試讓用戶訂閱從您的服務器發布的在線日歷,然后將事件上傳到該日歷,但您可能會遇到各種同步問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.