2011-01-27 2 views
7

로컬 디렉토리에 데이터를 저장하는 iOS 앱이 있습니다. 내 앱을 실행하는 여러 기기간에이 데이터를 동기화하고 싶습니다. 현재 핵심 데이터를 사용하고 있지만 동기화를 쉽게하기 위해 일부 텍스트 기반 파일 저장 시스템으로 변경해야 할 것으로 예상됩니다.Dropbox API 및 iOS와의 데이터 동기화

DropBox API를 사용하면 쉽고 멋지게 만들 수 있으며 API가 시작/저장시 내 데이터 폴더의 내용을 간단하게 동기화 할 것이라고 기대하고있었습니다. 그러나 DropBox API는 파일을 업로드하고 다운로드하는 영광스러운 방법 일뿐입니다.

나는이 가정에 잘못입니까? DropBox API로 실제로 폴더를 텍스트 파일로 가득 채우면 쉽게 동기화 할 수 있습니까? 그렇지 않은 경우 다른 서비스 나 조언을 제공 할 수 있습니까? 동기화는 어렵습니다. DropBox를 사용하면 더 쉽게 사용할 수 있기를 바랍니다.

+0

안녕하세요. 나는 당신이 간단한 DropBox 동기화를 성공 시키는데 성공했는지 궁금합니다. 저는 지금 당황스럽고 똑같은 문제에 직면 해 있으며 전체적인 동기화 과정을 보여주는 샘플 코드를 얻기 위해 새로운 질문을 던졌습니다. http://stackoverflow.com/questions/5950168/a-simple-sync-with-the-phone-dropbox-api –

+0

나는 그것이 내가했던 것을 할 수 없다는 것이 분명해 짐으로서 그것을 상당히 빨리 처리했다. API가 더 많아서 동기화 서비스를 제공하지 않고 사용자 DB 계정에 액세스 할 수 있습니다. –

답변

7

/metadata을 사용하면 폴더의 내용에 대한 정보를 얻는 것이 더 쉬울 수 없습니다. modified의 날짜를 확인하고 로컬 날짜와 다를 경우 적절한 조치를 취하십시오. 또한 모든 파일 내용에 대한 메타 데이터를 제공하므로 필요에 따라 어떤 파일을 업로드/추가/추가/제거해야하는지 선택할 수 있습니다.

이보다 더 많은 기능은 매우 응용 프로그램에 따라 달라질 수 있습니다. 서로 다른 파일을 처리 할시기와 방법을 직접 결정할 수 있습니다.

Dropbox API Documentation

+0

감사합니다. Andy, 메타 데이터 호출에 대해 설명했는데 실제로 중요한 부분입니다. 이 접근 방식은 어떻게 소리가납니다 - 메타 데이터를 호출하고, 수정 날짜가 다른 파일을 업데이트하고, 새 파일을 다운로드하고, 업데이트 된 파일을 업로드 한 다음 새로운 파일을 업로드합니다. –

+0

흠.하지만 디렉토리에서 삭제 된 파일을 처리하는 방법은 무엇입니까? 파일이 새로 작성되어 업로드해야하거나 다른 장치에서 삭제되어 제거해야하는 경우 어떻게 알 수 있습니까? –

+0

나에게로가는 길처럼 보입니다. 얼마나 자주 API를 사용하고 싶은지는 당신에게 달린 것입니다. 모바일 장치에서 작동하지 않을 가능성이 높기 때문에 (액세스 토큰 당 일일 5000 건, 300MB/건) 제한이 있습니다. 따라서 정면에서는 괜찮을 것입니다. –

0

가 공유 폴더 중 하나를 제한 할 수 있습니다 RSS 피드이지만 종류의 낮은 볼륨을 유지하는 이벤트를 필터링합니다. 앤디 이후 반복하지 않음

3

, 당신의 질문에 대답 당신은 또한 도움이 튜토리얼을 찾을 수 있습니다 생각했습니다

http://www.nanaimostudio.com/blog/2011/1/20/how-to-synchronize-your-app-data-using-dropbox-api.html

+0

Nanaimo 블로그에 코드를 작성할 때 다음 오류가 발생합니다. 이러한 오류는 loadedMetadata 함수에서 발생합니다 : 구조체 또는 공용체가 아닌 무언가에서 멤버 'contents'에 대한 요청 및 구조체 또는 공용체가 아닌 무언가의 멤버 'path'에 대한 요청 및 addObject 문에 문제가 있습니다 (Expression에는 유효한 오브젝트 유형). 제발 도와주세요 – Namratha

+0

이 튜토리얼에서 사진을 볼 수 있습니까? – rjobidon

2

ohho 언급했듯이 지금까지 DropBox Sync API를 사용할 수 있습니다. 이전에 사용한 SDK를 사용하여 내 응용 프로그램에 Dropbox에 대한 지원을 통합 할 때 언급하지 않은 것을 개인적으로 시도하지 않았습니다.). dropbox로 작업하는 경우라면 충분할 것입니다.

제 경우에는 추가 온라인 저장소 ("클라우드") 서비스에 대한 지원을 내 앱에 추가하기 시작했으며, 다음과 같은 다양한 개념을 처리하는 방법의 차이점을 처리하는 것이 다소 어려웠습니다. 예를 들어 Dropbox의 API는 경로에 따라 파일을 참조하지만 Box의 API는 파일 ID (연결된 경로가 있지만 파일 이동시 동일하게 유지됩니다)에 따라 파일을 참조합니다. 여러 클라이언트가 서버에 충돌하는 변경 사항을 시도하고 동기화하려고 할 때 발생하는 충돌 해결 (일명 병합) 문제도 모두 있습니다.

저는 실제로 모든 주요 서비스에 연결할 수있는 라이브러리를 개발하고 오픈 소스 프로젝트를 시작하고, 차이점을 문서화하고 사용자를 위해 동기화 프로세스를 처리하는 추상화 계층을 제공하는 것을 고려했습니다. 나는 실제로 (이미 공개적으로 공개하지 않은) 코드를 이미 가지고 있지만 프로젝트를 시작하기 위해 사용할 수 있습니다.

사용 하시겠습니까? 당신 (또는 다른 사람들)이 그러한 노력에 기꺼이 참여할 의향이 있습니까?

(개조에주의 : 나는 이것이 주제에서 다소 벗어난 것일 수 있음을 알고 있습니다 - 죄송합니다.더 적절한 포럼을 추천 해이 문제에 대해 토론 할 수 있다면 기꺼이 대화를 나눌 수 있습니다.)