본문 바로가기

IOS

Widget - 신규 프로젝트에 위젯을 달아보자

바쁘다 바빠 현대사회..

정말 올만에 글을 써봅니다 현생과 운동에 푹 빠져있는 저에게 블로그는 우선순위에서 밀려있었네요 (ㅠㅠ)

다시 초심을 찾아 떠나보는걸로 ~_~....

 

새로 작성하는 김에 재미있는것이 어떤게 있을까 찾다가 위젯을 찾았습니다.

이것저것 기능을 추가 해보고자 합니다. 워낙 좋은글이 많지만 저도 하나 작성 해봅니다.


1. 프로젝트 생성

1-1. Xcode ->  New -> Target 클릭

 

1-2. iOS 탭 -> Widget Extension 선택

 

1-3. 실행, 테스트, 디버깅을 위한 스키마 팝업에서 활성화 버튼을 클릭 해줍니다. 

Cancel 를 선택해도 스키마가 자동으로 잡히는거 같았습니다.. (위젯 잘나옴)

 

2. 프로젝트 생성

2-1. 본격 소스 작업을 시작하기전에, 위젯을 구성하고있는 여러 내용에 대해 알아봅시다.

 - WidgetBundle : 여러 위젯을 사용 하기 위한 컨테이너 입니다.

 - WidgetConfiguration : 위젯의 Body 같은 역할을 합니다.

 - AppIntentConfiguration : 위젯의 구성 요소 이며 위젯에 대한 타이머 설정, 뷰 등을 설정 할수 있습니다.

  -> kind : 위젯의 고유값 대부분 Bundle Indentifier 를 사용하는것으로 보입니다.

  -> intent : 위젯을 커스텀 할수있는 객체 (위젯 새로고침)

  -> content : 위젯을 랜더링 처리하는 View

 - WidgetConfigurationIntent : 위젯을 구성 하기 위한 모델

* Live Activites & Dynamic Isiand 와 같은 Live Activity 내용은 이번 예제에서 제외 하겠습니다. (나중에 해야지..)

* 제외 처리 하기 위해서는 Target 생성시 Include Live Activity 를 해제 하면 됩

니다

 

 

 

어케보면 위젯 프로젝트를 생성하면 예시 코드가 다 있기때문에, 바로 실행해도 위젯을 추가 할수 있고,

내용도 간단하게 확인 할수 있다.

다음 포스팅은 위젯을 타입별로 조금씩 꾸며보고자 한다.

 


참고

https://developer.apple.com/documentation/widgetkit

 

WidgetKit | Apple Developer Documentation

Extend the reach of your app by creating widgets, watch complications, and Live Activities.

developer.apple.com