Reference / Value / Protocol Type μ Extension ν κ²½μ° dispatch λ°©λ²μ΄ λ¬λΌμ§κΈ°λ ν©λλ€. μμλ΄ μλ€! value type μ extension μμ ꡬνν λ©μλλ μμ κ°λ₯μ±μ΄ μκΈ° λλ¬Έμ static dispatch λ‘ λμ. reference type μ extension μμ ꡬνν λ©μλλ μλΈ ν΄λμ€μμ μ¬μ μκ° λΆκ°λ₯νλ€.(μ΄λ₯Ό μν΄μλ @objc λ₯Ό ν΅ν΄ ν΄κ²°ν μ μλ€.) κ·Έλμ extension μ λ©μλκ° νΈμΆλλ κ²μ΄ 보μ₯λκΈ° λλ¬Έμ static dispatch λ‘ λμ. protocol μ extension μμ ꡬνν λ©μλλ λ κ°μ§λ‘ λλλ€. 1.extension μ default ꡬνμ ν΄λ κ²½μ°λ ν΄λΉ λ©μλμ λν ꡬνμ΄ νμ..
λ΄μ© TestFlight μ λ¦΄λ¦¬μ¦ μ± μλ λ°°ν¬λ₯Ό μν fastlane μ€μ fastlane code signing λ°©λ² μ€ match λ°©μμμ fastlane μ lane μ€μ νλμ κ°λ° νμΌλ‘ multiple target μ λν code singing μ μ©, slack μ°λ λͺ©ν β λ€μ΄κ°κΈ° μ , fastlane μμλ cert and sigh λ°©λ²κ³Ό match λ°©λ²μ μ§μν©λλ€. μ΄ λμ λ°©λ²μ΄ λ€λ₯΄κΈ° λλ¬Έμ lane λν λ€λ₯΄κ² μμ±λ μ λ°μ μμ΅λλ€. cert and sigh λ°©λ²μ λ‘컬μ certificate μ private key(cert μ¬μ©), provisioning profile μ νμΈ(sigh μ¬μ©)νμ¬ μλ€λ©΄ λ€μ΄λ°κ³ , μμ±μ΄ νμνλ€λ©΄ κ°λ°μ κ³μ μ μμ±νλ get_ce..
λ΄μ© μμ ―μμ Intent λ₯Ό μ¬μ©νκΈ°μν IntentHandler μμ defaultparameter type λ©μλλ‘ μμ ―μ μΆκ°ν λ κΈ°λ³Έκ°μ μ€μ νλ λ©μλλ₯Ό λ€λ£¨κ² μ΅λλ€. π¨ λΉλκΈ° μλ² ν΅μ μμ μ΄νμ κ²°κ³Όλ₯Ό κ°μ§κ³ ν¨μλ₯Ό 리ν΄νλ λ©μλλ₯Ό ꡬνν΄μΌ ν©λλ€. κ·Έλμ λΉλκΈ°μ μΈ μλ²ν΅μ μμ μ μ’ λ£ μμ μ΄νμ μ²λ¦¬ν΄μΌ νμ΅λλ€. // μμ ― μΆκ°ν λ νΈμΆ. κΈ°λ³Έκ° μ€μ . // β μλ²ν΅μ νμ κ°μ₯ 첫λ²μ§Έ κ°μ κΈ°λ³Έκ°μΌλ‘ 리ν΄. // μλ²ν΅μ νμ κ°μ΄ μλ€λ©΄ κΈ°λ³Έκ°μΌλ‘ nil 리ν΄. func defaultMyCard(for intent: MyCardIntent) -> MyCard? { var myCard: MyCard? // β DispatchGroup μ¬μ©. let group = Dispa..

