iOS

WWDC22의 Platforms State of the Union 영상 뿐만 아니라 200여개의 모든 세션 영상에 한글자막이 추가되었습니다. https://developer.apple.com/news/?id=lw8dnr3l WWDC22 video subtitles now in more languages - Latest News - Apple Developer You can now watch the Keynote, Platforms State of the Union, and nearly 200 sessions from this year’s Apple Worldwide Developers Conference with Japanese, Korean, and Simplified Chinese subtitles...
· iOS/iOS Dev
SnapKit은 Autolayout 설정을 간결하고, 편리하게 사용할 수 있게 해주는 프레임워크입니다. iOS 8.0+, Xcode 9.0+, Swift 4.0+ 에서 사용 가능하고, CocoaPods, Carthage, Swift Package Manager를 지원합니다. GitHub - SnapKit/SnapKit: A Swift Autolayout DSL for iOS & OS X A Swift Autolayout DSL for iOS & OS X. Contribute to SnapKit/SnapKit development by creating an account on GitHub. github.com 매뉴얼도 잘 제공되어 있습니다. (SnapKit Docs: https://snapkit.githu..
· iOS/Swift
아직까지는 iOS의 수많은 프로젝트가 UIKit기반일 듯 한데요.그래서 Apple에서는 SwiftUI를 밀고 있으면서도UIKit을 SwiftUI에서 재사용하거나, 최근(WWDC2022)에는 UIKit(UITableview)에 SwiftUI를 녹여서 쓸 수 있는 방법을 제시하고 있습니다. 그중에서 SwiftUI에서 UIKit을 사용할 수 있도록 제공하는 방법이UIViewRepresentable, UIViewControllerRepresentable 프로토콜입니다.UIViewRepresentable 프로토콜은 UIView를UIViewControllerRepresentable 프로토콜은 UIViewController를 SwiftUI에서 사용할 수 있도록 해줍니다.두 프로토콜들은 iOS 13.0부터 사용 가능합..
· iOS/Swift
SomeSwiftUIView라는 SwiftUI 파일을 생성을 하면하단에 SomeSwiftUIView_Preview라는 이름의 PreviewProvider 프로토콜을 따르는 구조체가 함께 생성이 됩니다.struct SomeSwiftUIView_Previews: PreviewProvider { static var previews: some View { SomeSwiftUIView() }} 이 구조체는1. 우리가 작성한 SwiftUI View의 내용을 Preview(혹은 Canvas)에 반영시켜주거나,2. PreviewProvider 내의 previews의 내용을 Preview에 반영시켜주어우리가 확인하고자 하는 View를 빠르게 확인할 수 있게 해줍니다.1. 우리가 실제로 작성해서 사..
· iOS/iOS Dev
Then 라이브러리는 인스턴스 초기화시 클로저를 통해 깔끔한 작성을 할 수 있게 도와주는 라이브러리입니다. GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers ✨ Super sweet syntactic sugar for Swift initializers - GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers github.com Github의 ReadMe만 봐도 어떤 용도인지 감이 잘 옵니다. Then은 CocoaPod, Swift Package Manager를 통한 Dependency 설정이 가능합니다. 기존의 인스턴스 초기화 과정은 //..
· iOS/iOS Dev
앱에서 푸시 메세지를 띄우는 방법은 1. 푸시 서버로부터 받는 방법 2. 로컬 푸시메세지로 받는 방법이 있습니다. 그 중에 로컬에서 띄운 푸시메세지를 UserNotification이라고 합니다. UserNotification을 띄우려면 UNUserNotificationCenter에 UserNotificationRequest를 추가해야하는데, UserNotificationRequest는 id, content, trigger 세가지가 필요합니다. id는 푸시메세지 고유값으로 해당 푸시메세지를 취소시키고 싶을 때 필요합니다. content는 title, subTitle, body, sound, badge, launchImageName 등의 푸시메세지의 실제 내용입니다. trigger는 푸시메세지를 띄울 조건(..
· iOS/iOS Dev
우리는 어떤 값을 저장해놓았다가, 앱을 재실행했을 때도 이를 꺼내어 해당 값에 따라서 동작하도록 하고 싶을 때가 있습니다. 방법은 여러가지가 있겠지만, 간단한 값들을 저장해놓을 때 UserDefaults라는 수단을 많이 사용합니다. 매우 간단한 방법으로 값을 저장하고 불러올 수 있기 때문입니다. 이렇게 저장을 해놓으면, UserDefaults.standard.set("Honey Butter", forKey: "almond") UserDefaults.standard.synchronize() 이렇게 불러와서 쓰면 됩니다. if let almond = UserDefaults.standard.value(forKey: "almond") { print("Almond: ", almond) // Almond: Hone..
· iOS/iOS Dev
Alamofire는 swift기반의 네트워킹을 도와주는 라이브러리입니다. URLSession을 기반으로 하는 라이브러리로, 네트워킹 작업을 단순화시켜주고 네트워킹을 위한 다양한 메서드와 JSON파싱 등을 제공해줍니다. - 연결가능한 Request, Response메서드를 제공 - Combine을 지원 - URL, JSON형태의 매개변수 인코딩을 지원 - 파일, 데이터, 스트림, MultipartForm 데이터 등의 업로드 - Request, Resume Data로 파일 다운로드 - URLCredential로 인증 - HTTPResponse 검증 - Upload, Download 진행률 클로저 - cURL Command Output - 동적으로 Request를 조정 및 재시도 - TLS인증서 및 공개키 고..
· iOS/Swift
Stand alone으로 돌아가는 앱도 있겠지만, 우리가 사용하는 많은 앱들은 서버와 통신을 주고받으면서 동작을 합니다. 서버와 데이터를 주고받을 때 주로 JSON 데이터를 사용하는데요. 이 JSON을 다룰 때 매우 유용한 게 Codable(Encodable, Decodable), CodingKey 입니다. Codable 공식문서를 먼저 보면, Codable은 Encodable, Decodable를 typealias를 한 것이며, type 혹은 제네릭 제약으로 Codable을 사용한다면 Encodable, Decodable 프로토콜을 모두 준수하게 된다.라고 되어있습니다. Encodable은 자신을 외부 표현으로 인코딩할 수 있는 형식이라고 되어 있는데, 이는 앱 내 데이터 모델을 JSON 데이터로 변환..
· iOS/iOS Dev
SwiftUI가 나온 지 3년 정도 되었고, 최근 WWDC2022에서는 MacOS에서도 자연스럽게 쓰이며 모든 애플 플랫폼을 커버할 수 있을 만큼 발전해왔습니다. 최근에는 SwiftUI전용 Charts프레임워크도 발표했고, 점차 실무 앱 개발에서도 도입해도 될 만큼 변화해가고 있는데요. 아직은 SwiftUI보다는 스토리보드를 많이 사용하고 있고, 스토리보드에서도 SwiftUI처럼 실시간(?)으로 코드 구현부를 스토리보드에 반영할 수 있는 방법이 있어 이를 정리해보는 포스팅을 작성해봅니다(스토리보드야 파이팅). 바로 @IBInspectable, @IBDesignable인데요. 이 Attribute들을 사용하지 않고 스토리보드를 작성했을 때 문제점이 발생합니다. 스토리보드에서는 View들의 디테일한 부분까지..
대한민국에서 배포되는 앱에 관한 업데이트 - 최신 뉴스 - Apple Developer Apple이 설계한 App Store는 사람들이 앱을 발견하고 다운로드할 수 있는 안전하고 신뢰할 수 있는 공간입니다. Apple의 앱 내 구입 시스템은 Apple의 세계적인 상거래 플랫폼의 핵심 부분으로서, 모든 developer.apple.com 전기통신사업법 개정안(인앱결제 강제금지법)에 따라 '대한민국에서만' 배포되는 앱에 한해서 개발자가 StoreKit External Purchase Entitlement를 사용하면 대체 앱내 결제 처리 옵션을 제공할 수 있게 됩니다. 해당 옵션을 사용하려면 아래 링크에서 자격 요청 양식을 애플에 제출해야 합니다. (https://developer.apple.com/conta..
WWDC22(Platforms State of the Union)에서 기타 변경점을 정리해봅니다. 개별 세션 및 Release Note의 내용을 참조한 내용들도 있으며, 글은 계속 수정될 수 있습니다. Pasteboard Behavior 변경 iOS14, 15에서는 다른 앱에서 복사한 것을 붙여넣기 할 때 상단에 배너로 표시하고 사라졌는데요. iOS16에서는 붙여넣기 할 때 확인을 위한 경고창을 표시하도록 변경되었습니다. 권한요청 경고창처럼 1회성으로 뜨는 것이 아닌, 붙여넣기를 할 때마다 보여집니다. (개인정보를 남용하는 앱들로부터 사용자를 보호하고자 하는 애플의 마음은 이해가 되지만, 활용하는 앱에서 따라서는 사용자 경험이 불편해질 수도 있겠다는 걱정이 조금 드네요) iPadOS DriverKit M..
WWDC22(Platforms State of the Union)에서 Xcode14의 변경점을 정리해봅니다. 개별 세션 및 Release Note의 내용을 참조한 내용들도 있으며, 글은 계속 수정될 수 있습니다. Deprecations MacOS 앱 및 Mac Catalyst로 구축된 앱에 대해 작성된 위젯 미리보기 지원이 제거되었습니다. → macOS WidgetKit Simulator를 사용하면 됩니다. Xcode Server는 더이상 지원하지 않습니다. [UIViewController shouldAutorotate]가 더이상 지원하지 않습니다. [UIViewController attemptRotationToDeviceOrientation]도 더이상 사용되지 않으며 [UIViewController ..
WWDC22에서 App Store Connect의 변경점을 정리해봅니다. 여러 항목을 하나의 제출로 그룹화 (이 내용은 실제 앱스토어 커넥트에서 변경된 사항을 직접봐야 감이 올거 같네요) 여러 Review item을 하나의 제출로 그룹화할 수 있게 되었습니다. Review item의 수나 유형에 상관없이 24시간 내에 검토가 됩니다. 심사 후 Review item은 승인(Accept)되거나 거부(Reject)되는데, 제출한 모든 Review item이 승인이 될 때까지 Review submission이 승인되지 않습니다. 거부된 Review item을 심사 제출하기 위한 2가지 방법이 있습니다. 첫번째는 거부된 Review item을 수정한 뒤 다시 심사 제출을 하는 방법입니다. 두번째 방법은 거부된 i..
WWDC22(Platforms State of the Union)에서 추가된 App Intents, Passkey의 내용을 정리해봅니다. 개별 세션의 내용을 참조한 내용들도 있으며, 글은 계속 수정될 수 있습니다. App Intents Framework 앱의 기능을 시스템에서 사용가능하게 해서 사용자가 Siri와 단축어로 앱을 자동화하여 사용할 수 있게 해줍니다. 사용자가 사용자화 단축어로 앱들의 기능들을 재조합할 수 있게 해줍니다. 기존엔 사용자가 직접 단축어를 시리에 추가해야 사용할 수 있었지만, iOS16에서는 App Intents Framework로 이를 자동화시켰습니다. App Intents가 단축어와 합쳐져 App 단축어가 됨. 사용자가 별도 설정없이 Siri에서 사용 가능. Siri뿐만 아니..
SwiftyCody
'iOS' 카테고리의 글 목록 (7 Page)