2012-04-10 3 views
2

이 프로젝트에 barcode source code by Stefanhafeneger을 포함 시키려고합니다. 간단한 카메라 예제와 바코드 엔진으로 시작 했으므로 모든 것이 첫 번째 바코드 디코드에 적합합니다. 2 번 시도하면 EXC_BAD_ACCESS가 표시됩니다. 응용 프로그램이 중단 된 후 1 시간 만 작동합니다.XCode - EXC_BAD_ACCESS. - [형식이 아님]

Here is a screen recording of how the appilcation crash.

난 내 appilcation에서 구글에서이 DataMatrix 태그로 테스트하고 있습니다. 내가 며칠 동안 솔루션 서핑을

UfoDesign DataMatrix

, 나는 NSZombieEnabled을 시도하고, 악기와 디버그하지만 난 여전히 아무 운이 없었다. 아래 이미지는 xcode의 오류입니다. 당신의 정보를

debugging1 debugging2

*** -[Not A Type retain]: message sent to deallocated instance 0x7b21ed0 

는 그것은 ARC 활성화 프로젝트입니다. 누군가 제발 도와주세요, 나는 아직 몇 달 초보자입니다.

다음은이 프로젝트에 대한 내 엑스 코드 파일입니다 Barcode-Datamatrix Project

업데이트 : 나는 또한 -fno-objC 아크 여전히하지만 결과 같은 링커 플래그를 사용하여 해당 라이브러리와 관련된 모든 파일에 대해 ARC를 비활성화했습니다. 게다가 나는 imageView.image = [UIImage imageWithCGImage:image.CGImage]; 또는 복사 imageView.image = [image copy];을 시도했지만, 응용 프로그램은 여전히 ​​같은 장소에서 충돌합니다.

많은 감사 킨

+0

전에 "유형이 없습니다"라는 것을 본 적이 없습니다 ... 사용중인 라이브러리가 ARC를 지원하는지 확인할 수 있습니까? 델리게이트 메서드를 통해 들어오는 이미지가 이미 해당 줄에 도달 할 때까지 할당 취소 된 것 같습니다. – borrrden

+0

라이브러리에 대해 잘 모르겠습니다. 내 프로젝트가 ARC를 사용할 수있게되어서 라이브러리에서 모든 릴리스, 유지, 자동 릴리스 기능을 제거했습니다.선택한 파일에서 ARC를 비활성화 할 수 있습니까? – Kin

+0

확실히 가능합니다. http://stackoverflow.com/questions/6646052/how-can-i-disable-arc-for-a-single-file-in-a-project 또한, 논리를 확인하는 것은 좋은 생각이 아닙니다. ARC가 일을 너무 빨리 발표 할 수 있습니다. – borrrden

답변

1

[Not A Type retain] 당신이있는 UIImageView의 이미지 속성에있는 UIImage 아닌 객체를 전달하고 있음을 나타냅니다, 그 방법은이 imagevVew.image = image 선에서 유지 보낼 입력의 식별을 시도합니다. NSLog 그것은 NSLog("%@", NSStringFromClass([image class]));

편집에 입력 한 것 : 나는 없음는 ARC에 같은 오래된 프로젝트를 변환하는 것이 좋습니다 수행 (내가 인용 : "그것은 IOS 2.1에 연결되어 있습니다"). 링커 플래그 -fno-objC-arc를 사용하고 해당 프로젝트와 관련된 모든 파일에 대해 ARC를 비활성화합니다. 그 후에, imageView가 펑키하지 않은지 확인하고, 이미지를 nil로 설정하거나, 라인을 모두 지우고 실행하십시오.

+0

답장을 보내 주셔서 감사합니다. NSLog ("% @", NSStringFromClass ([image class])); 그리고 충돌 전 콘솔에서 UIImage 유형을 받았습니다. 즉 UIImage를 UIImageView에 보내는 것입니다. – Kin

+1

당신은 어떤 식 으로든 그것을 연결 브리징 있습니까? – CodaFi

1

바코드 엔진에서 ARC를 사용할 수 없습니다.

는 ARC이 단계에 존재하는 모든 컴파일 소스 (예를 구축 프로젝트에서이 명령을 넣어이 명령

-fno-objc-arc 

을 통해 비활성화 할 수 있도록 우리가 컴파일러에 표시 할 수 있습니다 ARC 지원을 위해 설계되지 않은 일부 파일을 해제하는 방법 귀하의 프로젝트 이름에있는 모든 클래스가 표시됩니다)

ZBarSDK이 바코드, qr 코드 디코딩을 위해 매우 간단하고 사용하기 쉽고 더 강력한 API입니다.

+0

-fno-objc-arc로 시도했지만 작동하지 않습니다. 이전에 ZBarSDK를 사용해 보았지만 매우 쉽지만 DataMatrix를 지원하지 않습니다. – Kin

+0

명확한 통해 프로젝트를 다시 통해 UR 코드를 통해 UR 수 있습니다 :) – dayitv89

관련 문제