Hanya sedikit latar belakang. Saya sudah lama menggunakan Windows, pengembang C # dan untuk proyek baru untuk perusahaan saya, saya harus beralih ke OSX dan mulai belajar pengembangan iOS. Dengan kata lain, saya masih cukup baru di lingkungan Mac / OSX.
Sebelumnya hari ini saya memutuskan untuk menutup XCode dan mengatur kembali proyek pengujian dan pembelajaran saya, dan proyek yang saya buat di XCode yang menyimpan aset yang kemungkinan besar akan perlu saya gunakan kembali. Ketika saya meluncurkan XCode kembali, saya terkejut melihat bahwa semua proyek saya baru-baru ini masih ada dalam daftar Terbaru dan mereka menunjuk ke lokasi file baru! Manis!
Bagaimana XCode tahu di mana proyek saya berada? Apakah fungsi Sistem Operasi, Sistem File atau apakah XCode memiliki beberapa bentuk kecerdasan yang tertanam dalam sistem untuk mendeteksi jenis pertanyaan ini?
sumber
HFS+
/ OS X menyimpan datum tambahan untuk file yang dapat diakses menggunakanstat
: Waktu kelahiranB
node (selain untuk mengaksesa
, mengubahc
, dan modifikasim
). Tidak yakin apakah ini khusus untuk OS X atau lebih umum.Saya tidak tahu bagaimana XCode melakukan itu, tetapi inilah jawaban umum.
Selain jalur, objek sistem file dapat memiliki pengidentifikasi lainnya, seperti nomor inode pada sistem file Unix atau ID objek pada Windows NTFS, yang sering dapat digunakan untuk menemukan semua jalur ke file dengan ID yang dikenal. Nomor atau pengidentifikasi ini selalu tetap sama selama objek itu sendiri tetap berada di sistem file yang sama, terlepas dari direktori mana Anda memindahkannya.
Objek juga memiliki metadata lain yang lebih terlihat tetapi kurang dapat diandalkan seperti nama, tanggal pembuatan, atau ukuran. Jika ID objek tidak diketahui atau tidak ditemukan di mana pun, program mungkin mencari semua sistem file untuk objek apa pun dengan nama, jenis dan ukuran yang sama, atau menggunakan kriteria lain. Inilah yang dilakukan Mac OS X Aliases dan Windows Shortcuts ketika target aslinya tidak ada (meskipun pintasan hanya berfungsi di shell Windows, sementara alias lebih terintegrasi dengan Mac OS).
Bisa jadi XCode hanya menggunakan fungsi yang sama yang digunakan untuk menyelesaikan alias yang rusak.
sumber