2011-10-18 4 views
0

Xcode 4.2를 사용하여 iOS 5로 업그레이드 한 후 내 응용 프로그램이 충돌하기 시작합니다. 그렇지 않으면 동일한 소스가 iOS 4.3에서 작동하는지 확인됩니다. 역 추적 (backtrace)이 많은 정보를 밝히지 않았기 때문에 일어날 수있는 일에 대해 나는 꽤 우둔합니다. 여기에 내가 충돌의 행동에 대해 말할 수있는 것입니다 : -애플 리케이션은 iOS 4.3에서는 잘 작동하지만 iOS 5에서는 충돌이 발생합니다.

  1. 역 추적이 EXC_BAD_ACCESS 신호를 트리거 자동 풀에서 사용 가능한 메모리 리소스에 마지막 시도를 한 것으로 밝혀졌습니다.

  2. 환경 설정 후 문제가 사라졌습니다. 변수 NSZombieEnabled. 이것은 매우 슬픈 일로, NSZombieEnabled가 할당 취소 된 인스턴스를 해제하려는 시도를 나타낼 수 있기를 바랬습니다.

에서 iOS 5에 소스를 마이그레이션 할 때, 나는에서 iOS 5에 맞게 내를 Obj-C 소스에 수정을하는 데, 추가 예방 조치를 취할 필요합니까? 현재로서는 iOS 5의 추가 기능을 사용하기 위해 소스를 개선하지 않았습니다.

내가 ARC에 대해 읽은 바는 ARC가 이전 버전의 iOS에서는 전혀 볼 수 없었던 새로운 충돌을 일으킬 수 있다고 생각합니까?

기존 소스를 iOS5로 마이그레이션하는 데 대한 모든 팁과 조언을 보내 주시면 감사하겠습니다.

답변

0

UITableViewCell*tableView:cellForRowAtIndexPath에 의해 반환 된 것으로 밝혀 짐에 따라 수동으로 유지해야합니다 (ARC를 켜지 않았 음).

나는 정의를 수동으로 펜촉 파일을로드하고 내가 그것을 유지하기 위해 필요한 이유를 나는 아직도 이해하지 못하는 종교적 this link

에서 애플의 샘플 코드를 따랐다. 반환 된 셀을 유지하지 않고 iOS5에서 평소와 같이 작동하는 여러 가지 다른 표가 내 앱에 있습니다.

관련 문제