source

iOS 5 모범 사례(릴리스/유지?)

ittop 2023. 7. 1. 10:00
반응형

iOS 5 모범 사례(릴리스/유지?)

초보 아이폰 프로그래머로서 iOS 5 또는 이전 버전에서 사용할 수 있는 앱을 작성하는 가장 좋은 방법은 무엇입니까?구체적으로 데이터 릴리스/유지 기능을 계속 사용해야 합니까, 아니면 무시해야 합니까?그게 중요한가요?

개별 파일에서 ARC를 해제하는 방법에 대해 여전히 궁금해하는 사람들을 위해, 제가 한 일은 다음과 같습니다.

  1. 합니다.Build Phases > Compile Sources
  2. ARC를 비활성화할 파일을 선택하고 -fno-objc-arc 컴파일러 플래그를 추가합니다.파일을 선택한 다음 "Enter" 키를 눌러 한 번에 여러 파일에 대한 플래그를 설정할 수 있습니다.

이것이 권장되는 방법인지는 모르겠지만, 저에게는 효과가 있습니다.

PS: 저는 이 정보를 clang.llvm.org 에서 수집했습니다. 이 정보는 공개적으로 접근할 수 있기 때문에 NDA에 포함되지 않습니다.

당신 마음대로 하세요.ARC(Automatic Reference Counting)를 사용하여 앱을 작성할 수 있으며, Xcode는 iOS 4에서 ARC 지원 앱을 실행할 수 있도록 "글루 코드"를 작성합니다. 수정할 필요가 없습니다.그러나 특정한 것들은 작동하지 않을 것이며, 가장 눈에 띄는 것은 당신이 사용하고자 하는 많은 라이브러리들이 (가끔) 수많은 오류를 발생시킬 것이고 당신은 개발자들이 ARC와 호환되는 업데이트를 출시할 때까지 그것들을 사용할 수 없을 것이라는 것입니다.


편집: 최근에 파일 단위로 ARC를 해제할 수 있다는 것을 알게 되었습니다.pixelfreak을 보세요.따라서 제 조언은 여전히 유효하지만, 이제 타사 라이브러리를 ARC와 함께 작동하도록 업데이트할 필요는 없습니다.

다음은 특정 파일에 대해 ARC를 종료하는 것에 대한 Apple의 설명입니다.

ARC를 사용하기 위해 프로젝트를 마이그레이션할 때 -fobjc-arc 컴파일러 플래그는 모든 Objective-C 원본 파일에 대해 기본값으로 설정됩니다.특정 클래스에 대해 -fno-objc-arc 컴파일러 플래그를 사용하여 해당 클래스에 대해 ARC를 사용하지 않도록 설정할 수 있습니다.Xcode의 대상 빌드 단계 탭에서 컴파일 소스 그룹을 열어 소스 파일 목록을 표시합니다.플래그를 설정할 파일을 두 번 클릭하고 팝업 패널에 -fno-objc-arc를 입력한 다음 완료를 클릭합니다.

enter image description here

여기에서 전체 전환 가이드를 참조하십시오.

iOS 5는 여전히 NDA 하에 있으며, 아마도 그들이 공개 버전을 출시할 때까지 있을 것입니다.개발자 계정이 있는 경우 Apple Developer Forum(애플 개발자 포럼)으로 이동하여 해당 포럼에 문의하십시오.

이전 버전의 경우 참조 수를 세고 그에 따라 보관 및 릴리스해야 합니다.메모리 관리 가이드를 확인하십시오.

편집: 자동 참조 카운팅을 위한 공개 사양공개 iOS 5 페이지의 인용문입니다.

목표-C에 대한 자동 참조 카운팅(ARC)은 메모리 관리를 컴파일러의 작업으로 만듭니다.새로운 Apple LLVM 컴파일러로 ARC를 활성화함으로써 다시는 retain 또는 release를 입력할 필요가 없어 개발 프로세스를 크게 간소화하는 동시에 충돌 및 메모리 누수를 줄일 수 있습니다.컴파일러는 사용자의 개체를 완전히 이해하고 더 이상 사용되지 않는 즉시 각 개체를 릴리스하므로 앱은 예측 가능하고 원활한 성능으로 이전처럼 빠르게 실행됩니다.

자세한 내용은 현재로서는 알 수 없지만 Apple은 iOS 5에서 자동 참조 카운트(ARC)를 구현했습니다. 자세한 내용은 http://developer.apple.com/technologies/ios5/ 에서 확인할 수 있습니다.

iOS 5 SDK로 Xcode 4에서 새로운 앱을 개발하면 보유/해제 횟수를 안전하게 무시할 수 있습니다.

[edit] sudum -rf는 좋은 지적을 합니다. 제3자 립은 상당한 영향을 받을 수 있습니다.

아무도 SystemConfiguration.framework에 대해 언급하지 않았습니까?프레임워크에 넣는 것을 잊지 마세요.나는 그것을 깨닫기 위해 몇 시간을 비참하게 보냈습니다.

그것은 확실히 개발자나 팀의 선택입니다.ARC(Automatic Reference Counter)를 사용하면 메모리를 자동으로 관리할 수 있습니다.적절한 경우 릴리스, 유지 및 할당 해제합니다.메모리 관리 경험을 쌓아야 한다고 생각합니다. 테스트 애플리케이션을 사용해본 적이 없는 경우가 가장 좋습니다.고려해야 할 또 다른 사항은 응용프로그램이 타사 라이브러리에 의존하는지 여부입니다. 이 라이브러리는 ARC로 변환되지 않으면 응용프로그램을 컴파일할 수 없습니다.선택은 분명히 당면한 상황에 달려 있습니다.

프로젝트 설정에서 플래그를 -fno-objc-arc로 설정>빌드 단계 > 소스 컴파일

언급URL : https://stackoverflow.com/questions/6308425/ios-5-best-practice-release-retain

반응형