Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2011年11月13日

カレンダーに情報を登録する



アプリからiOSデバイスのカレンダーに情報を登録する方法。

1. フレームワークを追加する。
・EventKit.framework
・EventKitUI.framework

2. ヘッダファイル定義
hogeViewController.h
#import <EventKit/EventKit.h>
#import <EventKitUI/EventKitUI.h>

@interface hogeViewController : UIViewController <EKEventEditViewDelegate>
{

EKEventStore *eventStore;

}

@property (nonatomic, retain) EKEventStore *eventStore;

@end



2. クラス定義
hogeViewController.m
#import "hogeViewController.h"

@implementation hogeViewController

@synthesize eventStore;

- (void)viewDidLoad {
[super viewDidLoad];

self.eventStore = [[EKEventStore alloc] init];

}

// eventEditViewControllerに渡す情報を編集し、eventEditViewControllerを起動するメソッド
- (void)eventAdd {
EKEvent *event = [EKEvent eventWithEventStore:self.eventStore];

event.title = @"Event Title"; // タイトル
event.location = @"Event Location"; // 場所
event.startDate = [NSDate date]; // 開始日
event.endDate = [NSDate date]; // 終了日
event.allDay = YES; // 終日
event.notes = @"Event Note"; // 備考

EKEventEditViewController *eventEditViewController = [[[EKEventEditViewController alloc] init] autorelease];
eventEditViewController.editViewDelegate = self;
eventEditViewController.event = event;
eventEditViewController.eventStore = self.eventStore;
eventEditViewController.modalPresentationStyle = UIModalPresentationFormSheet;

[self presentModalViewController:eventEditViewController animated:YES]; // eventEditViewControllerをmodalViewとして起動する

}

// eventEditViewControllerが閉じたときに呼ばれるメソッド
- (void)eventEditViewController:(EKEventEditViewController *)controller
didCompleteWithAction:(EKEventEditViewAction)action
{

NSError *error = nil;

switch (action) {
case EKEventEditViewActionCanceled:
break;

case EKEventEditViewActionSaved:
[controller.eventStore saveEvent:controller.event span:EKSpanThisEvent error:&error];

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Infomation" message:@"Event Added on calendar" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alertView show];
[alertView release];

break;

case EKEventEditViewActionDeleted:
[controller.eventStore removeEvent:controller.event span:EKSpanThisEvent error:&error];
break;

default:
break;
}

[controller dismissModalViewControllerAnimated:YES];
}







タグ:IOS iPhone iPAD
【Eventkitの最新記事】
posted by mobileDeveloper at 12:42 | Comment(0) | TrackBack(0) | Eventkit はてなブックマーク - カレンダーに情報を登録する | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。