2011-08-29 2 views
0

회사용 iPhone 앱에서 작업하고 있습니다. 최근에 XCode 4로 업그레이드되었습니다 (그러나 별도의 폴더에 XCode 3 설치 유지).Xcode 4가 iOS4 앱의 탑 크래시를 일으켰습니다. Xcode 3에서는 그렇지 않습니다.

응용 프로그램을 컴파일하고 XCode 3에서 실행하면 안정적으로 실행되고 충돌하지 않습니다. 컴파일하고 Xcode 4에서 실행하면 실행되고 화면이 열리고 탭 바를 통해 다른 페이지 (메모 작성 페이지) 중 하나로 이동할 수 있습니다. 하지만 다른 탭 (거의 아무것도 있지만 MKMapView가 포함 된 페이지)을 클릭하면 매번 충돌이 발생합니다.

예외는 iOS 5를 실행하는 iPod Touch입니다. 제대로 실행되므로 iOS4의 XCode 4 (현재 4.3.5가 테스트 중임)가 문제가되는 것 같습니다.

충돌 로그는 여기에 있습니다 : 충돌에서 http://pastebin.com/p0sXqbSZ

+2

로그가 꽤 분명해 보입니다. "인식 할 수없는 선택자가 인스턴스로 전송되었습니다." 왜 더 큰 문제가 있다고 생각하니? – Megasaur

+0

코드가 변경되지 않았기 때문에. 사용하고있는 XCode 버전 이외의 것은 변경되지 않았습니다. 모든 iOS4 장치는 XCode 3에서이 프로젝트를 문제없이 실행합니다. 동일한 운영 체제를 사용하는 동일한 장치에서 실행되는 동일한 선택기가 XCode의 한 버전에서 컴파일 될 때 유효 할 수 있지만 다른 버전에서는 유효하지 않을 수 있습니까? –

+1

글쎄, 나는 Xcode 4로 몇 가지 이상한 문제를 해결했다. 어쨌든 UIImage는 NSCoding과 호환되지 않습니다. 그리고 오류가 있습니다. 그래서 당신은 적어도 이것을 버리는 코드를 게시 할 수 있습니다. – Megasaur

답변

1

Xcode 4.2 및 iOS 5 SDK 베타 5 이상을 사용하는 경우 SDK의 버그가있을 수 있습니다. this question에 대한 대답을 확인하십시오.

해결 방법이 있습니다. 여기에 첫 번째 Kreuters에 의해 제안 간단한 하나입니다 :

@implementation UIImage (initWithCoder) 

- (id)initWithCoder:(NSCoder *)aDecoder 
{ 
    return nil; 
} 

@end 

당신이 엑스 코드 4.2에서 iOS 5 SDK 베타 7, 당신이해야 file a bug report에 버그를 재현 할 수 있습니다.

+1

건배 Elliot. 해결 방법은 없지만 해결 방법은 있습니다. 적어도 Apple의 목적은 내 것이 아니고 제 것이 아니라는 것을 알고 있습니다. –

+0

iOS 5.1 SDK에서이 해결 방법이 필요한지 알고 계십니까? – Philosophistry

0

그것이 충돌이 발생 initalization있는 UIImage 것 같다 로그인합니다. [UIImage initWithCoder:] 코드가있는 경우 주석을 달고 작동하는지 확인하십시오. 그게 정말로 문제가 있다면 이미지가 여전히 프로젝트에 추가되었는지 확인하고 이미지를 다시 가져 오십시오.

+0

나는 initWithCoder를 사용하여 이미지를 인코딩/디코딩하지 않습니다. –

0

"현대화 프로젝트"의 "편집기"에서 사용해 보셨습니까?

7 UIKit 0x31f98df3 -[UIImageView initWithCoder:] + 66 
... 
20 UIKit 0x3203b489 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92 
21 UIKit 0x31f90cbd -[UIViewController _loadViewFromNibNamed:bundle:] + 36 

나는이 알고 안 함 : [UIImage initWithCoder:]가 호출되고 있기 때문에있는 UIViewController를로드 할 때와는 별도로

는, 문제는, 그런데 애플 매장에 XIB 파일의 정보를 거짓말 보인다 도움이 되겠지만, xibs가 생성/검색되는 방식에서 무엇이 바뀌 었는지 살펴보아야합니다. 아마도 당신이 한 일과 충돌하는 새로운 기능 일 것입니다. 또는 검색중인 이미지를 확인하십시오.

+0

"현대화 프로젝트"는 나를위한 편집자 메뉴에 없었습니다. 이슈 목록에 근대화에 필요한 이슈도 없었습니다. .xib 파일을 보면 1 개의 이미지 만 참조됩니다. 해당 이미지를 제거한 후에도 문제가 지속됩니다. –

관련 문제