Creating a User Activity Object

Panther·2021년 8월 13일
0
post-custom-banner

https://developer.apple.com/documentation/foundation/nsuseractivity/creating_a_user_activity_object

"Identify key user interactions and include the information to restore them later."

핵심 사용자 상호작용을 확인하고 나중에 복구시키기 위한 정보를 포함시킵니다.

Overview

사용자가 이후에 계속 진행할 수도 있거나 다른 기기에서 진행할 수도 있을 중요한 순간에 NSUserActivity 객체를 생성하고, 시스템에 등록하시기 바랍니다. 예를 들어 사용자가 웹 페이지 열기, 노래 재생, 혹은 앱에서 중요한 작업을 수행할 때 사용자 활동 객체를 생성할 수 있습니다. 또한, 더 나은 스팟라이트 검색 결과를 제공하기 위해 사용할 수도 있습니다. 그러나 사용자 활동 객체는 앱에서 발생하는 모든 작업을 추적하기 위한 방법으로써 의도된 것은 아닙니다. 혹은 적은 편집이나 중요하지 않은 변경사항에 대해서도 의도된 것이 아닙니다.

NSUserActivity 객체를 생성하는 경우 활동의 타입을 식별할 수 있는 스트링을 구체화해야 합니다. 활동 타입 스트링은 보통 reverse-DNS 포맷으로 사용합니다. 예를 들어 사용자가 웹 페이지를 열면 com.myCompany.myApp.OpenWebPage와 같은 활동 스트링을 구체화하게 될 것입니다. Information Property List 파일에 NSUserActivityTypes 키를 포함시켜 앱이 지원하는 활동 타입을 선언하시기 바랍니다. 시스템은 앱이 주어진 사용자 활동 객체를 처리할 수 있는지에 대한 여부를 결정하기 위해 해당 키에서 정보를 사용하게 됩니다.

Define Activities

사용자 활동 객체를 정의할 때 아래처럼 하시기 바랍니다.

  1. 적합한 활동 타입을 갖는 사용자 활동 객체를 생성하고 초기화합니다. (앱이 지원하는 활동 타입을 정의합니다.)
  2. 사용자 활동 객체의 제목을 설정합니다.
  3. 하나 혹은 하나 이상의 아래 속성을 활성화시켜서 어떤 객체에 적합한 작업을 설정합니다. isEligibleForHandoff, isEligibleForSearch, isEligibleForPublicIndexing이 해당 속성입니다.
  4. 사용자의 현재 활동과 연길시킬 이 객체의 속성을 설정합니다.
  5. 검색 혹은 공용 인덱싱을 위해 설정된 사용자 활동 객체의 경우 contentAttributeSet 키워드 혹은 webpageURL 속성을 설정해야 합니다. 그렇게 함으로써 스팟라이트가 객체를 인덱싱할 수 있습니다.
  6. becomeCurrent() 메소드를 호출해서 시스템에 사용자 활동 객체를 등록합니다.

Associate Activity Identifiers with Your Apps

시스템은 사용자 활동 객체를 앱으로부터 개발자 팀 ID에 연결시킵니다. 활동을 계속할 때 시스템은 주어진 활동 타입을 지원하는 앱이자 활동의 소스앱과 같은 개발자 팀 ID를 갖는 앱을 탐색합니다. 개발자 팀 ID에 활동 객체를 엮는 것은 생성하는 활동을 다른 경쟁 앱이 가로채지 못할 것을 보장해줍니다. 팀 ID와 앱을 연결시키려면, 앱 스토어를 통해 앱을 배포하거나 개발자 ID로 해당 앱에 서명하시기 바랍니다.

post-custom-banner

0개의 댓글