답변:
메시지가 저장하는 ichat
파일 은 파일 확장자를 갖습니다 .
그러나 명령 행에서 실제로 바이너리 plist 파일 인지 검사 할 수 있습니다.
$ file transcript.ichat
transcript.ichat: Apple binary property list
바이너리 plist 파일을 사람이 읽을 수있는 XML 문서로 쉽게 변환 할 수 있습니다 .
$ plutil -convert xml1 transcript.ichat
이제 file
다시 실행 하면 XML 파일임을 알 수 있습니다.
$ file transcript.ichat
transcript.ichat: XML document text
계속해서 열어보고 직접보십시오.
$ open transcript.ichat
모든 대화를 처리하고 읽을 수있는 텍스트 파일로 변환 할 프로젝트를 확인하십시오. 하나의 iMessage 만 변환하지는 않지만 모든 메시지와 첨부 파일을 수집하고 백업 한 후 사람이 읽을 수있는 형식으로 저장합니다.
이 ichat 파일을 줄 바꿈으로 구분 된 JSON으로 변환하기위한 명령 줄 도구를 만들었습니다.
이 도구는 메시지, 발신자, 날짜 등 필수 정보를 추출합니다.
https://github.com/kfatehi/ichat2json 에서 소스 코드를 보거나 바이너리를 다운로드 할 수 있습니다
이것은 완벽한 솔루션이 아닐 것입니다,하지만 난 메시지 사이에 항상 통지 Ä_
하고 _$
. 해당 문자로 시작하고 끝나는 모든 텍스트를 추출하는 스크립트를 작성할 수 있습니다. (exex를 지원하는 모든 언어가 가능합니다)
둘 다 "화면에서 버튼 누르기"스타일 동작을 수행 할 수 있기 때문에 Automator 워크 플로우 또는 AppleScript의 이상적인 응용 프로그램처럼 보입니다. "파일을 입력으로 가져 오기"라고 말하고, "인쇄"또는 "메시지"중 하나가있는 경우이를 사용하거나 AppleScript를 사용하여 파일을 열고 파일을 누르고 인쇄하고 pdf로 저장 한 다음 PDF로 저장하도록 지시하십시오. 파일을 닫습니다.
.ichat
파일)은 SQLite 데이터베이스가 아닙니다.