2012-09-24 2 views
2

나는 iOS 6과 호환되도록 노력하는 보편적 인 iOS 응용 프로그램이 있습니다. Cordova/Phonegap 프레임 워크를 사용하여 내 응용 프로그램이 HTML, CSS 및 JS이기 때문에 사용하고 있습니다. 나는 iOS 6 이전에 잘 작동하는 github에서 사용할 수있는 Cordova 용 calenderPlugin을 사용하고 있습니다. 여기에서 시작하는 부분은 입니다. Apple은 iOS 6 이상에서 캘린더 및 미리 알림 작업을 수행하기 전에 사용자의 허가를 받아야한다고 덧붙였습니다. . 즉 여기에 물론 샘플 코드,
EKEventStore, iOS 6 용 EventKit.Framework가 필요합니까?

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가 보이지 않습니다. ?? !! 하지만 어떻게? iOS 용 SDK와 함께 제공되는 xCode 4.5가 있습니다. 제안 사항은 무엇입니까?

답변

0

iOS6 SDK가있는 XCode4.5에서 사용하는 데 문제가 없으므로 BaseSDK를 확인하십시오. 개발 사이트가 아닌 App Store를 통해 XCode 4.5를 업그레이드합니다.

+0

내 기지 SDK가 이미 최신 IOS (6.0)로 설정되어 있습니다. EventKit.framework를 사용 해본 적이 있습니까? 내 프레임 워크의 EKEventStore 클래스에는 -requestAccessToEntityType 메서드가 포함되어 있지 않기 때문에 iOS 6에 별도의 새 EventKit.framework가 있어야합니다. 어디에서 가져올 수 있습니까? 내 시스템을 탐색하고이 프레임 워크를 추가 한 iPhoneOS5.0.sdk 폴더 만 사용할 수 있습니다. –

2

문제 해결,

나는 프로젝트에서 프레임 워크에 마우스 오른쪽 버튼을 클릭하여 EventKit.framework을 추가하고 프로젝트에 파일을 추가했다. 이 프레임 워크는 iOS 5 용이었습니다. iOS 6 용 프레임 워크를 추가하려면 먼저이 프레임 워크를 프레임 워크 폴더에서 제거한 다음 대상> 요약> 링크 된 프레임 워크 및 라이브러리로 이동하십시오. 거기에 +를 누르고 EventKit.framework를 iOS 6 폴더 아래에 추가했습니다. 건배 :-) 행복한 코딩.

+0

답변으로 표시해야합니다! –