2013-11-04 2 views
0

배포 대상이 iOS 5.0으로 설정된 앱을 개발 중입니다. 나는 컴파일 타겟에 대해 dispatch_release에 대해 불평하는 컴파일러에 관한 게시물을 읽었으므로 배포 대상이 iOS 6 이상으로 설정되어있어 불만은 없지만 어쨌든 이것을 처리해야하는지 잘 모르겠습니다. 나는 iOS 6 및 7 장치에서 테스트를 해본 결과 이상한 것을 보지 못했습니다 ... dispatch_release을 사용하지 않거나 앱을 실행하는 시스템 버전에 따라 문제가 될 수 있습니까? 앱을 스토어에 제출할 때 거절 이유가 될 수 있습니까?iOS 5 이상 및 dispatch_release

감사합니다.

답변

0

dispatch_retain & dispatch_release의 가용성 코드 분명히 전개 대상으로 크거나 동일 할 필요 제외 (상에서 실행되는 OS의 릴리스는 ARC로 사용 된 전개 대상 구축되는지 여부에 달려 있지만) dispatch_retain & dispatch_release-[retain] & -[release] 방법과 동일하고 그 메소드를 사용할 수있는 등 이와 같은 방식으로 사용할 수 없게되어, 아크 및 iOS 6 이상인 전개 대상으로 오브젝티브 C 코드를 작성하는 경우

ARC에서 컴파일러 오류가 발생합니다. 이러한 조건이 충족되지 않으면

(예를 들어 당신이에서 iOS 5 배포 대상을 ARC 건물 또는 사용하지, 순수 C 코드를 구축하고있다), & dispatch_releasedispatch_retain 사용할 수 있으며 변경 사용할 수 있습니다 (실제로 사용해야합니다 누출을 방지하기 위해) 결과 코드는 iOS 6 이상에서 정상적으로 실행됩니다.

은 자세한 내용은 <os/object.h>에서 headerdoc를 참조하거나 블록, GCD, 및 XPC와 비동기 디자인 패턴에 WWDC2012 세션을보세요.