2011-11-23 16 views
12

için ARC'yi nasıl kapatabilirim Bunu yapmak için XCode 4'teki derleme kaynaklarına derleyici bayrağı -fno-objc-arc eklemem gerektiğini biliyorum. Ama çalışmıyor. Eklenen bayrakla bile, KeychainItemWrapper.m dosyamda hala hata alıyorum ve C işaretçileri için __bridge kullanmam gerektiğini iddia ediyorum. Belirli dosya

I have added the required flag to the compiled sources... what am I missing?

Projem

ARC güvenlidir, ancak Apple Anahtarlık ile etkileşim için başvuru sağladı değildir. Bu tek dosya için ARC'yi devre dışı bırakmak istiyorum. Burada başka neyi özlüyorum?

+0

Are KeychainItemWrapper.m ve KeychainItem.m iki ayrı dosyalar için Sayma: https://github.com/jaminguy/NoArc

fazla bilgi için bu yanıta bakın:

Ben bir örnek vardır örnek bir proje hazırlandı? KeychainItem.m için ARC'yi de devre dışı bıraktınız mı? –

+0

Bu bir yazım hatasıydı, üzgünüm. – Justin

+0

Belirli bir dosyayı derlerken bu derleyici bayraklarının gerçekten bulunup bulunmadığını görmek için yapı çıkışına baktınız mı? – mharper

cevap

6

Bu, farklı projelerde 4.2'de benim için bir kereden fazla gerçekleşmişti, ancak daha sonra bir hata raporu için yeterince güvenilir bir şekilde üretemedim. Ama davalarımda, temiz bir yapıyı temizlediğimi söyleyebilirim.

+0

Çok kafa vurduktan sonra, sonuçta ulaştığım çözüm buydu. Teşekkür ederim :) – Justin

1

Düzenle menüsünü tıklayın, Refactor> Objective-C ARC'ye Dönüştür ... Proje adınızın yanındaki açıklama üçgenine tıklayın ve ARC kullanmak istediğiniz tüm dosyaları işaretleyin.

1

Tek tek dosyalar için ARC'yi, bu dosyalar için -fno-objc-arc derleyici bayrağını ekleyerek devre dışı bırakmak mümkündür.

Hedefler -> Yapı Aşamaları -> Derleme Kaynaklarında derleyici bayrakları eklersiniz. Derleyici Bayrakları altındaki satırın sağ sütununa çift tıklamanız gerekiyor. Dosyaları seçmek için cmd düğmesini basılı tutarak ve daha sonra bayrak düzenleme kutusunu açmak için enter tuşuna basarak birden fazla dosyaya ekleyebilirsiniz. Otomatik devre dışı Referans Bazı Dosyalar

İlgili konular