Jawaban:
Jawaban yang diterima benar untuk SDK 3.2 - SDK 4 menggantikan / folder Pengguna di jalur itu dengan nomor untuk masing-masing versi iPhone OS / iOS lama yang dapat disimulasikan, sehingga jalur menjadi:
~ / Perpustakaan / Dukungan Aplikasi / iPhone Simulator / [Versi OS] / Aplikasi / [appGUID] /
jika Anda memiliki SDK yang sebelumnya diinstal bersama, simulator 3.1.x akan terus menyimpan datanya di:
~ / Perpustakaan / Dukungan Aplikasi / iPhone Simulator / Pengguna / Aplikasi / [appGUID] /
Untuk Xcode6 dan iOS8
~ / Perpustakaan / Pengembang / CoreSimulator / Perangkat / [DeviceID] / data / Kontainer / Data / Aplikasi / [AppID] /
po NSHomeDirectory()
debugger. Potong dan tempel ke Go> Go To Folder (Cmd-Shift-G).
NSLog
ini dalam Anda AppDelegate
's didFinishLaunchingWithOptions:
, atau Anda dapat po NSHomeDirectory()
dari debugger. Dalam kedua kasus, salin string dan buka dengan finder Cmd+Shift+G
. Ini berfungsi lebih baik karena Anda bertanya dengan perintah standar alih-alih perlu mengetahui sesuatu yang berubah.
Ada cara (lebih cepat?) Lain untuk menemukan di mana data aplikasi Anda tanpa Terminal:
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
memberi Anda pengenal perangkat
Menemukannya:
~/Library/Application Support/iPhone Simulator/User/
iOS 8 ~ / Library / Developer / CoreSimulator / Perangkat / [Device ID] / data / Aplikasi / [appGUID] / Documents /
xcrun instruments -s
Pada Singa Users/[username]/Library
itu tersembunyi.
Untuk hanya melihat di Finder, klik menu 'Go' di bagian atas layar dan tahan tombol 'alt' untuk menampilkan 'Library'.
Klik 'Perpustakaan' dan Anda dapat melihat folder perpustakaan yang sebelumnya tersembunyi.
Sebelumnya disarankan:
Menggunakan
chflags nohidden /users/[username]/library
di terminal untuk menampilkan folder.
Tangkap Breakpoint di suatu tempat.
Masuk po NSHomeDirectory()
ke jendela konsol
(lldb) po NSHomeDirectory () / Pengguna / usernam / Perpustakaan / Pengembang / CoreSimulator / Perangkat / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Wadah / Data / Aplikasi / 395818BB-6D0F-499F-AAFE-068A783
Jika Simulator sedang berjalan, Anda bisa mendapatkan jalur ke wadah aplikasi apa pun:
xcrun simctl get_app_container booted <app bundle identifier>
Contoh output:
$ xcrun simctl get_app_container booted com.example.app
/Users/jappleseed/Library/Developer/CoreSimulator/Devices/7FB6CB8F-63CB-4F27-BDAB-884814DA6FE0/data/Containers/Bundle/Application/466AE987-76BC-47CF-A207-266E65E7DE0A/example.app
"booted" dapat digantikan dengan sebagian besar simctl
perintah di mana saja perangkat UDID diharapkan.
Anda dapat melihat daftar perangkat dengan xcrun simctl list
dan mendapatkan bantuan tentang perintah khusus xcrun simctl help
.
Pembaruan : Dengan permintaan populer di Xcode 8.3 Anda sekarang dapat menentukan jenis wadah yang Anda inginkan dengan menambahkan "aplikasi", "data", "grup", atau pengidentifikasi grup aplikasi.
Untuk mendapatkan wadah data:
$ xcrun simctl get_app_container booted com.example.app data
Dengan Xcode 5 Anda dapat menggunakan kode di bawah ini:
#import <Foundation/NSFileManager.h>
dan:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
Hasilnya mungkin terlihat seperti:
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
Di mana hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
beberapa string hex mengidentifikasi aplikasi iOS Anda.
po NSHomeDirectory()
Sepertinya Xcode 6.0 telah memindahkan lokasi ini sekali lagi, setidaknya untuk simulator iOS 8.
~ / Perpustakaan / Pengembang / CoreSimulator / Perangkat / [DeviceID] / data / Kontainer / Data / Aplikasi / [AppID]
Salah satu cara paling mudah untuk menemukan di mana aplikasi berada dalam simulator. Pengguna "NST temporaryDirectory ()"
Langkah-
Saat aplikasi berhenti di breakpoint, ketikkan perintah berikut di konsol Xcode.
po NST temporaryDirectory ()
Lihat gambar di bawah ini untuk wawasan yang tepat
Sekarang Anda memiliki jalur yang tepat hingga folder sementara. Anda dapat kembali dan melihat semua folder terkait aplikasi.
Semoga ini juga membantu. Selamat Coding :)
po NSHomeDirectory()
?
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
Sebagai contoh: iOS 13.0
, watchOS 6.0
ini mengambil ruang yang paling, jauh. Masing-masing bisa hingga ~ 5GB
$ open ~/Library/Developer/CoreSimulator/Devices
Sebagai contoh: iPhone Xr
, iPhone 11 Pro Max
. Ini biasanya masing-masing <15 mb.
Simulator dibagi antara runtime dan perangkat. Jika Anda menjalankan, $ xcrun simctl list
Anda dapat melihat gambaran umum, tetapi jika Anda ingin menemukan lokasi fisik dari simulator ini, lihat di direktori ini yang saya tunjukkan.
Benar-benar aman untuk menghapus runtime yang tidak Anda dukung. Anda dapat menginstalnya kembali nanti jika diinginkan.
Cukup lakukan ini:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
Dan Anda akan mendapatkan sesuatu seperti ini:
/ Pengguna / admin / Perpustakaan / Pengembang / CoreSimulator / Perangkat / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / data / Wadah / Data / Aplikasi / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / Dokumen
Pergi ke sana dan Anda akan melihat folder dokumen aplikasi Anda terlepas dari versi XCode. (Gunakan perintah "Pergi ke Folder ..." di Finder dan tentukan path "~ / library").
Versi cepat untuk jalur string:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
dan URL folder:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Untuk Xcode 4.6 disimpan di jalur berikut ...
/ Pengguna / [pengguna saat ini] / Perpustakaan / Dukungan Aplikasi / iPhone Simulator / 6.1 / Aplikasi /
Untuk mengetahuinya secara terprogram gunakan kode berikut
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
Untuk iOS 8
Untuk menemukan folder Dokumen , Anda dapat menulis file di folder Dokumen:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];
katakan, di didFinishLaunchingWithOptions
.
Kemudian Anda dapat membuka Terminal dan menemukan folder:
$ find ~/Library -name Words.txt
jika ada yang masih mengalami masalah ini di singa, ada artikel bagus dengan 19 tips berbeda untuk melihat dir ~ / Library Anda. temukan artikel oleh Dan Frakes di sini http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
Ingat direktori ke simulator diberikan di bawah ini
~ / Perpustakaan / Dukungan Aplikasi / iPhone Simulator / Pengguna /
Untuk macOS Catalina, saya menemukan db saya di:
~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db
Untuk mendapatkan applicationId
, saya hanya mengurutkan folder berdasarkan tanggal yang dimodifikasi, meskipun saya yakin ada cara yang lebih baik untuk melakukannya.
Untuk pengguna yang bereaksi asli yang tidak sering menggunakan Xcode, Anda bisa menggunakannya find
. Buka terminal dan cari dengan nama database.
$ find ~/Library/Developer -name 'myname.db'
Jika Anda tidak tahu nama persisnya, Anda dapat menggunakan wildcard:
$ find ~/Library/Developer -name 'myname.*'
Anda dapat mencoba menggunakan kode di bawah ini
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
Untuk membuka dikte di mana Anda App adalah yang Anda bangun di xCode pada simulator, lakukan hal berikut:
Saya tidak memiliki afiliasi dengan program ini, tetapi jika Anda ingin membuka semua ini di finder, SimPholder membuatnya sangat mudah.
cd ~/Library/Application\ Support/iPhone\ Simulator/