2016-07-25 5 views
0

iPhone 및 Watch 앱을 쓰고 있습니다. 나는 여러 시계를 전화에 연결할 수있는 기능을 지원할 계획입니다.핵심 데이터를 여러 시계와 동기화 유지

iPhone 및 Watch 앱은 코어 데이터 데이터 저장소를 읽고 쓰며 WatchConnectivity을 사용하여 동기화합니다 (transferUserInfo: 사용). 사용자는 하나의 기기에 무언가를 쓰거나 지시하며, 다른 기기에 표시됩니다.

여러 시계를 지원하는 방법을 파악하는 데 어려움을 겪고 있습니다. 다음 시나리오 감안할 때 : 하루 동안/WatchA

    • 사용자가 전화를 사용하고, 사용자가 10 개 개의 항목
    • 오늘의
  • 끝을 추가, 그들은 WatchB
  • 로 전환

WatchB가 Phone/WatchA와 어떻게 동기화됩니까?

  • WKSession은 WatchA가 페어링 된 경우에 수행 된 transferUserInfo 호출을 자동으로 재생합니까?
  • WatchB가 필요로하는 모든 것을 어떻게 든 추적하고 스스로 모든 것을 재생해야합니까?
  • transferFile API를 사용하여 전체 sqlite 데이터베이스를 보내도 되나요?
+0

사람들이 여러 개의 시계를 소유하고 있다는 것을 알지 못했습니다 ... –

답변

2

윌 WKSession 자동 WatchA이 짝을 때 수행 된 transferUserInfo 통화를 재생?

아니요. 데이터는 쌍으로 연결된 시계에만 전송됩니다.

다른 시계로 다시 전환하면 특별히 상점을 업데이트해야합니다.

WatchB가 필요로하는 모든 것을 계속 추적하고 모든 것을 재생해야합니까?

간단히 말해서, 그렇다면 접근 방법입니다.

사용자가 이전/깨진 시계를 새/교체 시계로 교체했지만 이전 시계와 페어링하지 않은 경우도 한 가지 경우입니다. 다시 페어링되지 않을 시계에 대해 점점 더 많은 변화를 추적하고 싶지는 않을 것입니다.

또한 사용자가 휴대 전화를 업그레이드하는 경우를 처리하고 기존 시계를 새 휴대 전화와 페어링해야합니다. 기기 추적 및 동기화는 다른 기기 쌍에서 계속 작동해야합니다.

fileTransfer API를 사용하여 전체 sqlite 데이터베이스를 보내도 되나요?

실제로는 데이터베이스 크기와 3 개 이상의 저장소 간의 저널링 및 동기화 데이터의 복잡성에 달려 있습니다.

시계를 최신 상태로 유지하는 데 도움이되는 새로운 기능은 무엇입니까? 여러 상점을 유지해야하는 경우

, 당신은 확실히 사용자가 응용 프로그램을 실행 - - 날짜 전에 시계 (들)을 유지하기 위해 watchOS 3의 배경 새로 고침 작업 기능을 활용하므로 사용자가해야 동기화 할 때까지 기다리지 않아도됩니다.

This answer might be helpful 비록 합병증을 사용하지 않더라도.

다른 옵션에는 어떤 것이 있습니까?

Apple은 기기와 상호 작용하는 여러 가지 방법을 중심으로 모든 것을 디자인 할 것을 권장합니다. 사용자는 몇 초 동안 시계를보고 몇 가지 항목을 검토하고 싶지만 전화로 복잡한 작업을 할 수 있습니다.

그런 경우 iPhone에 단일 상점을 유지 관리하고 iPhone에서 필요한 모든 데이터를 시계에 표시되도록 전송할 수 있습니다. 변경된 것이 있으면 업데이트 된 데이터를 다시 전화기로 푸시하십시오.

"핸드 오프"접근 방식은 휴대 전화와 시계가 가장 최근 항목이 무엇인지 파악하고 사용자가 낮 시간 동안 휴대 전화와 시계 사이를 전환 할 수있는 경우에 가장 효과적입니다.

물론 이것은 휴대 전화가 범위를 벗어난 상태에서 시계가 독립적으로 작동해야하는지 여부에 달려 있습니다.

+0

멋지고 상세한 답변, 감사합니다. 필자는 내 필요에 따라 x 수의 쌍으로 연결된 장치간에 안정적으로 동기화 할 수있는 시스템을 구축하는 것이 번거롭고 내 시계 전략을 재고해야한다고 생각합니다. – djibouti33

+0

클라우드에 데이터 개체를 저장할 수 있다면 CloudKit은 장치 간의 동기화를 처리하도록 설계되었습니다. 나는 아무도 자신의 시스템을 굴 리려고하지 않을 것입니다. 그것은 매우 복잡하며 많은 기술 빚을지게 될 것입니다. Apple이나 다른 누군가가 그 복잡함을 관리하게하십시오! :) –

+0

정말 좋은 지적이고, 나는 고려하지 않았습니다. 나는 실제로 v2를위한 클라우드 키트 통합을 계획하고 있습니다. v1을 내 우선 순위로 운송하는 데 집중하고 싶습니다. 따라서 기본 클라우드 키트 지원 (및 동기화)을 전화 및 시계에 가져올 수있는 좋은 시간이 될 수 있습니다. 그동안 귀하의 답변을 바탕으로 시계 앱의 복잡성과 기능을 줄였습니다. 그러면 시계를 빨리 벗어날 수있게되었습니다. 이 시점에서, 여러 개의 시계는 어쨌든 엣지 케이스입니다. 그래서 저를 붙잡아두기를 싫어합니다. – djibouti33