Pertanyaan Umum (FAQ)

Saya mengalami masalah dengan Xcode.

Lihat Proses Debug Masalah Build.

Bagaimana cara memperbaiki error "simbol yang tidak ditentukan" saat membuat aplikasi?

Lihat Setelan Link yang Diperlukan.

Saya mengalami masalah saat menggunakan j2objc pada baris perintah.

Cara tercepat untuk membuat command line untuk j2objc adalah memulai dengan javac, menentukan classpath (opsional), sourcepath (opsional), direktori output, dan daftar file sumber. Setelah berhasil dikompilasi, ganti "j2objc" dengan "javac", dan tambahkan flag khusus j2objc. Alasan caranya berhasil adalah j2objc menggunakan compiler Java sebagai front-end-nya, sehingga menggunakan argumen yang sama dengan compiler. Ingat: jika tidak dikompilasi, kompilasi tidak dapat diterjemahkan.

Bagaimana pembersihan sampah memori ditangani?

Lihat Pengelolaan Memori. Kami terus meningkatkan kode yang dihasilkan untuk meningkatkan cara pengelolaan memori, menggunakan alat deteksi kebocoran dan pembuatan profil Xcode. Sebaiknya project yang menggunakan J2ObjC juga untuk memantau performa dan deteksi kebocoran (seperti yang seharusnya dilakukan oleh semua project iOS), dan melaporkan masalah apa pun yang ditemukan.

Bagaimana cara mengurangi ukuran kode terjemahan? Apa yang dapat mempercepat terjemahan?

Lihat Penghapusan Kode Mati.

Bagaimana j2objc menangani impor di dalam file .java?

j2objc menggunakan compiler javac sebagai front-end-nya, sehingga semua impor dibaca seperti halnya yang dilakukan oleh compiler Java. Untuk menentukan tempat menemukan class yang diimpor, gunakan opsi -classpath dan -sourcepath yang sama seperti yang akan Anda gunakan dengan javac. Saat membuat file Objective-C, referensi class eksternal dikumpulkan, dan perintah #import ditambahkan ke file header yang dihasilkan (.h) atau implementasi (.m) sebagaimana mestinya.

Mengapa beberapa nilai minimum dan maksimum untuk jenis numerik berbeda dengan spesifikasi Java?

Nilai ini berbeda dari yang ditampilkan Java karena berada di luar yang akan diterima compiler Objective-C sebagai valid. Sebagai gantinya, kita menggunakan nilai minimum dan maksimum yang ditentukan dalam /usr/include/values.h.