활동
다음 명령은 모바일 문서를 지원하는 앱 (Smultron 4 및 TextEdit 등)을 사용하여 iCloud에서 작업하는 동안 실행됩니다.
sudo opensnoop -n ubd
– 유비 쿼티 데몬이 연 로컬 파일을 보여줍니다. 파일에는 데이터베이스, 피어 당 하나의 데이터베이스가 포함됩니다. 다음 경로에서 피어 당 하나의 디렉토리 :
~/Library/Application Support/Ubiquity
데이터 유형
진행 상황을 측정하려면 측정 할 유형을 결정하십시오.
저장, 진행 및 측정
핵심 데이터
… 저장 파일이 아닌 변경 로그 파일은 iCloud에 업로드되고 각 사용자의 다른 장비로 다운로드됩니다. 동일한 iCloud 계정에 연결된 다른 기기에서 변경 로그가 도착하면 Core Data는 수신 된 변경 로그를 기반으로 앱의 로컬 SQLite 데이터베이스 복사본을 업데이트합니다. iCloud와 Core Data는 각 로컬 데이터베이스가 동일한 변경 세트로 업데이트되도록합니다. …
변경 로그 내용 을 해석하지 않고 로그 파일 업로드 진행률을 측정하는 것이 가치가 있습니까?
서류
Mac 개발자 라이브러리에서 :
… 문서 기반 앱은 자동 저장 기능을 채택 할 수 있으며 문서는 적절한 시간에 자동 저장됩니다.
또한:
자동 데이터 저장 전략으로 사용자 완화
… 사용자 관련 변경 사항을 저장하고 해당 변경 사항을 디스크에 자동으로 기록해야하는 적절한 코드 포인트. …
사용자 데이터를 자동으로 저장할 수있는 적절한 시간에는 다음이 포함됩니다.
- 사용자가 앱 창을 닫거나 앱을 종료하면 (applicationWillTerminate :)
- 앱이 비활성화 된 경우 (applicationWillResignActive :)
- 사용자가 앱을 숨길 때 (applicationWillHide :)
- 사용자가 앱의 데이터를 올바르게 변경할 때마다
마지막 항목은 언제든지 사용자 데이터를 자유롭게 저장할 수 있음을 의미합니다. 예를 들어, 사용자가 데이터 레코드의 필드를 편집하는 경우 각 필드 값이 변경 될 때마다 저장하거나 사용자가 새 레코드를 표시 할 때 모든 필드를 기다렸다가 저장할 수 있습니다. 이러한 유형의 증분 변경을 수행하면 데이터가 항상 최신 상태로 유지되지만 데이터 모델을보다 세밀하게 관리해야합니다. …
고려할 사항 : 저축이 너무 빈번하고 양이 너무 적 으면 측정 할 가치가 없습니다.
item-info.db
나는 장난 삼아 생각해 SQLite 데이터베이스 브라우저 찾아보기 위해 item-info.db
내 로컬 맥 것으로 보인다 피어에 대한 데이터베이스를. 의심 한 것처럼, 시스템이 데이터베이스를 사용하지 않는 동안에 만 앱을 탐색 할 수있었습니다 Untitled.png
. iCloud에서 미리보기를 사용하여 iCloud에서 편집 한 후 2 초 내에 더 이상 데이터베이스를 탐색 할 수 없었습니다.
참고 문헌
iCloud 디자인 안내서
Mac 앱 프로그래밍 안내서 : 핵심 앱 디자인 :