본문 바로가기
아이폰 개발/ios 개념&튜토리얼

IOS 샌드박스 접근 로직

by 인생여희 2020. 8. 11.

 

예제1

// 1.샌드박스(도큐먼트) 주소 얻기
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
//위의 주소가 없으면 서브 디렉토리 생성
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:path]) {
//없으면생성
[fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
}else{
NSLog(@"파일 존재");
}
//셍성할 파일 명
NSString * filePath = [path stringByAppendingString:@"/RRecord.aif"];
//2. 파일 경로 얻기
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSLog(@"path : %@", path);
NSLog(@"filePath : %@", filePath);
NSLog(@"fileURL : %@", filePath);
/*
path : /var/mobile/Containers/Data/Application/D1D633D9-8ED5-4A72-B02D-D754F6A291CE/Documents
filePath : /var/mobile/Containers/Data/Application/D1D633D9-8ED5-4A72-B02D-D754F6A291CE/Documents/RRecord.aif
fileURL : /var/mobile/Containers/Data/Application/D1D633D9-8ED5-4A72-B02D-D754F6A291CE/Documents/RRecord.aif
*/
view raw a.m hosted with ❤ by GitHub

 

출력

path : /var/mobile/Containers/Data/Application/D1D633D9-8ED5-4A72-B02D-D754F6A291CE/Documents

            

filePath : /var/mobile/Containers/Data/Application/D1D633D9-8ED5-4A72-B02D-D754F6A291CE/Documents/RRecord.aif

             

fileURL : /var/mobile/Containers/Data/Application/D1D633D9-8ED5-4A72-B02D-D754F6A291CE/Documents/RRecord.aif

 

 

 

예제2

//1.도큐먼트 주소 얻기
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
//2.도큐먼트 주소에 저장할 파일명 생성
NSString *fileName = @"test_recording.aif";
NSString *filePath = [basePath stringByAppendingPathComponent:fileName];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSLog(@"paths : %@" , paths);
NSLog(@"basePath : %@" , basePath);
NSLog(@"filePath : %@" , filePath);
NSLog(@"fileURL : %@" , fileURL);
/*
출력
paths : (
"/var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents"
)
basePath : /var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents
filePath : /var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents/test_recording.aif
fileURL : file:///var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents/test_recording.aif
*/
view raw b.m hosted with ❤ by GitHub

출력

paths : (

                 "/var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents"

             )

basePath : /var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents

             

filePath : /var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents/test_recording.aif

           

fileURL : file:///var/mobile/Containers/Data/Application/4B1E0587-C5D7-423C-B86D-ECB72AA86C26/Documents/test_recording.aif

 

 

참고 사이트