Dapatkah seseorang menjelaskan kepada saya apa direktori dokumen itu di aplikasi iOS dan kapan menggunakannya?
Inilah yang saya yakini saat ini:
Bagi saya, ini tampaknya menjadi folder pusat tempat pengguna dapat menyimpan file apa pun yang diperlukan untuk aplikasi.
Ini akan menjadi lokasi yang berbeda dari tempat Data Inti menyimpan datanya?
Sepertinya setiap aplikasi mendapatkan direktori dokumennya sendiri.
Saya bebas membuat subdirektori dari direktori dokumen, seperti direktori dokumen / gambar, atau direktori dokumen / video?
ios
nsdocumentdirectory
pengguna798719
sumber
sumber
Jawaban:
Hanya aplikasi Anda (pada perangkat yang tidak di-jailbreak) yang berjalan dalam lingkungan "kotak pasir". Artinya, ia hanya dapat mengakses file dan direktori di dalam kontennya sendiri. Misalnya Dokumen dan Perpustakaan .
Lihat Panduan Pemrograman Aplikasi iOS .
Untuk mengakses direktori Dokumen kotak pasir aplikasi Anda, Anda dapat menggunakan yang berikut ini:
iOS 8 dan yang lebih baru, ini adalah metode yang disarankan
jika Anda perlu mendukung iOS 7 atau sebelumnya
Dokumen iniDirektori memungkinkan Anda menyimpan file dan subdirektori yang dibuat atau mungkin diperlukan oleh aplikasi Anda.
Untuk mengakses file di direktori Library dari kotak pasir aplikasi Anda, gunakan (sebagai pengganti di
paths
atas):sumber
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
akan selalu memberi Anda direktori yang benar!Ini telah berubah di iOS 8. Lihat catatan teknis berikut: https://developer.apple.com/library/ios/technotes/tn2406/_index.html
Cara sanksi Apple (dari tautan di atas) adalah sebagai berikut:
sumber
Saya tidak dapat menemukan kode di dokumen yang disarankan oleh jawaban yang diterima tetapi saya menemukan padanan yang diperbarui di sini:
Panduan Pemrograman Sistem File :: Mengakses File dan Direktori »
Ini mencegah penggunaan NSSearchPathForDirectoriesInDomain:
Berikut adalah beberapa konstanta direktori berguna lainnya untuk dimainkan. Tidak diragukan lagi tidak semua ini didukung di iOS. Anda juga dapat menggunakan fungsi NSHomeDirectory () yang:
Dari NSPathUtilities.h
Dan terakhir, beberapa metode kemudahan dalam kategori NSURL http://club15cc.com/code/ios/easy-ios-file-directory-paths-with-this-handy-nsurl-category
sumber
Swift 3 dan 4 sebagai global var:
Sebagai ekstensi FileManager:
sumber
documentDirectoryURL
atau cukupdocumentDirectory
dan mengandalkan tipenya. Saya suka ide untuk melingkupinya secara statis keFileManager
properti statis dalam ekstensi.Selain
Documents
folder, iOS juga memungkinkan Anda menyimpan file ketemp
danLibrary
folder .Untuk informasi lebih lanjut tentang mana yang akan digunakan, lihat tautan ini dari dokumentasi:
sumber
Akan lebih bersih jika menambahkan ekstensi ke FileManager untuk jenis panggilan canggung ini, untuk kerapihan jika tidak ada yang lain. Sesuatu seperti:
sumber
Anda dapat mengakses direktori dokumen menggunakan kode ini yang pada dasarnya digunakan untuk menyimpan file dalam format plist:
sumber
Berikut adalah fungsi kecil yang berguna, yang membuat penggunaan / pembuatan folder iOS sedikit lebih mudah.
Anda memberikannya nama subfolder, itu akan mengembalikan path lengkap kembali kepada Anda, dan memastikan direktori tersebut ada.
(Secara pribadi, saya tetap menggunakan fungsi statis ini di kelas AppDelete saya, tetapi mungkin ini bukan tempat paling cerdas untuk meletakkannya.)
Begini cara Anda menyebutnya, untuk mendapatkan "jalur lengkap" dari subdirektori MySavedImages:
Dan inilah fungsi lengkapnya:
Dengan menggunakan fungsi kecil ini, mudah untuk membuat direktori di direktori Dokumen aplikasi Anda (jika belum ada), dan menulis file ke dalamnya.
Inilah cara saya membuat direktori, dan menulis konten dari salah satu file gambar saya ke dalamnya:
Semoga ini membantu !
sumber
Seperti orang lain yang disebutkan, aplikasi Anda berjalan dalam lingkungan kotak pasir dan Anda dapat menggunakan direktori dokumen untuk menyimpan gambar atau aset lain yang mungkin digunakan aplikasi Anda, mis. mengunduh file offline-d sesuai keinginan pengguna - Dasar Sistem File - Dokumentasi Apple - Direktori mana yang digunakan, untuk menyimpan file khusus aplikasi
Diperbarui ke swift 5, Anda dapat menggunakan salah satu dari fungsi ini, sesuai kebutuhan -
Pemakaian:
sumber