0

https://github.com/stelford/Titanium-Calendarを使用しています

私の問題は、ユーザーにカレンダーへの許可を求めないことです。クラッシュしていた別のモジュールを使用していたため、コードが機能することはわかっていますが、テストに使用する電話に許可を与えるように強制しました。だから今、私のテスト電話はうまく機能しますが、そもそも実際に許可を要求しないため、他の誰もそうしません.

このカレンダー モジュールを取得して、ユーザーにカレンダーへのアクセスを強制する方法がわかりません。どんな助けでも素晴らしいでしょう..

4

1 に答える 1

0

まず、デバイスをチェックして、カレンダーへのアクセスを要求しているかどうかを確認する必要があります。これを行うには、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) に切り替えています (はい、アプリ全体を最初から再構築しています)。

于 2013-02-14T17:29:03.300 に答える