여기 거래가 있습니다 ... (내 앱 중 다른 앱에서) 앱을 만들고 있지만 NSDocumentDirectory 만 사용하는 것으로 변경하고 있습니다. 사용자가 모든 사용자를 볼 수있게합니다. 파일, 단지 몇 개의 파일, 즉 사용자가 만든 PDF 만 볼 수 있습니다. 나는 그것을 작동 시키지만, iTunes의 FileSharing/Documents 창에는 아무것도 나타나지 않습니다.NSApplicationSupportDirectory와 NSDocumentDirectory를 모두 사용합니다.
먼저 지속성 모델의 NSApplicationSupportDirectory를 호출하는 방법 ...
+(NSString *)getDocumentpath
{
//NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
return [paths objectAtIndex:0];
}
+(NSString *) documentsDirectoryPath
{
//NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return documentsDirectory;
}
+(void) copyResourceFileToDocumentsDirectory: (NSString *) fileName
{
//NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writablePath = [documentsDirectory stringByAppendingPathComponent:fileName];
NSFileManager * fileManager = [NSFileManager defaultManager];
BOOL succeeded = [fileManager fileExistsAtPath:writablePath];
NSError *error;
//If file is not in the documents directory then only write
if (!succeeded)
{
NSString *newPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:fileName];
succeeded = [fileManager copyItemAtPath:newPath toPath:writablePath error:&error];
if (succeeded == FALSE) {
NSLog(@"%@ : copy failed", fileName);
} else {
NSLog(@"%@ : copy success", fileName);
}
} else {
NSLog(@"%@ : already exists", fileName);
}
}
이 다른 응용 프로그램에서 변경되지 않은 NSDocumentDirectory,에 PDF를 저장하기위한 방법은 ...
- (NSString*)saveJournalToPDF:(UIView*)journal andName:(NSString*)name
{
NSString* fileName = [NSString stringWithFormat:@"%@.pdf",name];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:fileName];
... // the rest of the data strings for creating the PDF
}
내 질문 : 다른 데이터 파일을 노출하지 않고 사용자에게 보이게하는 방법은 무엇입니까? 바로 지금, 그것은 모두 또는 아무것도 아닌 것 같습니다!