내 응용 프로그램에 NSSavePanel
을 사용하고 있습니다. 내 OS X 10.7에서는 모두 정상적으로 작동하지만 다음과 같은 코멘트가있는 응용 프로그램이 Apple에 의해 거부되었습니다.동일한 위치에 파일을 두 번 저장하는 권한 부여 플래그를 수정하십시오.
두 번째로 내보낼 때 이전에 선택한 저장 위치가 작동하지 않습니다. 사용자는 위치를 선택 취소하고 파일을 다시 작성하기 위해 위치를 다시 선택해야합니다. 필요한 권한이 있는지 확인하십시오.
이 리뷰는 OS X 10.8을 실행하는 iMac에서 수행되었습니다.
이 내 저장 패널 코드입니다 :
NSSavePanel *savePanel = [NSSavePanel savePanel];
[savePanel setAllowedFileTypes:[NSArray arrayWithObject:@"mov"]];
[savePanel setDirectoryURL:[NSURL URLWithString:@"/Documents"]];
[savePanel setNameFieldStringValue: videoName];
[savePanel beginSheetModalForWindow:window completionHandler:^(NSInteger result){
if (result == NSFileHandlingPanelOKButton) {
NSError *error = nil;
NSString *sourceFilePath = [NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] resourcePath], videoName];
NSString *destFilePath = [[savePanel URL] path];
NSFileManager *fileManager = [[NSFileManager alloc] init];
if(![fileManager copyItemAtPath:sourceFilePath toPath:destFilePath error:&error])
NSLog(@"%@", error);
}
}];
은 현재 내가이 플래그를 사용하고 있습니다 :
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.assets.movies.read-write</key>
<true/>
<key>com.apple.security.files.downloads.read-write</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
</dict>
어떤 자격 플래그 내가이 문제를 해결하기 위해 사용해야합니까?
그래서 때마다 사용자가 "수출"에 원하는 :
예를 들어는이 질문에 주어진 샘플 코드 (그리고 허용 대답에 그것에 보정)를 참조하십시오 nssavepanel 맞지? – mark
예, Mark, nssavepanel을 통해 저장 위치를 선택합니다. – DioNNiS