2011-11-08 2 views
3

AdWhirl을 사용하여 iOS 앱을 ARC (Automatic Reference Counting)로 변환하려고 시도했습니다. AdWhirlView.m에는 ARC가 금지하는 몇 가지 자동 릴리스 호출이 있습니다.AdWhirl 및 ARC

ARC에 내 유료 앱 (adwhirl이 없었 음)을 모두 리팩토링했을 때 XCode가 내 보유, 릴리스 및 자동 리사이즈를 제거했지만 AdWhirlView.m의 코드가 작성된 방식과 관련하여 Xcode를 사용하면 "[rewriter]가 사용되지 않은 'autorelease'메시지를 제거하는 것이 안전하지 않으며, 수신기가 즉시 삭제 될 수 있습니다.

AdWhirlView.m을 ARC에서 올바르게 작동하도록 다시 쓸 수있는 사람이 있습니까? 아니면 둘을 조합하지 않아도됩니까? =/

미리 감사드립니다.

+0

autoreleases를 제거하고 직접 고칠 수 있는게 뭐죠? – Jasarien

+1

특정 파일에 대한 컴파일러 플래그에'-fno-objc-arc'를 추가 할 수도 있습니다 (타겟 빌드 설정의 빌드 단계 영역 참조). –

+0

ARC에 지불 한 모든 유료 앱 (ARC에없는 앱)을 리팩토링했을 때 XCode가 내 보유, 릴리스 및 자동 리사이즈를 삭제했지만 AdWhirlView.m의 코드가 작성된 방식에 따라 Xcode가 일시 중지되었습니다 , "[rewriter]에서 사용하지 않은 'autorelease'메시지를 제거하는 것은 안전하지 않으며, 수신기가 즉시 파괴 될 수 있음을 지적했습니다. 분명히 내 애플 리케이션 내에서 광고를 제공하기 위해 내 자신의 클래스를 작성 AdWhirl를 사용하고, 나는 그 일을 할 AdWhirl에 의존하지만, 그들의 코드를 수정하는 방법을 모르겠다 – RanLearns

답변

4

좋아, 내가

는 "목표 - C ARC로 변환"을 클릭하면 ...이 주위에 방법을 발견했습니다 그것은

모든 당신을 "변환하려면 선택 대상을"이라는 메뉴가 나타납니다 드롭 다운 화살표를 클릭하여 파일 목록을 확장 한 다음 AdWhirl 파일을 모두 선택 해제하십시오.

XCode는 AdWhirl 파일에 도달하면 오류없이 타 프로젝트의 나머지 부분을 ARC로 변환합니다.

+1

Xcode는 Kevin이 선택 해제 한 모든 파일에 위의 주석으로 게시 한 "-fno-objc-arc"를 자동으로 추가합니다 – RanLearns