최초 작성일 : 2010/07/29 00:56 


iPhotoDiary 앱을 수정 작업 하는 중에

갑자기 당황스러운 문제에 부딪쳤다.

일기를 작성하는 부분에서 잘 작동하던 사진을 새로 찍어 추가하는 기능을
실행하니 아래와 같은 메시지가 떨어지면서 앱이 죽는 것이었다.

2010-07-29 00:32:32.376 iPhotoDiary[22106:307] Using two-stage rotation animation. To use the smoother single-stage animation, this application must remove two-stage method implementations.
2010-07-29 00:32:32.378 iPhotoDiary[22106:307] Using two-stage rotation animation is not supported when rotating more than one view controller or view controllers not the window delegate

열심히 구글링을 해봤지만 딱부러지는 해결책을 찾을 수는 없었고
다만 SDK쪽의 버그가 아닌가 하는 글 들만 볼 수 있었다.
만약에 그렇다면 애플의 패치가 있을 때까지 내 소중한 앱이 제대로 기능을 하지
못하기에 속이 탔다.

그러다가 문제 발생 지점이

[self presentModalViewController:picker animated:YES];


이 코드라는 점과 메시지 내용중에 animation이 언급된 것에 착안하여

위 코드를 단순하게 아래와 같이 바꿨다.


[self presentModalViewController:picker animated:NO];


그러자 거짓말같이 문제가 없어지고 사진 찍는 기능이 정상적으로 작동했다.

물론 카메라 뷰가 뜰 때 애니메이션 효과는 없다...-.-


어찌 되었건 내 손에서 해결이 되었다는게 어딘가...-.-

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요

최초 작성일 : 2010/05/15 08:37


자문 자답이네요...

문서에 보면 라이브러리를 추가시키고 헤더파일들만 복사해다가 쓰라고 되어있는데
이 컴파일된 라이브러리에 문제가 있는 것 같습니다. 그냥 전체 소스를 복사해서 프로젝트에
포함시키고 전체 컴파일을 하니 잘 돌아가네요...^^;;;

===========================================
현재 개발 중인 앱에 사용하기 위해 구글코드를 통해 iphone-exif라는
jpeg 파일에서 exif 정보를 추출하는 라이브러리를 구했다.
문서에 있는대로 프로젝트에 적용을 시키고 기본 코드를 다음과 같이 작성하였다.
.
.
.

NSData * uiJpeg = UIImageJPEGRepresentation (image, 1.0 );

EXFJpeg* jpegScanner = [[EXFJpeg allocinit];

[jpegScanner scanImageData: uiJpeg];

.

.

.

그런데 세 번 째 줄 실행시 다음과 같은 오류가 발생을 하였다.


2010-05-15 08:28:56.639 iPhotoDiary[6238:207] *** +[EXFMetaData dataWithBytes:length:]: unrecognized selector sent to class 0x236ac

2010-05-15 08:28:56.644 iPhotoDiary[6238:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[EXFMetaData dataWithBytes:length:]: unrecognized selector sent to class 0x236ac'


일단 dataWithBytes:length: 메서드는 NSData 클래스에 있는 메서드인데

어째서 EXFMetaData에서 오류가 발생하는지 모르겠다.


더군다나 EXFMetaData 클래스는 NSObject를 상속받고 있고

dataWithBytes:length: 메서드가 선언되어있지도 않다.


라이브러리 소스를 보면 EXFJpeg 클래스에 있는 scanImageData:(NSData *)data

메서드 내에서 호출하는 processComment 메서드의 다음 라인에서 에러가

발생하는 것 같다.


// get the comment characters - currently use iso latin - could this be different?


NSData* commentData = [NSData dataWithBytes:imageBytePtr length:length]; 


의심이 가는 곳은 2개의 인자 중 적어도 하나가 문제가 있는 것 같은데

여전히 해결의 실마리는 보이질 않는다...ㅠ.ㅠ

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요