λ΄μ© iOS μ±μ νλ©΄ μΆμ , μ΄λ²€νΈ μΆμ μ μν GA(Google Analytics) λ₯Ό μ μ©ν΄ λ³΄κ² μ΅λλ€. μ λ‘κΉ λκ³ μλμ§ Xcode μμ νμΈν΄ λ³΄κ² μ΅λλ€. λ€μμ μ°Έκ³ ν΄μ μ 리νμμ΅λλ€. Google μ λ리ν±μ€ μμνκΈ° | Firebaseμ© Google μ λ리ν±μ€ μμνκΈ° CocoaPods μ νμ©ν SDK μΆκ° pod 'Firebase/Analytics' μ± λ리μμ application(_:didFinishLaunchingWithOptions:) λ©μλμμ FirebaseApp 곡μ μΈμ€ν΄μ€λ₯Ό ꡬμ±ν©λλ€. // AppDelegate.swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launch..
μλ κ°λ°μ λ¬Έμλ₯Ό μ°Έκ³ ν΄μ timeline μ΄ λ³κ²½λμμ λ WidgetKit μ μ리λ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€. Keeping a widget up to date | Apple Developer Documentation κ·Έλ¦¬κ³ λ€μμ λͺ©νλ₯Ό ꡬνν΄λ³΄κ² μ΅λλ€. νμνν΄ or λ‘κ·Έμμν λλ μμ ―μ μ ν°λ·°λ‘ μ λ°μ΄νΈνκ³ , μμ ―μ΄ νννλ λͺ ν¨μ΄ μμ λ λλ μμ ―μ λνλͺ ν¨(첫 λ²μ§Έ λͺ ν¨)μΌλ‘ μ λ°μ΄νΈν΄λ³΄κ² μ΅λλ€. Inform WidgetKit when a timeline changes 무μΈκ° widget μ νμ¬ timeline μ μν₯μ λ―ΈμΉ λ, μ±μ΄ WidgetKit μκ² μλ‘μ΄ timeline μ μμ²ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, κ²μ μμ ― μμ μμ νμμ΄ μΊλ¦ν°μκ² μΉμ λ¬Όμ½μ μ£Όμλ€λ νΈμ..
λ΄μ© λ€μκ³Ό κ°μ΄ YPImagePicker λ₯Ό ν΅ν΄ ꡬνν΄λ³΄μ. μ¬μ§ λΌμ΄λΈλ¬λ¦¬μμλ§ μ΄λ―Έμ§λ₯Ό κ°μ Έμ¨λ€. νλμ μ¬μ§λ§ μ νν μ μλλ‘ νλ€. μ΄μ μ κ³ λ₯Έ μ¬μ§μ΄ μ νλλ€. crop ν μ μλ λΉμ¨μ 컀μ€ν νλ€. νν°λ μ¬μ©νμ§ μλλ€. μ΄λ―Έμ§λ₯Ό λ°λ‘ μ μ₯νμ§ μλλ€. μ΄λ―Έμ§ μ ν μμ μ·¨μ μμ notification μ post νλ€. μ°μ , YPImagePicker λ₯Ό μ¬μ©νλ μ΄μ μ΄μ μλ crop μ λν κΈ°λ₯μ κΈ°λνλ©° UIImagePicker λ₯Ό μ¬μ©νμλλ° ν¬κΈ°λ₯Ό 컀μ€ν ν μ μμμ΅λλ€. λ§μ κ°λ°μλ€μ μμ¬μμ μ¬λ¬ κΈλ€μμ μ½μ μ μμκ³ λ€μμ μ΄μ λ‘ YPImagePicker λ₯Ό μ ννμμ΅λλ€. μνλ μ¬μ΄μ¦λ‘ crop ν μ μλ μ΄λ―Έμ§ λΌμ΄λΈλ¬λ¦¬λ λ§μ΄ μμκ³ , κ·Έ μ€ λ§μ μ¬..

λ΄μ© FlexLayout κ³Ό PinLayout μ μμλ³΄κ³ , μ¬μ©νμ¬ UIλ₯Ό ꡬνν΄λ³΄μ. λͺ©ν : μλμ [μ λ°μ΄νΈλ₯Ό μν νμ λ·°]λ₯Ό ꡬνν΄λ³΄κ² μ΅λλ€. π FlexLayout κ³Ό PinLayout μ μ¬μ©λ°©λ²μ λν΄μλ κ²μκΈμ΄ λ§κ³ , κΉνλΈ λ¦¬λλ―Έλ₯Ό μ½μΌλ©΄ μ½κ² μ μ μμ λ§νΌ λ¬Έλ²μ΄ κ°νΈν©λλ€. π μ΄ κΈμμλ μμ μ½λμμ νμΈν μ μλ μ¬μ©λ°©λ²μ λν΄μ κ°λ¨νκ² μ£Όμμ μμ±νκ³ , μ€μ λ‘ νΉμ λ·°λ₯Ό λ§λλλ° μ μ©ν μ½λλ₯Ό 곡μ νλλ° μ΄μ μ λ§μΆ°μ μμ±νμμ΅λλ€. 1οΈβ£ why? FlexLayout? FlexLayout μλν΄μ 곡μλ¬Έμλ₯Ό ν΅ν΄ μ 리ν΄λ³΄κ² μ΅λλ€. https://github.com/layoutBox/FlexLayout UIStackView λ₯Ό κ°μ ν νλ μμν¬λ‘μ¨ AutoLayou..
- YPImagePicker
- UserDefaults
- watchOS
- Swift
- configurable widget
- projectsetting
- Widget
- urlsession
- MOYA
- 2022 KAKAO TECH INTERNSHIP
- WidgetKit
- Firebase
- MVVM
- Algorithm
- rxswift
- RxCocoa
- Notification
- WWDC22
- μλ²ν΅μ
- APNS
- github
- Objective-C
- containerBackground
- IOS
- Protocol
- WWDC
- async/await
- OpenSourceLibrary
- CloneCoding
- SwiftUI
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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