답변:
SDK 3.2에 대해 올바른 대답이 맞습니다. SDK 4는 해당 경로 의 / User 폴더를 시뮬레이션 할 수있는 각 기존 iPhone OS / iOS 버전의 숫자로 대체 하므로 경로는 다음과 같습니다.
~ / 라이브러리 / 응용 프로그램 지원 / iPhone 시뮬레이터 / [OS 버전] / 응용 프로그램 / [appGUID] /
이전 SDK를 함께 설치 한 경우 3.1.x 시뮬레이터는 다음 위치에 데이터를 계속 저장합니다.
~ / 라이브러리 / 응용 프로그램 지원 / iPhone 시뮬레이터 / 사용자 / 응용 프로그램 / [appGUID] /
Xcode6 및 iOS8의 경우
~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID] /
po NSHomeDirectory()
. 디버거를 입력 하십시오. 이동> 폴더로 이동 (Cmd-Shift-G)으로 잘라 붙여 넣습니다.
터미널이없는 앱 데이터의 위치를 찾는 또 다른 방법은 더 빠릅니다.
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
장치 식별자를 제공합니다
그것을 발견:
~/Library/Application Support/iPhone Simulator/User/
iOS 8 ~ / 라이브러리 / 개발자 / CoreSimulator / 장치 / [장치 ID] / 데이터 / 응용 프로그램 / [appGUID] / 문서 /
xcrun instruments -s
사자에 Users/[username]/Library
숨겨져 있습니다.
Finder에서 간단히 보려면 화면 상단의 '이동'메뉴를 클릭하고 'alt'키를 누른 상태에서 'Library'를 표시하십시오.
'라이브러리'를 클릭하면 이전에 숨겨진 라이브러리 폴더를 볼 수 있습니다.
이전에 조언 한 내용 :
사용하다
chflags nohidden /users/[username]/library
터미널에서 폴더를 표시합니다.
어딘가에 브레이크 포인트를 잡아라.
입력 po NSHomeDirectory()
에서 콘솔 창
(lldb) po NSHomeDirectory () / Users / usernam / Library / Developer / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Containers / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753
시뮬레이터가 실행 중이면 모든 앱 컨테이너의 경로를 얻을 수 있습니다.
xcrun simctl get_app_container booted <app bundle identifier>
출력 예 :
$ 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
"부팅 된"은 대부분 대체 될 수 있습니다 simctl
장치 UDID가 필요한 곳이면 명령 .
당신은 장치 목록을 볼 수 있습니다 xcrun simctl list
로 특정 명령에 대한 도움말을 얻을 수 xcrun simctl help
있습니다.
최신 정보 : Xcode 8.3의 인기있는 요청에 따라 이제 "app", "data", "groups"또는 app group identifier를 추가하여 원하는 컨테이너 종류를 지정할 수 있습니다.
데이터 컨테이너를 가져 오려면
$ xcrun simctl get_app_container booted com.example.app data
Xcode 5에서는 아래 코드를 사용할 수 있습니다.
#import <Foundation/NSFileManager.h>
과:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
결과는 다음과 같습니다.
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
iOS 앱을 식별하는 16 진 문자열이 어디에 있습니까 ?
po NSHomeDirectory()
Xcode 6.0이 iOS 8 시뮬레이터의 경우이 위치를 다시 한 번 이동 한 것 같습니다.
~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID]
앱이 시뮬레이터 내의 위치를 찾는 가장 쉬운 방법 중 하나입니다. 사용자 "NSTemporaryDirectory ()"
단계
앱이 중단 점에서 중지되면 Xcode 콘솔에서 다음 명령을 입력하십시오.
po NSTemporaryDirectory ()
이제 임시 폴더까지의 정확한 경로가 있습니다. 돌아가서 모든 앱 관련 폴더를 볼 수 있습니다.
이것이 도움이되기를 바랍니다. 행복한 코딩 :)
po NSHomeDirectory()
않습니까?
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
예를 들면 다음 iOS 13.0
과 같습니다. , watchOS 6.0
공간이 가장 많이 차지합니다. 각각 최대 5GB까지 가능
$ open ~/Library/Developer/CoreSimulator/Devices
예를 들면 다음 iPhone Xr
과 같습니다. , iPhone 11 Pro Max
. 이들은 일반적으로 각각 <15mb입니다.
시뮬레이터는 런타임과 장치로 나뉩니다. 당신이 실행하는 경우$ xcrun simctl list
하면 개요를 볼 수 있지만 시뮬레이터의 실제 위치를 찾으려면이 디렉토리를 살펴보십시오.
지원하지 않는 런타임을 삭제하는 것이 안전합니다. 원하는 경우 나중에 다시 설치할 수 있습니다.
간단히 이렇게하십시오 :
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
그리고 당신은 다음과 같이 생각할 것입니다 :
/ Users / admin / Library / Developer / CoreSimulator / Devices / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / data / Containers / Data / Application / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / 문서
XCode 버전에 관계없이 앱의 문서 폴더가 표시됩니다. (Finder에서 "폴더로 이동 ..."명령을 사용하고 "~ / library"경로를 지정하십시오).
문자열 경로의 신속한 버전 :
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
및 폴더 URL :
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Xcode 4.6의 경우 다음 경로에 저장됩니다 ...
/ Users / [현재 사용자] / Library / Application Support / iPhone Simulator / 6.1 / Applications /
프로그래밍 방식으로 다음 코드를 사용하려면
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
iOS 8의 경우
문서 폴더 를 찾으려면 문서 폴더에 파일을 쓸 수 있습니다.
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];
에서 말하십시오 didFinishLaunchingWithOptions
.
그런 다음 터미널을 열고 폴더를 찾을 수 있습니다.
$ find ~/Library -name Words.txt
누군가 사자에서 여전히이 문제가 발생하면 ~ / 라이브러리 디렉토리를 볼 수있는 19 가지 팁이있는 훌륭한 기사가 있습니다. Dan Frakes의 기사를 여기에서 찾으십시오. http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
시뮬레이터의 디렉토리가 아래에 있음을 기억하십시오
~ / 라이브러리 / 응용 프로그램 지원 / iPhone 시뮬레이터 / 사용자 /
아래 코드를 사용해보십시오.
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
이 프로그램과 관련이 없지만 파인더 SimPholders 에서이 중 하나를 열려고 하면 엄청나게 쉽습니다.
cd ~/Library/Application\ Support/iPhone\ Simulator/