문제

OS4에서 잘 실행되는 프로젝트가 있지만 iPad 3.2에서 실행되는 데 문제가 발생합니다.

기본 SDK는 4.0이고 배포 대상은 3.2입니다.

코드가 시작되기 전에 iPad 시뮬레이터 (및 장치)에서 코드가 충돌하여 오류

에 충돌합니다.

"데이터가 일시적으로 구성됩니다 사용할 수없는 "

내가 2 줄을 꺼내면 괜찮아 보인다 ...

AVURLAsset* asset = [AVURLAsset URLAssetWithURL:assetURL options:options];
.

export = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetPassthrough];
.

i OS가 존재하는 것에 따라 지점이 있으므로 3.2 장치 (나는 그들이 OS4라는 것을 알고 있음)에있을 때 에 도달하지 못합니다.조차 시작되기 전에.

아이디어가 있습니까? 건배

도움이 되었습니까?

해결책

이 라인이 iPad에서 절대로 연결되지 않은 경우 AvFoundation 프레임 워크 (잠재적으로 다른 사용자)를 약세로 연결하지 않아서 문제가 발생할 수 있습니다.AvurLasset과 AvassetExportession이 3.2의 기호로 존재하지 않으므로 해당 구식 OS에서 시작할 때 응용 프로그램이 충돌 할 수 있습니다.

유사한 문제 이 답변 .

다른 팁

우선, "일시적으로 데이터 포매터가 일시적으로 사용할 수 없음"은 GDB 메시지이며, 응용 프로그램이 충돌하는 이유는 가 아니라 not 여기 .

을 찾을 수 있습니다.

iOS 3.0과 4.0에서 실행되는 코드를 작성하려는 경우 런타임 (컴파일 타임이 아닌)에서 클래스의 가용성을 확인해야합니다.

다음과 같은 NSClassFromString 함수를 사용 하여이 작업을 수행 할 수 있습니다.

if (NSClassFromString(@"AVURLAsset")) {
    // 4.0 code using AVURLAsset goes here
} else {
    // 3.0 code goes here
}
.

이 (또는 이와 유사한)를 시도하십시오 :

#if __IPHONE_OS_VERSION_MIN_REQUIRED < 40000
  // code for iOS below 4.0
#else
  // code for iOS 4.0
#endif
.

이 질문 .

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top