메모리 버그로 완전히 손실되었습니다. 이 문제는 simulator
이 아닌 device
의 happens
에만 해당됩니다. 앱이 처음으로 기기에로드 될 때도 발생합니다. 앱을 닫고 다시 실행하면 문제가 사전 설정되지 않습니다. 이것은 내가 받고있는 오류입니다장치에서 할당 취소 된 인스턴스에만 전송 된 메시지
-[CFString retain]: message sent to deallocated instance 0xfd5a2f0
릴리스 된 문자열이 무엇인지 알아 내려고 시도했습니다. 시뮬레이터가 아닌 장치에서 실행될 때 출시 된 객체가 무엇인지 알아내는 데 도움을주십시오! 미리 감사드립니다!
업데이트 : 아직 해결책이 없지만 프레임을 설정하고 위의 오류가 표시되는 코드 줄에서 앱이 지속적으로 중단된다는 것을 확인했습니다. 이 코드를 주석으로 처리하면 앱이이 지점을 통과하지만 다른 이상한 곳에서는 충돌 할 수 있습니다. 나는 충돌이 어디서 발생했는지 판단하기조차 할 수 없다.
CGRect frame = CGRectMake(27, 96, 265.0, 50.0);
someAcct.frame = frame;
저는 이것이 문자열이 아니기 때문에 매우 혼란 스럽습니다. 어떤 아이디어?
업데이트 2 :이 문제는 동기화되는 NSUser 기본값과 직접 관련이 있습니다. 이것은 꽤 무작위로 보이지만 이것이 문제의 원인입니다. 어떤 도움?
업데이트 3 : 문제는 일주일 전으로 해결되었습니다. 사실 이것은 문자열에 액세스 할 수 없기 때문입니다. 문자열이 메서드에 전달되면 해당 메서드는 작동하고 다른 메서드로 데이터를 전달합니다. 마지막으로 데이터가 사용자 기본값과 문서 폴더에 포함 된 로컬 plist에 기록 될 때까지는. 갑자기 앱이 문자열과 관련이 없더라도 일관되게 위와 같은 매우 이상한 장소에서 앱이 충돌합니다. 당황 스러웠다. 매우 오랜 시간 동안 연주 한 후, .h 파일로 가서 각 파일이 .m 파일에서 합성되고 self.stringName이 적용되었는지 확인하여 한 번에 하나씩 처리하기로 결정했다. .m 파일 전체에 걸쳐. 이것에 1 시간을 보낸 후에 나는 마침내 책임이있는 문자열을 발견했으며 문제는 해결되었습니다. self.stringName을 사용하면 메모리를 찾을 수 있으며 이러한 모호하고 매우 혼란스러운 응용 프로그램 충돌을 피할 수 있습니다. 모든 제안과 팁에 감사드립니다!
계기에서 테스트하여 메모리 누출을 확인하십시오. – SachinVsSachin
영향을받는 코드 부분에서 NSZombie를 활성화하고 실행할 수 있습니다. 코드 부분을 찾고 게시하십시오. 그래서 우리가 당신을 더 잘 도울 수 있습니다. :) –
NSString이 예기치 않게 출시됩니다 ... 속성을 설정하고 문자열을 합성하고 자기와 함께 사용해야합니다. –