18

Bunu sıralamaya çalışıyorum. ARC projesinin, ARC kullanmayan dosyaları veya statik lib'leri ile nasıl çalışacağını biliyorum. Örneğin, derleyici bayrakları -fno-objc-arc kullanarak.NON-ARC projesinde ARC statik kitaplığı kullanma

Peki ya ARC kullanmayan bir projem varsa ve ARC ile derlenmiş bir statik kitaplık eklemek istersek? Projeyi kurmak istediğimde her zaman "güçlü, __unsafe_unretained, ..." gibi şeyleri tanımamadığını söylüyor.

+0

Sadece merak, neden sadece projeniz için ARC açmak ve tüm dosyalarınıza derleyici bayrağı ekleyemiyorum? ARC'yi devre dışı bırakmanız için belirli bir neden var mı? –

+0

Proje bir süre önce inşa edildi ve diğer bir çok üçüncü parti olmayan ark çerçeveleri kullanıyor. Yani tüm dosyaları gözden geçirmek ve derleyici bayraklarını ayarlamak için sıkıcı bir süreç olurdu. Daha iyi/daha temiz bir çözüm olmasını umuyordum. Bu yüzden, 300'den fazla kaynak dosyasında derleyici bayraklarını doldurmam gerekmeyecek ... :) – Yannick

+0

ARC göçcüsünün, bayrağı eklemek için temel olarak "tüm dosyaları" seçmenize izin verdiğini biliyor musunuz? En azından Xcode 4.2'de, tüm dosyaları el ile yapmaya gerek yoktur. –

cevap

8

İyi çalışıyor olmalı - en yeni Apple derleyicisini ARK olmayan bu proje ile kullandığınızdan ve GCC'den hangisini kullandığınızdan emin misiniz?

+1

Eğer bunu yaparsam projemdeki tüm bekletme/bırakma çağrılarını kaldırmalı ve temel olarak tüm şeyi ARC'ye başlamalıyım. Bunu yapmak istemiyorum çünkü eski bir eski kod ve onun içinde birkaç yapı var. – Yannick

+1

Hayır değilsin - ARC, ekstra bir derleyici özelliğidir, istemiyorsan onu kullanmak zorunda değilsin. En yeni Apple LLVM'yi kullanmak, ARC'yi kullanmanız gerektiği anlamına gelmez - bu sizin seçiminizdir (hatta yeni bir proje oluştururken ARC kullanma seçimini size verir). Bunu kullanmak, eski kodunuzu ARC'ye dönüştürmeniz gerektiği anlamına gelmez. Fark, tüm bu yeni anahtar kelimeleri vs. anlamasıdır. – shw

+1

Jep haklısınız. ARC'ing'e başladığımı sanıyordum, ama sadece bir kaç kaçırılmış __bridged kadrosu ve diğer birkaç hatadan şikayet ediyordu! Teşekkürler! – Yannick

16

shw'nin cevabına eklemek için. ARC dosyalarını, ARC olmayan projeler için doğru bir şekilde derlemelerini sağlamak için derleme bayrakları altında derleme bayraklarına -fobjc-arc ekleyin.

diğer bilgiler here

+0

Sadece Harika ... –