마지막으로 열었던 응용 프로그램의 파일을 가져 오는 방법이 있습니까? LSSharedFileListCreate를 사용하면 사용자의 전체 최근 문서 배열을 얻을 수 있지만 코코아 또는 objective-c를 사용하여 Xcode와 같은 특정 응용 프로그램에 대한 최신 문서를 가져올 수 있는지 궁금합니다.코코아를 사용하여 마지막으로 열린 문서
답변
을 내가 자신 이외의 다른 응용 프로그램의 최근 문서를 취득하기위한 공개 API가 있다고 생각하지 않습니다. 최근 파일은 ~/Library/Preferences
에 plists로 저장되므로 직접 읽을 수 있습니다.
그러나 이러한 plists의 형식은 향후 OS 업그레이드시 변경 될 수 있으므로 이상적으로 의존해서는 안됩니다.
이NSString *bundleID = @"com.apple.dt.Xcode";
NSString *prefPath = [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Preferences"];
NSString *recentFilesFileName = [bundleID stringByAppendingPathExtension:@"LSSharedFileList.plist"];
NSString *recentFilesPath = [prefPath stringByAppendingPathComponent:recentFilesFileName];
NSArray *recentDocumentItems = [[[NSDictionary dictionaryWithContentsOfFile:recentFilesPath] objectForKey:@"RecentDocuments"] objectForKey:@"CustomListItems"];
for (NSDictionary *recentDocumentItem in recentDocumentItems) {
NSString *name = [recentDocumentItem objectForKey:@"Name"];
NSData *bookmarkData = [recentDocumentItem objectForKey:@"Bookmark"];
NSError *error = nil;
NSURL *bookmarkURL = [NSURL URLByResolvingBookmarkData:bookmarkData options:NSURLBookmarkResolutionWithoutMounting | NSURLBookmarkResolutionWithoutUI relativeToURL:nil bookmarkDataIsStale:NULL error:&error];
if (bookmarkURL) {
NSLog(@"File name: %@", name);
NSLog(@"URL: %@", bookmarkURL);
} else {
NSLog(@"Could not resolve URL for file %@: %@", name, error);
}
}
이 물론 샌드 박스 응용 프로그램에서 작동하지 않습니다 :
여기에 엑스 코드의 최근 문서를 읽고에 대한 예입니다.
당신은 가장 최근에 열었던 문서의 URL의 배열을 검색 -[NSDocumentController recentDocumentURLs]
을 사용할 수 있습니다
NSArray *array = [[NSDocumentController sharedDocumentController] recentDocumentURLs];
'- [NSDocumentController recentDocumentURLs]'이 (가) 실행중인 응용 프로그램에 대한 최근 문서를 반환하지만 Xcode의 최신 문서를 얻는 것처럼 최근 문서를 가져올 응용 프로그램을 지정하는 방법이 있습니까? – user1998511
아니요. 유일한 옵션은 LSSharedFileList에 있으며, 심지어 모든 사용자의 가장 최근 파일에만 적용됩니다. 오해해서 유감스럽게 생각합니다. 그것은 내가 당신이 정말로 원했던 것을 알아 냈다는 귀하의 의견에 의해서입니다. – trudyscousin
오, 알았어. 정보 주셔서 감사합니다. – user1998511
- 1. 마지막으로 열린 탭 닫기
- 2. Android : 마지막으로 열린 활동 저장하기
- 3. 코코아를 사용하여 NSImage 그리기
- 4. 코코아를 사용하여 이미지 생성
- 5. 코코아를 사용하여 파일 다운로드
- 6. 코코아를 사용하여 데이터베이스 쿼리하기
- 7. 코코아를 사용하여 PDF를 만드시겠습니까?
- 8. 코코아를 사용하여 doc 파일 인쇄
- 9. 코코아를 사용하여 로컬 HTML 인쇄
- 10. 코코아를 사용하여 PDF의 텍스트 바꾸기
- 11. 코코아를 사용하여 PNG에 그림자를 추가하십시오.
- 12. 코코아를 사용하여 doc 파일 인쇄
- 13. 마지막으로 열린 디렉토리에서 터미널을 여는 방법은 무엇입니까?
- 14. 마지막으로 내린 메뉴 항목이 열린 상태로 유지
- 15. VLC에서 마지막으로 열린 미디어를 모두 봅니다.
- 16. 열린 다른 통합 문서 저장
- 17. VBA - 열린 통합 문서 활성화
- 18. jQuery : 열린 창과 열린 창의 문서 양식에 submit() 콜백을 첨부하십시오.
- 19. 열린 대화 상자가없는 WPF로 Word 문서 열기
- 20. MongoDB 마지막으로 삽입 된 문서 검색
- 21. Excel이 열린 문서 기록 로그 - AddIn
- 22. 코코아를 사용하여 파일 복사가 완료되었는지 확인하는 방법
- 23. 코코아를 사용하여 USB를 통해 신호를 보내시겠습니까?
- 24. 코코아를 사용하여 OS X의 오디오를 FLAC에 녹음하십시오.
- 25. 반응성 코코아를 사용하여 UITouches를 관찰 하시겠습니까?
- 26. 코코아를 사용하여 가상 하드 드라이브를 에뮬레이트하십시오.
- 27. 코코아를 사용하여 현재 시간을 얻으려면 어떻게해야합니까?
- 28. 코코아를 사용하여 nstable보기에서 가로 격자 선 표시
- 29. Finder의 컨텍스트 메뉴에서 코코아를 사용하여 항목 추가
- 30. 코코아를 사용하여 프로그래밍 방식으로 체크 박스 만들기
이것이 내가 원하는 것입니다. 고마워요! – user1998511