일부 라이브러리는 소스 컨트롤에서 별도의 분기를 사용하는 것으로 나타났습니다. 하나는 ARC가 아닌 ARC 용입니다. 나는 이것이 여분의 유지력을 필요로하기 때문에 이것을 부분적으로 보지 않는다.작은 오픈 소스 iOS API를 만들 때 아크 및 비 아크 사용자를 어떻게 처리합니까?
내가 생각하는 방법은 컴파일러 플래그를 사용하는 것이 었습니다 : 사용자가 코드에 전환 한 경우 나는 등 retain
버전을 사용해야 할 때마다 ... 그 방법을
#if __has_feature(objc_arc)
을 (this 질문 참조) 것 자동으로 스스로를 다시 요소 화합니다.
이렇게하면 단점이 있습니까?
더 좋은 방법이 있습니까?
위대한 답변은 파일 단위 솔루션이 매크로를 사용하는 것이 더 좋을 것이라고 생각합니다. – Robert