2012-03-10 13 views
7

Bu yüzden, ARC'nin yalnızca iOS 4.0+ çalıştıran cihazlar için desteklendiğini öğrendim.ARC uygulamam iOS 3.x'te nasıl çalışıyor?

Uygulamam (mağazada), iOS 3.0 çalıştıran (daha sonra ARC'yi kullanan) aygıtlarda nasıl çalışır?

Kafam çok karışık.

Aşağıdan gelen çözüm: Sıfırlama zayıf referansları kullanmadığım sürece, ARC kullanımı hala iOS 3.x ile çalışıyor gibi görünüyor, ancak Apple yalnızca sonucu garanti etmiyor.

cevap

11

ARC çoğunlukla bir derleme zamanı özelliğidir, derleyici uygun release çağrıları ekler. AFAIK sadece zayıf referansları sıfırlamak çalışma zamanı desteğine ihtiyaç duyar. Yani, bunları kullanmadığınız sürece, ince buzda olduğunuz sürece, ama işe yarayabilir.

+0

Hmm tamam. Bunu temizlediğiniz için teşekkürler. Yaklaşırdım ama henüz minimum değere sahip değilim. –

+0

[ARC üzerindeki sürüm notları] 'nı kontrol edin (https://developer.apple.com/library/mac/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html) –

1

ARC, derleme zamanında çalıştığından SDK 5.0 ile bağlantı kurabilir ve isterseniz iOS 4.0'ı destekleyebilirsiniz. 5.0'da davet edilen herhangi bir işlevi kullanırsanız, uygulama 4.0'da kilitlenir.

+0

Muhtemelen 3.0 mı? –

+0

Hayır, ARC uygulamasını 4.0'a derlemelisiniz, ancak daha yeni bir SDK'nın işlevini çağırana kadar onlar da 3.0 üzerinde çalışacaklar, tıpkı DarkDust'ın açıkladığı gibi. – fbernardo

+0

Ah, pardon. Cevabınızı doğru bir şekilde okumadım - 5.0 işlevinin kullanılması durumunda 4.0'da çökeceğini söylediniz. Benim kötü - bu doğru - gerçekten OP'nin sorusu ile ilgili değil :) –