👉 위젯을 통해 앱의 특정 뷰로 이동 QR Code 위젯을 선택하면 아래와 같이 화면전환이 적용된 QR Code 인식 뷰로 이동하도록 하겠습니다. 👉 widgetURL(_:) 위젯을 클릭했을 때 containing app 에서 열릴 URL 을 설정합니다. Overview widgetURL modifier 는 view hierarchy 에서 하나만 지원합니다. 여러 뷰에 widgetURL 이 있는 경우 동작이 정의되지 않습니다. struct QRCodeEnytryView : View { var entry: QRCodeProvider.Entry var body: some View { Image("widgetQr") .resizable() .scaledToFill() // ✅ .widgetURL(URL(str..
내용 Configurable Widget 은 무엇을 지원하는지 알아봅시다. 정적/동적 선택 목록을 만들기 위해서 Custom Intent Definition 을 생성해봅시다. 동적 선택 목록을 설정하고, 기본값을 설정하기 위해서 Intents Extension 을 추가하여 Intent 를 핸들링 해봅시다. configurable properties 를 지원하기 위해 IntentTimelineProvider 를 사용하여 IntentConfiguration 을 구성하겠습니다. 🚨 들어가기 전 - Configurable Widget 은 무엇인가요? 두 번째는 첫 번째와 달리 Configurable properties 를 사용하도록 설정한 Configurable widget 입니다. Configurable Wi..
위젯의 배경에 투명도를 부여해서 단순 불투명한 배경을 만드는 것이 아니라 아래와 같은 블러처리 같은 느낌을 구현해보고자 했습니다. (애초에 다크모드에 따른 위젯의 기본 배경도 변경되고 이는 바꿀 수 없습니다. 대신, 위에 색을 가진 뷰를 하나 얹는 것이죠...) 결론적으로 얘기하면 써드파티의 앱이 구현하도록 지원하지 않고 있습니다. 비슷한 질문은 여러 포럼에서 등장하였지만, 지원하지 않는 기능라고 답변을 주고 있었습니다. 뿐만 아니라 위젯의 배경자체를 투명하게 만들 수 없었습니다. (위젯 자체의 기본 배경을 라이트모드는 하얀색, 다크모드는 검정색으로 지원하고 있었습니다. 또한, background 와 관련된 modifier 를 어디에 위치시키든 조정할 수 없었습니다🥲) Blurred widget back..
프로그래머스) 과일 장수 - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation // k 점부터 1점 까지의 사과 // 한 상자에 사과를 m개씩 담음 // (가장 낮은 점수 * 사과 갯수)가 한 상자의 가격 // 한 상자 단위로만 팔고, 남은 사과는 버림. // 얻을 수 있는 최대 이익은? // 총 만들 수 있는 상자 수 // 싼 점수의 사과 func solution(_ k:Int, _ m:Int, _..
✅ ARC(Automatic Reference Counting)란? 말 그대로 자동으로 메모리를 관리해주는 방식입니다. ARC는 더이상 사용하지 않는 클래스의 인스턴스를 메모리에서 해제하는 방식으로 관리합니다. ARC 는 참조 카운트를 관리하기 때문에 참조 타입인 클래스의 인스턴스에만 적용됩니다. 당연히 열거형, 구조체와 같은 것은 참조 카운트를 사용하지 않기 때문에 ARC 가 관리하지 않아도 됩니다. ✅ 왜 사용해요? Swift 에서는 메모리 사용을 관리하기 위해서 ARC 를 사용합니다. 값 타입과 달리 참조 타입은 하나의 인스턴스가 참조를 통해 여러 곳에서 접근되기 때문에 적절한 시점에서 메모리에서 해제되지 않으면 한정적인 메모리 자원을 낭비하는 memory leak 이 발생합니다. 이는 성능 저하로..
프로그래머스) 기사단원의 무기 - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation // 1-number 까지 지정된 숫자나라 기사단. // 각 기사는 자신의 숫자의 약수의 갯수에 공격력이 해당하는 무기를 구매. // 공력력은 limit 있음. 그 이상은 power 로 설정. // 공격력 1 당 1kg 인 무기. 총 무게는? func solution(_ number:Int, _ limit:Int, _..
프로그래머스) 숫자 짝꿍 - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ X:String, _ Y:String) -> String { // x 와 y 의 임의의 자리에서 공통으로 나타나는 정수 k // k 를 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라고 한다. var x: [String] = X.sorted(by: >).map { String($0) }..
프로그래머스) 푸드 파이터 대회 - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ food:[Int]) -> String { // 한 선수는 왼쪽 -> 오른쪽 // 다른 선수는 오른쪽 -> 왼쪽 // 중앙에는 물 배치. 물을 먼저 마시면 승리. // 칼로리가 낮은 음식을 먼저 배치. // 음식의 종류, 양, 순서도 동일. var leftFoods: String = ""..
- WidgetKit
- SwiftUI
- MVVM
- IOS
- 서버통신
- WWDC22
- OpenSourceLibrary
- UserDefaults
- Widget
- MOYA
- async/await
- 2022 KAKAO TECH INTERNSHIP
- urlsession
- Notification
- APNS
- Swift
- watchOS
- configurable widget
- Algorithm
- containerBackground
- YPImagePicker
- WWDC
- Protocol
- projectsetting
- Firebase
- rxswift
- CloneCoding
- RxCocoa
- Objective-C
- github
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday