Pertanyaan Bagaimana seharusnya saya mengatur file proyek Xcode saya?


Saya mencoba untuk membungkus kepala saya di sekitar file organisasi Xcode - atau kurang dari itu. Saya dapat melakukan semua yang saya inginkan dalam proyek dan tampak hebat dengan semua folder dan struktur "palsu". Saya pergi melihat sistem file dan booming BESAR kekacauan. Saya sudah mencoba mengimpor file dengan Create Folder Reference for any added folder pilihan diperiksa dan itu berhasil, agak. Saya mendapatkan struktur yang saya inginkan baik di Xcode maupun di sistem file.

Masalah: Ketika saya menambahkan file ke folder di filesystem yang merupakan Referensi Folder di Xcode, itu tidak di Xcode ketika saya pergi melihat, bahkan setelah memuat ulang proyek. File / Subfolder dalam Referensi Map tidak dapat dipindahkan di Xcode. Ketika saya memindahkannya ke sistem file, saya mendapat tautan merah (tidak dapat menemukan file?) Di Xcode.

Bagaimana cara menjaga proyek yang terorganisir dan berkas sistem? Bagaimana saya bisa membuat proyek untuk hanya mengenali folder dan menunjukkan file dan subfoldernya (saat ini dan terbaru) dalam proyek saya?

Masalah lain yang tampaknya saya hadapi, jika saya menggunakan Referensi Map dan mengubah file, file tersebut tidak diperbarui dalam aplikasi saya kecuali saya melakukan pembersihan penuh & membangun kembali. Jika saya tidak menggunakan Referensi Folder, semua file saya dibuang ke folder Sumber Daya bundel aplikasi, bukan dalam struktur bagus yang ada dalam proyek saya.

Haruskah saya peduli sama sekali? Haruskah saya menggunakan folder palsu dan membiarkan semuanya berjalan di mana saja dan tidak peduli? Paket aplikasi saya akan berantakan, filesystem akan berantakan, tetapi semuanya akan berfungsi ... Saya berharap?

Edit:

Alasan terbesar saya untuk menginginkan filesystem yang terorganisasi adalah file sumber daya (gambar, suara, datafile lainnya, dll.) Tidak diedit di Xcode. Saya harus mengaksesnya di aplikasi pihak ketiga melalui filesystem. Jika hal-hal yang berantakan lebih sulit ditemukan dan dipertahankan dalam aplikasi pihak ke-3 lainnya.

Juga apa yang terjadi jika saya menginginkan struktur seperti berikut:

  • Gambar / Backgrounds / Name.png
  • Gambar / Ikon / Nama.png
  • Gambar / Judul / Nama.png

Haruskah saya menggunakan nama file panjang daripada folder untuk mengatur?

  • Images_Backgrounds_Name.png
  • Images_Icons_Name.png
  • Images_Titles_Name.png

32
2017-08-28 10:25


asal


Jawaban:


Haruskah saya peduli sama sekali? Haruskah saya hanya menggunakan folder palsu dan biarkan   semuanya kemana-mana dan tidak peduli? Paket aplikasi saya akan menjadi a   berantakan, filesystem akan berantakan, tetapi semuanya akan bekerja ... saya akan   berharap?

IMO tidak ... :) pada dasarnya. Intinya adalah Xcode telah dirancang untuk memberi Anda pengalaman pemrograman terbaik. Jika Apple ingin Anda mengatur secara fisik semua file dan folder Anda dalam sistem file yang sebenarnya maka mereka akan membuatnya seperti itu.

Saya benar-benar tidak mengerti mengapa Anda ingin mengatur semua file dan folder dengan cara ini? Tidak ada bedanya dengan menjalankan aplikasi dan folder "palsu" (grup) di XCode cukup menyediakan bantuan visual yang diperlukan untuk diri sendiri (dan lainnya) untuk menavigasi kelas dan sumber daya lainnya. Mengaturnya dengan benar di sistem file Anda (seperti yang Anda temukan) tentu saja membuat semuanya menjadi lebih sulit?


6
2017-08-28 10:35



Saya juga berharap Xcode secara otomatis menyimpan dirinya sendiri dan sistem file tersinkronisasi.

Begitu banyak sehingga, saya menghabiskan satu jam melakukannya secara manual untuk proyek yang disebut acani-iphone di GitHub. Pada dasarnya, saya baru saja memindahkan beberapa file di sekitar menggunakan Finder, membuat folder baru sesuka hati. Kemudian, saya beralih kembali ke Xcode dan melihat bahwa file yang baru saya pindahkan sekarang berwarna merah (karena Xcode berpikir mereka darimana saya memindahkannya dan tidak dapat menemukannya).

UPDATE: Saya baru tahu bahwa saya bisa saja hanya mengklik pada kelompok merah atau file, menekan CMD + i (Dapatkan Info dari menu konteks, yang dapat Anda buka dengan mengklik kanan pada file atau grup merah), dan di bawah tab Umum, klik Pilih, lalu temukan tempat saya memindahkan file ke dalam sistem berkas. Tapi, saya tidak melakukan itu, inilah yang saya lakukan, yang juga berfungsi:

Lalu, saya hanya menyorot semua file merah di Xcode dan ditekan command + delete untuk menghapus referensi rusak (merah). Kemudian, saya mengklik kanan pada Grup Saya ingin menambahkan file ke (biasanya grup yang sama), dan mengklik Add > Existing Files.... Kemudian, saya menemukan file yang sama di tempat baru pada sistem file. Saya menyimpan "Menyalin item ke folder grup tujuan (jika perlu)" tidak dicentang, saya memeriksa tombol radio "Secara rekursif membuat grup untuk folder yang ditambahkan," dan saya memeriksa tambah untuk menargetkan acani jika file yang saya tambahkan sedang digunakan untuk membangun aplikasi iPhone acani.

Saya melakukan hal di atas dengan seperti direktori file pada suatu waktu. Beberapa kali saya lebih agresif, menambahkan beberapa direktori sekaligus, karena saya hampir selalu memilih tombol radio "Secara rekursif membuat grup untuk folder yang ditambahkan."

Saya menemukan bahwa file acani_Prefix.pch dan acani-Info.plist harus tetap di root file sistem dir (meskipun mungkin ada pengaturan yang dapat Anda atur untuk memungkinkan file-file ini berada di tempat lain, seperti saya pikir Anda dapat menambahkan baris ke acani-Info.plist sehingga Anda dapat memindahkan / mengganti nama acani_Prefix.pch, tapi aku baik-baik saja dengan mereka di root dir pada sistem file.

Itu menjengkelkan untuk dilakukan, dan mungkin bahkan tidak sebanding dengan masalah, mungkin penundaan, tetapi terus maju, sebelum menambahkan file yang ada ke Xcode, pertama-tama saya akan memastikan mereka ada di tempat yang saya inginkan mereka berada di sistem file.


16
2018-03-15 02:05



Oke, jadi beginilah cara kerjanya:

Xcode tidak tahu tentang file apa pun hingga Anda menceritakannya. Artinya, bahkan jika Anda menambahkan file secara manual di finder (biasanya ide yang buruk) ke folder yang berisi file dalam proyek Xcode, itu tidak tahu tentang mereka sampai Anda "menambahkan file yang ada ke proyek".

Praktik terbaik (imo) untuk menambahkan file yang sudah ada (atau kelompok file) ke proyek (misalnya, beberapa kode yang baru saja Anda unduh) adalah memilih "tambah file yang ada" dan kemudian "salin item ke folder grup tujuan (jika diperlukan) "pada dialog berikutnya, jika Anda ingin proyek Anda memiliki salinan file yang dipermasalahkan, bukan hanya referensi untuk mereka (ada keuntungan dan kerugian dari keduanya).

Jangan terlalu khawatir tentang penamaan folder di Xcode, atau di mana Anda meletakkan sesuatu, tetapi cobalah untuk tetap menggunakan standar yang masuk akal di lingkungan Anda. Sebagai contoh, saya selalu menempatkan kelas yang saya tulis di "Kelas", dan memiliki folder terpisah untuk kode pustaka yang telah saya unduh untuk digunakan dalam proyek. Saya selalu menempatkan gambar / ikon / audio dll ke "Sumber".

Singkatnya, jika Anda menyukai apa yang ada di folder proyek kira-kira sama dengan apa yang ada dalam proyek Anda, selalu tambahkan file yang ada dengan memilih "salin item ke folder grup tujuan"

Fleksibilitas dalam XCode disengaja. Terserah Anda untuk memutuskan bagaimana Anda ingin mengatur sesuatu.


6
2017-08-28 10:47



Menggunakan Synx.

Ini mengatur ulang file Anda di disk untuk mencocokkan grup Xcode Anda. Saya mencoba menjalankannya sebelum melakukan kode apa pun yang mengubah grup Xcode, dan membuat proyek tetap bagus dan rapi.


2
2018-04-22 17:40



Akan sangat bagus jika Xcode bisa menjaga dirinya sendiri dan sistem file sinkron. Sayangnya tidak. Salah satu alasan untuk menginginkannya begitu hierarki dalam SCCS Anda cocok dengan yang ada di Xcode.

Saya mundur untuk menjaga hal-hal yang diatur dalam Xcode, dan membiarkan sistem file dipisahkan menjadi tidak lebih dari "Kelas" dan "Sumber".


1
2017-08-29 03:41



Yang saya lakukan adalah membuat grup untuk mewakili setiap folder dan kemudian, sebelum menambahkan file ke dalamnya, di panel kanan, tab pertama, tepat di bawah "Path", ada ikon yang memungkinkan Anda memilih folder. Dalam dialog folder itu, saya membuat folder yang cocok dengan grup dan memilihnya.

Di xcode3, ini menghasilkan dialog baru dan menambahkan file yang dimulai di jalur ini. Itu membuatnya sebanding dengan usaha. Xcode4, bagaimanapun, tidak menghormati pengaturan ini. Oleh karena itu, dipertanyakan apakah ada nilai nyata di dalamnya. Saya juga berharap XCOde akan mendukung organisasi sistem file yang lebih baik.

Mempertimbangkan bahwa nama file harus unik dalam proyek, terlepas dari grup dan folder, ada pembenaran untuk menerima struktur folder standar dan menggunakan grup untuk kenyamanan IDE. Sulit untuk datang dari platform lain di mana ini disukai.


0
2017-08-08 14:00



Saya merasa Anda dan pribadi tidak dapat tidak peduli dengan struktur yang sebenarnya dan hanya bergantung pada ruang kerja.

apa yang akan benar-benar hebat adalah alat yang akan melewati struktur ruang kerja dan mengatur ulang sistem file yang sesuai, mengurus penamaan ulang folder dll. ini akan menjadi solusi klasik dan IMHO harus diimplementasikan sebagai opsi sebagai kami mengatur ulang proyek kami saat kami bergerak.

beberapa masalah bisa menjadi kontrol sumber meskipun xcode4 bekerja dengan git dan SVN.


0
2017-08-22 17:33



Ini berubah dengan Xcode 9. Dari lepaskan catatan:

Grup dalam Navigator Proyek sekarang lebih terkait erat dengan   direktori dalam sistem file. (28612132)

  • Menyeret file antar grup di Project Navigator memindahkan file dalam sistem file dan memperbarui semua copy pekerjaan SCM terkait.
  • Ketika grup terhubung ke folder di sistem file, membuat, mengganti nama, dan menghapus grup akan memperbarui file yang terkait dan   folder di sistem file.
  • Untuk menghapus koneksi antara grup dan folder di sistem file, pilih grup, lalu buka inspektur File dan   klik pada tombol Clear path (X).
  • Untuk menambah atau memperbarui asosiasi dari file atau folder di filesystem ke file atau grup dalam proyek, pilih file atau   grup, buka File inspector, dan seret file yang sesuai atau   folder ke bagian Lokasi di inspektur File.

Perilaku baru tersedia dari perintah 'Grup Baru dengan Folder' (yang mungkin muncul hanya sebagai 'Grup Baru'), sementara perilaku lama tersedia dari 'Grup Baru tanpa Perintah folder (yang mungkin juga muncul hanya sebagai 'Grup Baru'!) Penggunaan dominan di antara grup yang ada di folder target tampaknya menentukan perintah mana yang diberi label 'Grup Baru'. Ini lebih dari sedikit membingungkan, tetapi jika Anda memiliki kebiasaan memilih salah satu atau yang lain, ide tampaknya adalah bahwa Anda bisa tetap dengan default 'Grup Baru' perintah. (Lihat merampok penjelasan yang jauh lebih menyeluruh.)


0
2018-06-06 04:00