728x90

분류 전체보기 290

Notification에 Action 버튼 추가하기

안녕하세요. 이번에는 Notification에 버튼 추가하는 방법(즉, Actionable Notification)에 대해 알아볼게요. # Overview Actionable Notification이란 아래 이미지처럼, Notification에 버튼을 추가한 것을 말합니다. 일반적인 Notification을 클릭하면 앱이 자동으로 실행되죠? 그런데 Actionable Notification을 클릭하면 앱이 background에서 실행되고 background에서 푸시 클릭 이벤트가 동작하게 됩니다! 이렇게 Actionable Notification을 사용하려면, 아래 사항을 준수해야 해요. 앱 launch time 때 하나 이상의 notification type을 선언 notification type에는 ..

iOS 2022.04.05

subscript

안녕하세요. 이번에는 Swift의 subscript에 대해 알아볼게요. 클래서, 구조체, 열거형에서 subscript 정의가 가능합니다. 그럼 subscript란 무엇이냐? subscript를 사용하면 collection, list, sequence의 element에 쉽게 접근할 수 있어요. (Array의 someArray[index] 또는 Dictionary의 someDictionary[key] 처럼 말이죠!) 또한 하나의 타입에 여러 개의 subscript를 구현할 수 있고, overload도 가능해요. ## 1. Subscript Syntax subscript 키워드를 사용해서 subscript를 정의할 수 있어요. subscript는 read-write 또는 read-only로만 구현이 가능합..

Swift 2022.04.03

Xcodes.app

