ios 14에서 widgetkit(home widget) 기능을 지원할 수 있게 되었다 

bmwe3.tistory.com/1761

 

[ios][swiftUI][WidgetKit] home screen widget(widget)기능 구현하기

개발환경 : Xcode 12.0.1 1. wigetkit이란? ios14부터 홈 화면에 widget을 넣을 수 있다. app이 가진 정보를 app을 열지 않고도 보여주고(일부) 필요할 경우 app을 실행해서 할 일 할 수 있게 해주는 정도의 기

bmwe3.tistory.com

widget 기능을 추가하여 appstore 심사를 받았을 때는 무사히(?) 통과하여 문제가 없다고 생각했다

widget에서 폰트만 바꾼 다음에 심사를 제출하니 다음과 같은 사유로 reject이 되었다

내 코드를 살펴보니 난 Widget 추가 시에 IntentConfiguration으로 생성하였다(default였으므로)

IntentConfiguration로 구성했으면 해당 화면을 구성해야 한다고 첨부 파일을 다음과 같이 해서 보내주었다.

난 딱히 데이터에 손대게 할 생각이 없어서 저게 문제면 "Edit Widget"을 없애면 되겠냐고 물어보았다.

그에 따라서 AppStore는 그건 알아서 해야지?라고 참고 문서만 엄청 보내더라 ㅠㅠ

 

대응은~

IntentConfiguration을 StaticConfiguration으로 변경해서 심사 통과하였습니다.

Widget 기능 구현하실 때는 Configuration을 어찌할지 결정해야겠습니다.

만일 Configuration이 궁금하시다면?

bmwe3.tistory.com/1762?category=682591

 

[ios14][Widgetkit] Widget Configuration

개발환경 : Xcode 12.1 시작하기 전에 Widget 자체에 대해서 궁금하시다면 bmwe3.tistory.com/1761 [ios][swiftUI][WidgetKit] home screen widget(widget)기능 구현하기 개발환경 : Xcode 12.0.1 1. wigetkit이란..

bmwe3.tistory.com

 

by 무위자연 2020. 10. 29. 07:52

개발환경 : Xcode 12.1

시작하기 전에 Widget 자체에 대해서 궁금하시다면

bmwe3.tistory.com/1761

 

[ios][swiftUI][WidgetKit] home screen widget(widget)기능 구현하기

개발환경 : Xcode 12.0.1 1. wigetkit이란? ios14부터 홈 화면에 widget을 넣을 수 있다. app이 가진 정보를 app을 열지 않고도 보여주고(일부) 필요할 경우 app을 실행해서 할 일 할 수 있게 해주는 정도의 기

bmwe3.tistory.com

Widget Configuration을 2가지로 나눌 수 있다.

developer.apple.com/documentation/widgetkit/creating-a-widget-extension

 

Apple Developer Documentation

 

developer.apple.com

StaticConfiguration은 홈에 설정된 위젯의 내용에 대한 변경 기능을 제공하지 않는 것이고

예시.

IntentConfiguration은 위젯 변경 (Edit Widget)을 제공하는 것이다.

예시 - Edit Widget이 보인다.

만들 위젯 혹은 앱 데이터의 성향에 따라서 결정하면 된다.

어떤 Configuration을 설정할지는 "Target"추가 화면에서 "Include Configuration Intent"를 클릭하면 IntentConfiguration가,

클릭을 해제하면 StaticConfiguration가 설정되게 된다.

 

만들 때 무엇을 선택하더라도 변경이 쉬우므로 크게 고민하지 않아도 된다.

차이점은 Widget 생성자와 TimelineProvider가 무엇을 상속받느냐의 일뿐이다.

  StaticConfiguration IntentConfiguration
생성자
TimelineProvider

TimelineProvider

IntentTimelineProvider
intentdefinition file X O

 

IntentConfiguration으로 만든 앱이라면 다음과 같이 intentdefinition file에서 parameter을 추가해줄 수 있다.

해당 parameter는 위젯 편집 으로 진입해서 값을 수정할 수 있게 된다.

by 무위자연 2020. 10. 29. 07:42

개발환경 : Xcode 12.0.1

1. wigetkit이란?

ios14부터 홈 화면에 widget을 넣을 수 있다. app이 가진 정보를 app을 열지 않고도 보여주고(일부) 필요할 경우 app을 실행해서 할 일 할 수 있게 해주는 정도의 기능이다.

애플 공식 가이드 글 : developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/widgets

 

Widgets - System Capabilities - iOS - Human Interface Guidelines - Apple Developer

