iCloud를 사용하고 싶지만 iOS 4.3 Simulator에서 앱을 컴파일 할 때 충돌이 발생합니다.iOS 4에서 컴파일 할 때 iphone iCloud 앱이 충돌 함
dyld : 기호를 찾을 수 없습니다 : _OBJC_CLASS _ $ _ NSMetadataQuery
나는 그것이 아이폰 OS 3, 4, 5 일에 작업을하기 위해 어떻게해야합니까?
iCloud를 사용하고 싶지만 iOS 4.3 Simulator에서 앱을 컴파일 할 때 충돌이 발생합니다.iOS 4에서 컴파일 할 때 iphone iCloud 앱이 충돌 함
dyld : 기호를 찾을 수 없습니다 : _OBJC_CLASS _ $ _ NSMetadataQuery
나는 그것이 아이폰 OS 3, 4, 5 일에 작업을하기 위해 어떻게해야합니까?
이 API는 ios5와 함께 출시되었으므로 시뮬레이터 4 이하에서는 실행할 수 없지만 게시하려면 지원해야하는 iOS 제품군의 최소 배포 대상을 게시 할 수 있습니다.
일반적인 방법은 iOS 5 SDK로 컴파일하고 배포 대상을 가장 오래된 iOS 버전으로 설정하는 것입니다. 런타임시 현재 시스템에서 사용할 수있는 클래스와 메소드를 확인하는 것은 사용자의 몫입니다. 아이폰 OS 4 사용자는 예를 들어 클래스의 사용 가능 여부를 확인 하시려면 iOS 만 5
와 함께 제공 기능을 사용할 수 없습니다 수행
if (NSClassFromString(@"NSMetadataQuery") != nil) {
//do stuff with NSMetadataQuery here
}
이 방법의 사용 가능 여부를 확인 하시려면 않습니다
if ([myObject respondsToSelector:@selector(doSomething)]) {
//call doSomething on myObject
}
내가 NSClassFromString를 사용하지만, 도움이되지 것이다. 같은 오류가 발생합니다. –
iOS 5 SDK를 사용하고 있습니까? – huesforalice
iOS 4.3 및 iOS 5 이외에는 신경 쓰지 않을 것입니다. 3에는없는 많은 것들이 있습니다. 또한 앱 스토어에서 물건을 사는 사람들은 휴대 전화를 업데이트했을 가능성이 큽니다. –
내 sulotion은 다음과 같습니다
정상 예 : ID에 NSMetadataQuery 변화가
- (무효) loadData : (NSMetadataQuery *) 쿼리를; 변경 : - (void) loadData : (id) query;
정상 : @property (유지, 비 원자) NSMetadataQuery * query; 변경 : @property (유지, 비 원자) id 쿼리;
가능한 아이 클라우드를 확인 :if ([[NSFileManager defaultManager] respondsToSelector:@selector(URLForUbiquityContainerIdentifier:)]) {
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (ubiq) {
// Code for access iCloud here
}
}
때 사용 NSMetadataQuery :
id _query = [[NSClassFromString(@"NSMetadataQuery") alloc] init];
// Some code here
[_query startQuery];
재미 있으 (^_^)
iOS 배포 대상을 3.0으로 설정했습니다. –
그러면 앱 스토어에 게시하지 않을 때까지 앱 스토어 배포 타겟이 될 것입니다. – Ballu
그래서 iOS 4가 설치된 기기에서 앱을 테스트 할 수 없습니까? –