まず、デバイスをチェックして、カレンダーへのアクセスを要求しているかどうかを確認する必要があります。これを行うには、Settings
-> Privacy
-->に移動しCalendars
ます。アプリケーションがカレンダーへのアクセスを要求している場合は、そこに表示されます。
(出典: iphone-to-ipad.com )
(ソース: iphonehacks.com )
このカレンダー モジュールにはいくつかの問題がありました。それらをobj-cで修正しました。カレンダー モジュールが iPad でスムーズに動作するようにするには、かなりの作業を行う必要がありました。このカレンダー モジュールと私の名前 (Blake Rogers) の Titanium フォーラムを見ると、問題を修正するために obj c のモジュールに加えた一連の変更を見つけることができるはずです。
この修正を実行するには、カレンダー用の Xcode プロジェクトを実際にダウンロードする必要があります。その後、Module/AgCalendarModule.m
ファイルに次のコードを追加する必要があります。startup
そのファイルのメソッドを次のように置き換えます。
コードを置き換えたら、 を使用して再コンパイルする必要がありますbuild.py
(私の記憶が正しければ...しばらく経ちました) を使用してコンパイルしbuild.py
たら、そのバージョンのモジュールを現在のプロジェクトに戻すことができます。取りかかっている。
-(void)startup
{
// this method is called when the module is first loaded
// you *must* call the superclass
[super startup];
EKEventStore *es = [[EKEventStore alloc] init];
[es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
/* This code will run when uses has made his/her choice */
}];
NSLog(@"[INFO] %@ loaded",self);
}
正直なところ、チタンは私にとって恐ろしい経験でした。アプリが最初の概念実証よりも大きくなり、リモート Web サーバーとの同期が必要になると、メモリ リークがさまざまなタイミングで攻撃するため、再現できないメモリ リークから奇妙なエラーが発生し始めました。
私は現在、素晴らしい Xamarin (Monotouch) に切り替えています (はい、アプリ全体を最初から再構築しています)。