Saya berhasil menggunakan ARC dalam proyek saya. Namun, saya telah menjumpai beberapa file (misalnya, dalam tes unit dan objek tiruan) di mana aturan ARC sedikit lebih rapuh saat ini. Saya ingat pernah mendengar bahwa ada cara untuk menonaktifkan ARC pada basis per file, meskipun saya tidak dapat menemukan opsi ini.
Apakah ini mungkin? Bagaimana cara menonaktifkan ARC pada basis per file?
Jawaban:
Dimungkinkan untuk menonaktifkan ARC untuk file individual dengan menambahkan
-fno-objc-arc
flag kompiler untuk file-file tersebut.Anda menambahkan flag compiler di Target -> Build Phases -> Compile Sources. Anda harus mengklik dua kali pada kolom kanan baris di bawah Compiler Flags . Anda juga dapat menambahkannya ke beberapa file dengan menahan tombol cmd untuk memilih file dan kemudian menekan enter untuk membuka kotak edit bendera. (Perhatikan bahwa mengedit banyak file akan menimpa flag yang mungkin sudah ada.)
Saya membuat contoh proyek yang memiliki contoh: https://github.com/jaminguy/NoArc
Lihat jawaban ini untuk info lebih lanjut: Nonaktifkan Penghitungan Referensi Otomatis untuk Beberapa File
sumber
-fno-objc-arc
dan itu akan ditambahkan ke semua file yang dipilih. sunting hanya melihat jawaban di bawah yang satu ini :(Nonaktifkan ARC pada file MULTIPLE:
;)
sumber
Untuk Xcode 4.3 cara yang lebih mudah adalah: Edit / Refactor / Konversi ke objektif-C ARC, lalu centang file yang tidak ingin Anda konversi. Saya menemukan cara ini sama dengan menggunakan flag compiler di atas.
sumber
Ini adalah cara yang sangat sederhana untuk membuat file individual non-arc.
Ikuti langkah-langkah di bawah ini:
Nonaktifkan ARC pada file individual:
Pilih file yang diinginkan di Target / Build Phases / Compile Sources di Xcode
Pilih file .m yang Anda inginkan. NON-ARC PRESS ENTER Ketik -fno-objc-arc
File bukan ARC ke bendera proyek ARC:
-fno-objc-arc
File ARC ke bendera proyek non ARC:
-fobjc-arc
sumber
Catatan: jika Anda ingin menonaktifkan ARC untuk banyak file , Anda harus:
-fno-objc-arc
sumber
Cukup gunakan
-fno-objc-arc
bendera diBuild Phases
>Compile Sources
sumber
sumber
Dimungkinkan untuk menonaktifkan ARC (Penghitungan Referensi Otomatis) untuk file tertentu dalam Xcode.
Pilih Target -> Bangun Fase -> Kompilasi Sumber -> Pilih File (klik dua kali) -> Tambahkan "-fno-objc-arc" ke jendela pop-up.
Saya mengalami situasi ini dalam menggunakan file "Reachibility".
Ini ditunjukkan pada gambar di bawah ini:
sumber
gunakan -fno-objc-arc untuk setiap file dalam fase build
sumber
Empat Langkah Wajib seperti yang dijelaskan dalam video ini
sumber
Silakan Cukup ikuti tangkapan layar dan masukkan -fno-objc-arc .
sumber
Jika Anda menggunakan Unity, Anda tidak perlu mengubahnya dalam Xcode, Anda dapat menerapkan flag kompilasi dalam metadata untuk file tertentu, tepat di dalam Unity. Cukup pilih mereka di panel Proyek, dan terapkan dari panel Inspektur. Ini penting jika Anda berencana menggunakan Cloud Build.
sumber
Tambahkan flag “-fno-objc-arc”.
Ikuti langkah-langkah sederhana: Aplikasi> Target> Bangun Fase> Sumber Kompilasi> tambahkan flag setelah kelas “-fno-objc-arc”
sumber
Saya pikir semua jawaban lain menjelaskan cara menonaktifkan MRC (Jumlah Referensi Manual) dan mengaktifkan ARC (Jumlah Referensi Otomatis). Untuk menggunakan MRC (Penghitungan Referensi Manual) yaitu Menonaktifkan ARC (Penghitungan Referensi Otomatis) pada file MULTIPLE:
sumber
Cukup gunakan flag -fno-objc-arc di Build Phases> Compile Sources di depan file yang Anda tidak ingin ARC diterapkan.
sumber
sumber
PERGI ke Aplikasi -> lalu Target -> Bangun Fase -> Kompilasi Sumber
Sekarang, Pilih file di mana Anda ingin menonaktifkan ARC
rekatkan cuplikan ini "-fno-objc-arc" Setelah menempelkan tekan ENTER
di setiap file tempat Anda ingin menonaktifkan ARC.
sumber
Ikuti langkah-langkah untuk mengaktifkan menonaktifkan ARC
Pilih proyek Xcode Pergi ke target Pilih bagian Fase pembuatan Di dalam bagian fase pembuatan pilih sumber kompilasi. Pilih file yang Anda tidak ingin menonaktifkan ARC dan tambahkan -fno-objc-arc
sumber