내 Mac 응용 프로그램에서 바탕 화면의 내용을 읽을 수 있지만 파일을 삭제하려고 할 때마다 그렇게 할 수있는 권한이 없다고 말합니다. 사용자가 데스크톱에 대한 액세스를 승인 한 경우 파일을 삭제할 수 없습니까?샌드 박스 처리 된 Mac 앱에서 데스크탑의 파일을 삭제할 수 있습니까?
- 샌드 박스는
- 파일 액세스 켜지는 사용자가 선택한 파일에 대한 읽기/쓰기로 설정됩니다.
- 보안 범위가 지정된 책갈피는 파일에 대한 읽기 액세스 권한을 가지고 있기 때문에 작동하며 권한 부여 프롬프트는 한 번만 표시됩니다. 나는 또한없는 성공을 가진 파일 관리자 쓰레기의 방법을 사용하여 시도
[[NSWorkspace sharedWorkspace] performFileOperation:NSWorkspaceRecycleOperation source:desktopPath destination:@"" files:self.filesToDelete tag:nil];
:
이 내가 삭제 사용하고있는 코드입니다.
Error Domain=NSCocoaErrorDomain Code=513 "“file.png” couldn’t be moved to the trash because you don’t have permission to access it." UserInfo=0x60000026a980 {NSURL=file:///Users/me/Desktop/file.png, NSUserStringVariant=(
Trash
), NSUnderlyingError=0x600000257ca0 "The operation couldn’t be completed. (OSStatus error -5000.)"}
그리고 실제 쓰레기 메서드 호출 : 여기
은 파일 관리자 쓰레기 메서드에서 반환하는 오류가 사용자가 열려있는 대화 상자를 통해 파일을 선택한 않는[[NSFileManager defaultManager] trashItemAtURL:url resultingItemURL:nil error:&error];
예, 사용자가 당신에게 권한을 부여하고 사용자가 그럼, 수동으로 할 수있을 때해야 당신의 응용 프로그램 (AFAIK) –
생각, 왜 내가 그 오류를 얻고 무엇인가? 파일을 읽을 수 있다면 파일을 삭제할 수 없습니까? 오류 – Lizza
위의 내용을 읽을 수 있으면 삭제할 수 있다는 의미는 아닙니다. 그 오류는 샌드 박스 오류를 나타내지 만 대답은 –