A widget elevates key content from your app and displays it where people can see it at a glance on iPhone, iPad, and Mac. Useful and delightful, widgets can also help people personalize their iPhone Home screens in unique ways. In iOS 14, iPadOS 14, and ma

developer.apple.com

2. 기존 app에 추가하기 위해서는?

Xcode > File > New > Target > WidgetKit을 선택하면 된다

3. 개발시 UI 구성은 반드시 swiftUI로 구성해야 한다.

이 때 app의 개발환경과는 별도이므로 app은 storyboard, widget은 swiftUI로 구성할 수 있다.

- swiftUI 관련 내용은 다음 블로그 포스팅을 참고 했다.

medium.com/harrythegreat/swiftui-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-1%ED%8E%B8-%EA%B8%B0%EB%B3%B8%EA%B5%AC%EC%A1%B0-11e7b589e6de

 

SwiftUI 튜토리얼 1편 — 기본구조

최근 SwiftUI를 공부하며 정리한 내용들을 복습하고자 블로깅하게되었습니다. Swift UI는 UIKit 위에서 빌드되는 프레임워크로 새로운 방식의 UI 인터페이스를 제공하며 선언형 방식의 구조를 가지고

medium.com

4. widgetkit에서 파일을 추가할 경우 반드시 target membership을 확인한다.

target membership을 설정해야 app의 파일과 widgetkiet의 ***homewidget.swift이외의 파일 내용을 ***homewidget.swift에서 접근할 수 있게 된다. 

target membership은 파일 선택후 file inspector(화면 우측 중앙)에서 변경 가능하다

설정하지 않았을 경우 다음과 같이 scope 에러가 나게 된다

RecordView3가 정의되어 있지만 homewidget에서 RecordView3에 접근할수 없다

5. widget은 timelineProvider가 제공하는 timelineEntry를 가지고 UI를 구성한다.

timelineprovider가 다음 entry를 제공하면 변경이 되게 된다.

5-1 timeline이 시간순으로 변경되는 중에 새로 갱신할 필요가 app에서 발생할 경우 다음과 같이 reload를 요청할 수 있다.

출처 : https://developer.apple.com/documentation/widgetkit/keeping-a-widget-up-to-date

 

Apple Developer Documentation

 

developer.apple.com

6. widget 등록 화면에서의 데이터 보여주기

다음과 같이 homewidget의 preview 데이터를 제공하면 widget 등록시 해당 데이터를 보여주고 사용자에게 어떤 위젯 형태(small, medium, large)를 선택할지 도움을 줄 수 있다.

해당 preview가 적용된 위젯 선택 화면은 다음과 같이 나오게 된다.

 

* one more thing!!

app과 widgetkit이 클래스나 파일을 공유할 때는 target membership이면 되지만 데이터를 공유하기 위해서

app group을 설정해주어야 한다.

Xcode > project 설정 > signing & capabilities > Capability 에서 app group을 설정

설정하면 다음과 같이 나온다

by 무위자연 2020. 10. 25. 07:49

온라인 강의 수강생들이 각자 만든 앱을 자발적으로 발표하고 공유하는 자리를 가졌다

Zoom을 통해서 진행했는데

평소에 소수 인원(3명)으로 zoom으로 공유하다가

연사가 5명, 참관자가 10명이상의 zoom 연결 상태에서 연사만 음소거가 아닌 상태로 발표하니

피드백이 채팅과 이모지(박수, 엄지척) 뿐이니 당황스럽더라

게다가 난 나름 대로 팬시해보일려고 노션으로 준비했는데(+ amplitude, simulator로 시연)

다른 분들은 발표자료가 화려 했다..나도 키노트나 ppt로 했어야 했나...

준비는 8-9분정도로 하려고 했으나 피드백 감지가 어렵다 보니 6:15초 정도에 후다닥 끝나버렸네

그래도 이 경험 자체는 기억할만해서 자료로 남긴다

 

<앱 주소>

https://itunes.apple.com/US/app/id1527099671

 

‎AntFootPrint Managing routines

‎"Easily manage what you don't want to miss every day Like a diligent ant leaving a footprint AntFootPrint helps to manage your routines easily You can select color and alarm sound when you make routines. * main functions. - add, modify, delete your rout

apps.apple.com

www.notion.so/zeno0320/1-c9e894bbb2e542cfababd47738043222

 

데모데이 - 1. 앱 간단하게 설명

앱 (앤트, AntFootPrint)

www.notion.so

 

by 무위자연 2020. 10. 18. 11:03
| 1 |