Swift 예제: 복잡한 로컬 알림(Local Notification) 구현 (1) – 어학 앱 열기 알림

참고 Swift(스위프트): 로컬 알림(Local Notification)을 스케줄에 맞춰 반복 발신하기 (및 한계점) Swift: [ChatGPT가 말하는] 로컬 알림(로컬 노티피케이션) 기능의 한계점과 극복 방안 Swift(스위프트): 백그라운드 작업 (Background Tasks) 시나리오 앱 설명 하루에 한 번 공부 자료가 업데이트 되는 어학 앱이 있습니다. 월요일 ~ 금요일에만 업데이트가 되고, 주말에는 업데이트가 되지 않습니다.   목표 더보기…

Swift UIKit: UIKit을 사용하여 UIMenu에 구분선(divider, separator) 추가하기

출처: Create Dividers in UIMenu using UIKit 시나리오 UIKit을 사용하여 UIMenu 내에 구분선을 추가하는 방법     버튼을 누르면 컨텍스트 메뉴가 뜨며, 메뉴가 표시될 때 구분선이 존재합니다: import UIKit class ContextDividerViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 1 let topActions = [ UIAction(title: “Two”, image: UIImage(systemName: “2.square”), handler: 더보기…

Swift: [ChatGPT가 말하는] 로컬 알림(로컬 노티피케이션) 기능의 한계점과 극복 방안

소개 ChatGPT에게 아래 글을 읽고 구체적인 이유와 해결 방안을 제시해보라고 요구했습니다. Swift(스위프트): 로컬 알림(Local Notification)을 스케줄에 맞춰 반복 발신하기 (및 한계점) 일반론적인 이야기를 풀어 말한것에 불과하지만, 일단 틀린 답변은 아니므로 ChatGPT가 제시한 해결 방안을 올려봅니다.   해결 방안 (ChatGPT의 답변)   Google Keep에서 구현된 것처럼 iOS에서 복잡한 스케줄링을 로컬 노티피케이션으로 더보기…

SwiftUI: 게임 센터(Game Center) 연동

소개 iOS 프로젝트에서 Game Center를 연동하려면 몇 가지 단계를 거쳐야 합니다. Game Center는 애플의 게임 서비스로, 멀티플레이어 매치메이킹, 리더보드, 도전 과제 등을 제공합니다. 아래는 SwiftUI로 iOS 프로젝트에서 Game Center를 연동하는 방법에 대한 자세한 설명입니다.   1. Game Center 설정 준비 Apple Developer 계정 준비: Apple Developer 계정에 가입하고 필요한 설정을 더보기…

[자막 번역] WWDC24: Embedded Swift로 경량화하기

2024. 6. 12. Embedded Swift를 사용하면 제한된 환경에도 Swift의 안전성과 표현성을 그대로 누릴 수 있습니다. 규격화된 Matter 기기를 사용한 데모를 통해 Embedded Swift에서 다양한 마이크로컨트롤러를 실행하는 방법을 확인해 보세요. Embedded Swift 하위 집합이 그토록 작은 공간에 런타임 없이 Swift의 이점을 모두 담을 수 있었던 방법과 Embedded Swift 개발의 첫걸음을 돕는 더보기…

Swift: Combine 기본 기능 81가지 한 번에 요약 정리

출처: https://icksw.tistory.com/category/iOS/Combine 주의: 아래 포스트는 ChatGPT를 이용하여 요약하였으므로 틀린 내용이 있을 수 있습니다.   1. Combine 프레임워크를 사용하여 커스텀 Publisher 생성 class HandsUp: Publisher { typealias Output = String // Never: The return type of functions that do not return normally, that is, a type with no values. typealias Failure 더보기…

Swift 문법: switch문의 고급 사용법 / if case let 및 for case let

Swift 기초 (2): if 문, for ~ in 문, while 문, switch 문 1. Switch 문을 사용한 튜플 매칭 이해하기 Swift의 switch 문은 특정 값에 대해 다양한 경우를 다룰 수 있도록 해줍니다. 특히 튜플을 사용할 때 매우 유용합니다. 이번 섹션에서는 switch 문이 튜플을 어떻게 처리하는지 살펴보겠습니다. func getPoint(somePoint: (Int, Int)) 더보기…

SwiftUI: 스크롤 뷰(Scroll View)를 밑에서 위로 스크롤하는 방법

소개 iOS의 기본 앱인 사진 앱은 사진 목록의 스크롤 뷰가 밑에서 위로 진행됩니다. SwiftUI에서 스크롤 뷰를 밑에서 위로 스크롤하는 것은 여러 가지 방법으로 구현할 수 있습니다. 이 글에서는 iOS 14부터 사용할 수 있는 방법과 iOS 17 이상에서만 사용할 수 있는 방법을 소개합니다.   전체 코드 개요 이 코드에서는 TabView를 사용하여 더보기…

Swift 예제: iOS 앱에 위젯 추가 및 연동

Swift 예제: iOS 앱에 위젯 추가 및 연동 전체 코드 https://github.com/ayaysir/Swift-Playgrounds/tree/main/Projects/study-WidgetExample   개발 환경 Xcode 15.4, Swift 5.9 iOS App + Widget Extension SwiftUI + UIKit Representable   목적 위젯 개발 기본 학습 Deep Link를 이용한 위젯 -> 앱 간 데이터 전달 App Groups 기능을 이용한 아이폰 메인 앱과 위젯간 더보기…