2011-05-08 2 views
2

내 앱의 업데이트가 Apple의 승인을 받았으며 더 이상 앱이 더 이상 실행되지 않는다고 불평하고 있습니다. 또한 일부 새로운 사용자에게도 발생합니다.iOS 4.3.2 사용자가 출시시 앱 충돌을보고했습니다.

어디에서 문제가 발생했는지 전혀 알 수 없으며 문제를 재현 할 수 없습니다. 업데이트를 제출하기 전에 다양한 장치 (& 시뮬레이터)에서 업데이트를 테스트했습니다 : iPhone 2G 실행 3.1.3, 4.3 iPod touch 2G 실행, iPhone 3G 및 iPhone 4 4.3.1 실행. 그들은 모두 예상대로 작동합니다. 업데이트에는 AssetsLibrary 프레임 워크를 사용하여 사용자의 사진 보관함에서 무작위로 사진을 찍는 것과 같은 몇 가지 새로운 기능이 있습니다. iOS 3을 지원하기 위해 프레임 워크를 약화 시켰으며 사용자가 선택하기 전까지 기능이로드되지 않으므로 문제가되어서는 안됩니다. 결국이 업데이트는 Apple에서 테스트하고 승인 한 것입니다.

문제가있는 사용자로부터 충돌 정보를 수집하는 데 어려움이 있지만 그 중 하나가 iOS 4.3.2와 함께 iPhone 4를 사용하고 있음을 알고 있습니다. 빠른 Google 검색 결과, iOS 4.3.2에 타사 앱을 시작하는 데 문제가 있음이 드러났습니다. 내 문제는이 문제와 관련이 있지만 의심 스럽습니다. 나는 dev에 iPhone 4를 iOS 4.3.2로 다운 그레이드 할 계획이다.

아무도 비슷한 문제가 있습니까? 부정적인 리뷰 때문에 내 앱의 순위가 크게 떨어 졌으므로 가능한 한 빨리이 문제를 해결해야합니다.

편집 :

  • 어떤 시계 개 문제가 안된다, 내가와 엑스 코드/디버거없이 위에서 언급 한 장치에 업데이트를 테스트했다.

  • 메모리 관리. 나는 EXC_BAD_ACCESS인지 여부를 확인할 수 없으므로 문제를 재현 할 수 없다. 참조 카운트를 확인하고 공개 된 객체를 해제했다 (안전하게 릴리스). 적용 할 때 절대적으로 프로가 아니므로 가져 가야한다. 심각하게, 나는 기기로 누설과 할당을 점검하고, 스트레스 테스트를 거쳤으며, 메모리 경고 시뮬레이션을 수행했다. 문제는 발견되지 않았다.

  • -loadviewUIApplicationWillEnterForegroundNotification이 있는데, iOS 4.0 이후에만 제공되므로 사용하기 때문에 & 연산자가 있는지 확인합니다.

  • 나는 그래서 그것을 다른 것을 우리는거야

+0

오늘은 똑같은 고통스러운 경험을하고 있으며 찾기가 정말 어렵습니다. 내 문제에 대한 해결책을 찾았으며 해결 방법을 찾고 있습니다. 충돌을 일으키는보기 컨트롤러의 코드를 게시하는 것이 좋습니다. 정말로 그렇게 할 수 없다면, 방금 선언했지만 nil을 가리키고 있지 않은 객체를 확인하십시오. EG가 "NSError * error;"를 변경합니다. "NSError * error = nil"로 설정하십시오. –

+0

선언 할 때 nil을 가리 키지 않는 객체가 있습니다.이 객체는 버그가있는 중요하지 않은 새 기능의 일부이므로 완전히 제거했습니다. 내가 문제를 재현 할 수 없기 때문에 이것이 맞는지 확인할 수 없다. 그럼에도 불구하고 귀하의 의견에 감사드립니다! – bretdabaker

+0

블록, Grand Central Dispatch 또는 '약한'참조를 사용하는 코드 또는 라이브러리의 어딘가에 있습니까? iOS 3.x 및 iOS 4.x 용으로 제작할 때 지원되는 것은 없습니다. – Holly

답변

0

생각 문제가 새로운 사용자에게 발생하기 때문에, 페이스 북은 NSUserDefaults에 토큰 유효 기간 (있는 NSDate)를 연결 저장 이외의 데이터를 유지하지 않습니다 불행히도 더 많은 정보가 필요합니다. 하지만 내 머리 꼭대기에서 떨어져서 :

  • Watch dog? 앱을 시작할 때 어떤 종류의 물건을로드하고 있습니까? 이 문제가있는 기기에 리소스가 제한되어 있고 별도의 스레드에서 수행해야하거나 앱이 시작될 때까지 지연되는 작업을 수행하는 경우 일 수 있습니다.

  • EXC_BAD_ACCESS. 대부분의 사람들이 OK를 시작할 수있는 경쟁 조건이있을 수 있지만, 일부에서는 잘못된 참조로 인해 작동하지 않는 경우가 있습니다. 나도 알다시피, 좋은 코드를 작성하고 프로처럼 참고 문헌을 관리 할 때가 있지만 때로는 명백하지 않은 슬립 업이 들어올 수도 있습니다.

  • 안전한 수업을하고 있습니까?한 번 나를 괴롭히는 예는 MFMailComposeViewController 클래스를 사용하는 것입니다. 인스턴스화하기 전에 정적 메서드 canSendMail을 호출한다고 가정합니다. 사용자가 자신의 장치에 메일 계정을 설정하지 않았다면 (이 시나리오에 맞는 사람이있을 것이라고 생각하기는 어렵지만, 업데이트가 있은 후 발견되었습니다!) 앱이 다운됩니다.

  • 어떤 데이터 지속성 (있는 경우)이 있습니까? 핵심 데이터를 사용하고 있습니까? plist에 직렬화 된 객체가 있습니까? NSUserDefaults? 귀하의 전략으로 인해 귀하가 고수하고있는 데이터가 손상되어 충돌로 이어질 수 있습니다.

+0

입력 해 주셔서 감사합니다. 질문을 업데이트했습니다. – bretdabaker