2014-01-27 6 views
1

https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/SpotlightCoreData/Articles/recordLevel.html에서 튜토리얼을 여러 번 읽었으므로 어떤 이유로 든 얻을 수 없습니다.레코드 레벨 Coredata를 사용한 스포트라이트 인덱싱

스포트라이트 가져 오기 도구를 만들려고했는데 수동으로 ~/Library/Spotlight에 복사했습니다. 성공하지 못했습니다.

누구든지 CoreData-Spotlight-OSX 앱의 작동 샘플을 알려줄 수 있습니까? 원격으로 기본적인 것은 충분할 것이다.

xcode 템플릿은 기본적으로 .importer를 bundle-resources 폴더에 저장합니다. 앱을 샌드 박스로 지정하면 라이브러리/스포트라이트 폴더에 있어야한다는 다른 위치에서 읽었습니다.

다시 시도한 후 & 시도가 실패했습니다.

도움!

+0

여기에 추가 할 내용. 나는 아래의 대답을 받아 들였다. 그러나 완전한 증거 기능 데모 응용 프로그램의 부족으로 인해, 나는 정말로 여기 포기했습니다. 예를 든 사람이라면 누구나 답변을 추가하십시오. – user134611

답변

2

CoreData/Spotlight 가져 오기 도구를 작성했습니다. 언제나 최고의 투쟁입니다. 나는 그 문서들 이전에 나의 것을 썼다. 그리고 그들이 당신을 위해 기록을 써주는 데몬을 쓰기 전에. CoreData 팀이 자신의 솔루션 버전을 처음 만들었을 때, 사용하지 못하게하는 몇 가지 치명적인 버그가 있었기 때문에이를보고하고 다시 광산으로 전환했습니다. 이제는 해결 될 수 있기를 바랍니다. 그러나 이것은 알고 있어야 할 사항입니다.

또 다른 사실은 많은 응용 프로그램 제작자 (나 포함)가 CoreData 레코드의 Spotlight 가져 오기가 샌드 박스의 변경으로 인해 Mavericks에서 깨졌습니다. 이것은 광범위하게보고되었으며 버그를 제기했습니다. 당신이 Mavericks에 있다면 당신은이 문제에 부딪 힐 수도 있습니다. 당신이해야

가장 먼저하는 일이 당신의 수입 일부 NSLogging를 추가하고, 당신이 당신의 데이터베이스를 변경 한 후 콘솔을 확인하십시오

하지만, debuggin합니다. "md"(메타 데이터)로 시작하는 프로세스가 오류를보고하는지 또는 작성한 로그가 표시되는지 확인하십시오.

또한 을 실행하고 플러그인의 명령 줄에서 레코드 파일 중 하나를 사용하여 mdimport를 실행하십시오. mdimport의 -g 옵션을 사용하면 어디에서나 가져 오기를 테스트 할 수 있으며 -d4를 사용하면 많은 디버깅 정보를 얻을 수 있습니다.

또한 mdimport -L을 사용하여 수입업자가 시스템에 표시되는지 확인할 수 있습니다.

일반적으로 ⑴는 귀하의 수입업자가 일하는 것인지 아니면 mdimporter를 사용하여 직접 실행함으로써 충돌합니까? (시스템이 수입업자를보고 선택한 파일 유형의 스텁을 담당하고 있음을 인식합니다 mdimport -L) 및 ⑶ 귀하의 수입업자는 귀하의 앱을 실행하고 콘솔을 보면서 기록 파일을 볼 수있는 권한을 가지고 있습니다.

+0

답장을 보내 주셔서 감사합니다. 디버깅을해야합니다. OSX는 저에게 새로운 환경입니다. 아마 샘플 데모 코드를 보지 않고 조금 혼란 스러울 수도 있습니다. 나는 더 많은 q와 함께 돌아올 것이다. – user134611