안녕하세요. Xcode의 여러 버전을 쉽게 다운로드 받을 수 있는 macOS 앱이 있어서 소개해보려고 해요. Xcodes라는 앱이고, github 주소는 여기 입니다. 터미널에 아래 명령어를 입력해주면 설치가 끝나요. brew install --cask xcodes 앱을 실행시키면 베타 버전을 포함한 Xcode의 모든 버전이 리스트 되어 있고, 무엇보다 INSTALL 버튼을 누르면 다운로드, 압축 해제, 설치까지 모두 자동으로 해줘서 매우 편리하더라구요ㅎㅎ Xcode에 대한 정보도 잘 나와있고, uninstall도 가능합니다. 또한 Xcodes 앱을 사용하는 것이 일반적으로 Xcode.xip를 다운받아서 압축을 푸는 것보다 속도가 70% 빠르다고 합니다. 👍 (저도 직접 설치해봤는데 다운로드부터 시작해서..

Xcode 2022.04.03

External Link Account Entitlement 접근 권한 요청 가능

안녕하세요. 2022년 03월 30일부터 Reader 앱 개발자는 External Link Account Entitlement 접근 권한 요청이 가능하다고 합니다. 여기서 Reader 앱이란 잡지, 신문, 책, 오디오, 음악, 비디오 같은 디지털 콘텐츠를 메인 기능으로 제공하는 앱을 말해요. External Link Account Entitlement 권한을 사용하면, 사용자는 개발자가 소유하거나 관리하고 있는 웹 사이트에서 계정을 만들거나 관리할 수 있게 됩니다. ## 권한 요청 자격 BundleID 마다 Entitlement를 요청해야 합니다. 그리고 앱이 아래 자격을 만족해야지만 요청할 수 있다고 해요. 잡지, 신문, 책, 오디오, 음악, 비디오 같은 디지털 콘텐츠가 앱의 메인 기능일 때 사용자가..

News 2022.04.02

Struct와 Class

안녕하세요. 이번에는 기초적이면서도 중요한 Struct와 Class의 공통점과 차이점에 대해 간략하게 정리해보려고 합니다. # 1. Struct와 Class 공통점 value를 저장할 프로퍼티를 정의할 수 있습니다. method를 정의할 수 있습니다. subscript syntax(.)으로 value에 접근이 가능합니다. 생성자(initializer)를 정의할 수 있습니다. 확장이 가능합니다. 프로토콜 채택이 가능합니다. 사실 공통점은 뻔한 얘기들이라... 다들 알고 계실 것 같아요ㅎㅎ 더욱 중요한 차이점에 대해 알아볼게요. # 2. Struct와 Class 차이점 ## 2.1 클래스는 상속이 가능합니다. class Animal { var age: Int = 0 } class Person: Animal ..

Swift 2022.04.02

Gesture

안녕하세요. 이번에는 SwiftUI의 Gesture에 대해 알아볼게요. # 1. 제스처 추가 특정 뷰에 제스처를 추가하려면, Gesture를 생성 및 설정한 뒤에, gesture(_:including:) 수식어를 사용해줍니다. struct ShapeTapView: View { var body: some View { let tap = TapGesture()// 제스처 생성 .onEnded { _ in// 제스처 설정 print("View tapped!") } return Circle() .fill(Color.blue) .frame(width: 100, height: 100, alignment: .center) .gesture(tap)// 제스처 추가 } } 만약 아래처럼 VStack에는 gesture(_:..

SwiftUI 2022.04.01

앱의 모든 화면은 Scroll View로 구성해야 한다.

안녕하세요. 흥미로운 포스트를 봐서, 그 내용을 공유해보려고 해요. - https://lickability.com/blog/every-screen-in-your-app-should-be-a-scrolling-view/ Every Screen in Your App Should Be a Scrolling View In this blog post, I’m going to tell you why every major screen in your application should be embedded in a scrolling view. lickability.com 위 포스트에서는 UIKit의 UIScrollView, UITableView, UICollectionView 또는 SwiftUI의 ScrollView, ..

기타 2022.03.29

UIKeyboardLayoutGuide

안녕하세요. 이번에는 iOS 15부터 추가된 UIKeyboardLayoutGuide 사용법에 대해서 간단하게 알아볼게요. # 1. UIKeyboardLayoutGuide UITextField를 쓰면서 keyboard가 뷰를 가리는 이슈를 한 번쯤은 겪으셨을 것 같아요. 그 이슈를 해결하기 위해 저희는 꽤나 복잡한(사실 귀찮은...) 작업들을 해왔어요. 1. Notification을 등록해주고 2. 키보드가 화면에 출력될 때 3. 뷰의 레이아웃(offset)을 조절한다. 그런데 iOS 15부턴 이런 일들이 필요없게 되었습니다. UIKeyboardLayoutGuide라는 클래스가 새로 나왔기 때문이죠. 대략적으로 살펴보면, UIKeyboardLayoutGuide는 UIView의 프로퍼티이며, 대부분의 경우 ..

UIKit 2022.03.29

[오픈소스] Bagbutik

안녕하세요. 이번에는 Bagbutik라는 오픈소스를 직접 써보는 시간을 가져볼게요. # 1. Bagbutik? Generated Swift code for the App Store Connect API based on the official OpenAPI spec. Bagbitik은 OpenAPI 기반의 App Store Connect API를 위한 Swift 코드로 생성해준다. 한 마디로 App Store Connect API를 Swift로 호출해줄 수 있는 모듈인 것이죠. 그리고 Bagbutik의 가장 큰 장점은 Github Action을 활용해서 주기적으로 API 스펙을 확인하고, App Store Connect API 스펙이 변경되었을 때, Github Action이 자동으로 변경사항에 대해서 P..

iOS 2022.03.28

Xcode Playground에서 Swift Package와 Assets 사용하는 방법

안녕하세요. 저는 코드 몇 줄 간단하게 확인해보고 싶을 때 Xcode Playground를 자주 애용하는 편입니다. 그래서 어떤 Swift 오픈소스를 Xcode Playground에서 간단하게 찍먹 해보려고 했더니, Swift Package를 추가하는 메뉴가 안보이더라구요...?? 허헣... 그래서 이번 일을 계기로, Xcode Playground에서 Swift Package를 사용할 수 있는 방법에 대해 알아보고, 추가로 Xcode Playground에 Assets도 추가해서 사용해보는 시간을 가져볼게요. # 1. Xcode Playground에서 Swift Package 사용하기 우선 결론부터 말을 하자면... Xcode Playground만 가지고는 Swift Package를 추가할 수 없습니다....

기타 2022.03.27