2017-10-25 31 views
0

응용 프로그램이 백그라운드/전경 상태에있을 때 todayextension 위젯보기 컨트롤러에서 viewcontroller가 포함 된 응용 프로그램을 업데이트해야한다는 요구 사항이 있습니다. 가정합니다.Today 확장 프로그램에서 응용 프로그램을 업데이트하는 방법

  1. viewcontroller가 포함 된 앱은 정보 목록을 포함합니다. 다음 홈 버튼을 누르면 응용 프로그램이 백그라운드 상태로 바뀝니다.
  2. 이제 TodayExtensionViewcontroller의 viewcontroller가 포함 된 앱에 표시된대로 위젯을 열고 정보 목록을 표시하십시오.
  3. TodayExtensionViewController에서 정보를 업데이트하는 경우 앱이 배경에서 전경 상태로 전환 될 때 viewcontroller를 포함하는 앱에 복제하려는 동일한 정보가 있습니다.
+0

'앱 그룹'과 'UserDefaults'를 사용하십시오. 이 [link] (https://stackoverflow.com/questions/24015506/communicating-and-persisting-data-between-apps-with-app-groups)를 확인하십시오. – Ryan

답변

0

앱과 오늘 확장 프로그램은 데이터를 공유 할 수 있어야합니다.

우선, 공유 데이터에 액세스 할 수 있도록 앱과 Today 확장 프로그램의 앱 ID에 "앱 그룹"기능을 추가해야합니다.

데이터를 공유하는 가장 쉬운 방법은 공유 사용자 기본값을 사용하는 것이지만, 예를 들어 영구 코어 데이터 저장소를 공유하는 것도 가능합니다.

앱이 포 그라운드로 들어갈 때마다 공유 데이터가 변경되었는지 (또는 공유 저장소에서 데이터를 다시로드하는지) 확인해야 위젯의 변경 사항이 적용됩니다.

사용자가 앱에서 데이터를 변경할 때마다 (또는 적어도 앱이 비활성 상태가되기 전에) 앱에서 공유 데이터를 업데이트해야 위젯이 최신 상태가됩니다. Apple에 의한

This guide이 좋은 출발점입니다. 또한 "데이터 공유"에 대해 훨씬 자세히 설명하는 유용한 자습서가 많이 있습니다.