2

私はユニバーサル iOS アプリを持っており、iOS 6 と互換性を持つように努力しています。私は Cordova / Phonegap フレームワークを使用しているので、私のアプリは HTML、CSS、および JS です。GitHub で入手できる Cordova 用の calenderPlugin を使用していますが、iOS 6 より前では問題なく動作しています。

問題はここから始まります: Apple は、iOS 6 以降では、カレンダーやリマインダーで操作を行う前に、ユーザーから許可を与える必要があると付け加えました。そのためのサンプルコードは次のとおりです。

EKEventStore    *eventStore = [[EKEventStore alloc] init];

if( [self checkIsDeviceVersionHigherThanRequiredVersion:@"6.0"] ) {

[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {

if (granted){
//---- codes here when user allow your app to access theirs' calendar.

}else
{
//----- codes here when user NOT allow your app to access the calendar.

}

:
:
}];

}


//**********************************************************************************

//   Below is a block for checking is current ios version higher than required version.

//**********************************************************************************

- (BOOL)checkIsDeviceVersionHigherThanRequiredVersion:(NSString *)requiredVersion
{
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];

if ([currSysVer compare:requiredVersion options:NSNumericSearch] != NSOrderedAscending)
{
return YES;
}

return NO;
}

もちろん、EventKit.Framework と EventKitUI.Framework を追加しました。さて、iOS 6 の開発のために、iOS6 SDK に付属の xCode 4.5 をダウンロードしてインストールしました。

xCode はこのメソッド requestAccessToEntityType を見つけられず、定数 EKEntityTypeEvent も利用できません。

iOS 6 の EventKit.Framework が不足しているようですが、どうすればよいですか? SDK for iOS 6 に付属の xCode 4.5 があります。何か提案はありますか?

4

2 に答える 2

0

XCode4.5でiOS6 SDKを使用しても問題ないため、BaseSDKを確認してください。ただし、開発サイトからではなく、App Store 経由で XCode 4.5 をアップグレードします。

于 2012-09-24T20:32:07.313 に答える