簡體   English   中英

Monotouch - 從我的應用程序添加事件到iphone日歷

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM