μλμ λ·°λ₯Ό λ§λ€κΈ° μν κ³Όμ μ€μμ μκ²λ SnapKit μ¬μ©λ²μ μ μ΄λ³΄μ. νλ©΄μ yμΆ μ€μ¬μΌλ‘λΆν° constraint λ₯Ό μ‘κ³ μΆλ€. λλΉ λλΉ λμ΄λ₯Ό λΉμ¨λ‘ μ‘κ³ μΆλ€. μ°μ μλμ κ°μ λ μ΄μμμ μ‘κ³ μΆμλ€. κ·Έλμ λ€μκ³Ό κ°μ΄ μ½λλ₯Ό μμ±νμλ€. // "κΈ°λ³Έ" μ΄λΌκ³ μ ν UIView. basicBackgroundView.snp.makeConstraints { make in // π¨ inset μ΄ μ μ©λμ§ μμμ yμΆ μ€μ¬μ μμΉ. make.bottom.equalTo(view.snp.centerY).inset(-63) make.leading.trailing.equalToSuperview().inset(24) // π¨ multipliedBy κ° μ μ©λμ§ μμμ λ·°μμ 보μ΄μ§ μμ. make.heig..
RxCocoa traits RxSwift λ¬Έμλ₯Ό μ 리 λ° μμ½ν΄λ³΄κ² μ΅λλ€. (μΆμ² - RxCocoa Traits) ControlProperty μ ControlEvent λ UI μμμ μμ±μ λνλ΄λ Observable/ObservableType μ trait μ λλ€. π ControlProperty ControlProperty λ ObservableType κ³Ό ObserverType μ λμμ μ±ννλ ControlPropetyType μ μ±νν©λλ€. Subject μ κ°μ΄ νλ‘νΌν°μ μλ‘μ΄ κ°μ κ΄μ°°ν μλ λ°©μΆν μλ μμ΅λλ€. public struct ControlProperty : ControlPropertyType { ... } /// Protocol that enables extension..
RxCocoa μ μλ Traits μ λν΄μ μμ보μ κ·Έ μ€μμ Driver, Signal μ λν΄μ μμ보μ Traits? Rx λ₯Ό λ³΄λ€ μ§κ΄μ μ΄κ² μ¬μ©ν μ μλ κ°λ ₯ν λ°©λ²μ΄ μμ΅λλ€. Traits λ μ νμ μΈ λ°©λ²μΌλΏμ λλ€. ν΅μ¬μ RxSwift μ RxCocoa μμ νλ³νλμ§ μμ Observable μνμ€λ₯Ό μμ λ‘κ² μ¬μ©ν μ μμ΅λλ€. λ€μκ³Ό κ°μ΄ Traits μ μ½λλ₯Ό μ΄ν΄λ³΄λ©΄ λ¨μΌ μ½κΈ° μ μ© Observable μνμ€ νλ‘νΌν°λ₯Ό κ°μ§ wrapper struct λΌλ κ²μ μ μ μμ΅λλ€. struct Single { let source: Observable } struct Driver { let source: Observable } ... RxCocoa traits RxSwift λ¬Έμ..
λ΄μ© Widget μ΄ λ³΄μ¬μ§λ μΈ κ°μ§ μμ μ΄ μμ΅λλ€. placeholder, snapshot, timeline λ₯Ό νμΈν΄λ³΄κ² μ΅λλ€. μΈμ 보μ¬μ§λμ§ UI λ₯Ό ν΅ν΄ νμΈν΄λ³΄μ. TimelineProvider νλ‘ν μ½μ λ€μ μΈ κ°μ§ λ©μλλ₯Ό μꡬν©λλ€. struct Provider: TimelineProvider { typealias Entry = SampleEntry func placeholder(in context: Context) -> Entry { // Implementation here... } func getSnapshot(in context: Context, completion: @escaping (Entry) -> ()) { // Implementation here... } func ge..
iOS) Lock Screen Widget λ§λ€κΈ° λ΄μ© Lock Screen widget μ UI λ λͺ¨λ λΆν¬λͺ νκ²λ§ ννλμ΄μΌ ν κΉ? Lock Screen μ widget μ λ§λ€μ΄λ³΄μ. Lock Screen μ μμ ―μ iOS 16 λΆν° μλ‘κ² λ±μ₯ν κΈ°μ μ λλ€. μμ§ μ§μνλ μ±μ λ§μ§ μμ§λ§ μ gyuios.tistory.com μ κΈμ λ§μ§λ§ λΆλΆμμ λ€μμ νΈλ¬λΈ μν κ³Όμ μ κ±°μΉλ©΄μ μλμ λ§λ μλ‘μ΄ μ΄λ―Έμ§ μμ μ μμ²νμμ΅λλ€. π¨νΈλ¬λΈ μν - vibrant λ λλ§μ μν΄μ μ¬μ©ν΄μΌ νλ μ΄λ―Έμ§ μ΄λ, μμ μ μλ‘ λ€λ₯Έ λ°κΈ°μ μμλ€μ΄ μ‘΄μ¬ν΄μ κ³μΈ΅ κ΅¬μ‘°κ° λ§λ€μ΄μ§ λ―νκ² κ΅¬νλ κ²μ λ³Ό μ μμμ΅λλ€. λμμ΄λλμ κ³μΈ΅μ΄ μλ κ²°κ³Όλ₯Ό μνμ ¨κ³ λ€μκ³Ό κ°μ΄ μμ μ μ λ¬ λ°μ μ μμμ΅λ..
π« μν© νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μ ν μμ νμ§ μμ λΆλΆμμ μ±μ΄ μ’ λ£λλ κ²μ κ²½ννμμ΅λλ€. ** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Need an imageRef' μλ¬μ ν¨κ» μ±μ΄ μ’ λ£λμμ΅λλ€. ν΄λΉ λ·°μμλ μμ μ‘°μ°¨νμ§ μμκΈ° λλ¬Έμ νμΈμ λͺ»νμκ³ μ΄λμλΆν° μλͺ»λμλμ§ μ»€λ° νμ€ν 리λ₯Ό λ°λΌκ°λ³΄μμ΅λλ€. Card λΌλ Color μμ μ μΆκ°ν 컀λ°λΆν° ν΄λΉ μλ¬κ° λ°μνλ κ²μ νμΈνμμ΅λλ€. π¨ ν΄κ²° μλλ₯Ό μ°Έκ³ νμ¬ ν΄κ²°νμμ΅λλ€. Loading image from xcassets causes assertion failure κ°μ μ’ λ£κ° λλ ν΄λΉ..
λ΄μ© Lock Screen widget μ UI λ λͺ¨λ λΆν¬λͺ νκ²λ§ ννλμ΄μΌ ν κΉ? Lock Screen μ widget μ λ§λ€μ΄λ³΄μ. Lock Screen μ μμ ―μ iOS 16 λΆν° μλ‘κ² λ±μ₯ν κΈ°μ μ λλ€. μμ§ μ§μνλ μ±μ λ§μ§ μμ§λ§ μμλ‘ μΉ΄μΉ΄μ€ν‘κ³Ό μΉ΄μΉ΄μ€νμ΄ μμ ―μ μ΄ν΄λ³΄κ² μ΅λλ€. λ¨μν λΆν¬λͺ ν λ―ν UI κ° μλλ―νλ° μ΄λ€ μλ¦¬λ‘ μμ°μ€λ½κ² λ°°κ²½κ³Ό μ΄μΈλ¬μ§λκ±ΈκΉμ? μ΄λ μ ν©ν μ΄λ―Έμ§ μμ μ΄ νμνκ±ΈκΉμ? ν¨μλ‘μ¨ κ΅¬νν΄μ€μΌνλ κ±ΈκΉμ? μλλ©΄, μ κΈ νλ©΄μ λ§λ λ λλ§ λͺ¨λκ° μ μ©λλ κ±ΈκΉμ? WidgetKit μμ Lock Screen μ΄λΌλ νκ²½μ μ€μ νκ³ , λμν΄μ€μΌνλ κ±ΈκΉμ? μ¬λ¬κ°μ§ μλ¬Έμ μ΄ μμ΅λλ€! μ΄μΈμλ Lock Screen Widget μ λν΄μ μ΄μ μμλ³΄κ² ..
λμ λ§ν¬λ? κ΅¬κΈ νμ΄μ΄λ² μ΄μ€μμ μ 곡νλ©°, λ₯λ§ν¬μ μΌμ’ μ΄λ€. λ₯λ§ν¬λ μλλ μ±λ§ν¬, μμλ μ λλ²μ λ§ν¬λ‘ λΆλ¦Ό. μ΄μ²λΌ κ°κ° ꡬνν΄μΌνλλ° λ€μ΄λλ―Ή λ§ν¬λ νλ«νΌμ μκ΄μμ΄ λ°μ€ν¬ν, μλ, μμ νλ«νΌμμ μ¬μ©ν μ μλ€. μΆμ²: https://skyfox83.tistory.com/567 βμ μ± λ΄μμ λμ λ§ν¬λ₯Ό μμ±ν κΉμ? Firebase console μμ λ§λλ λμ λ§ν¬λ νμν νλΌλ―Έν°λ€λ‘ μΉμμ μ΅μ΄μ μμ±νκΈ° λλ¬Έμ μ 체 μ΄λ²€νΈμ κ°μ μ λμ μ΄μ§ μμ μ©λλ‘ μ¬μ©λλ€. iOS μμ FirebaseDynamicLinks νλ μμν¬λ‘ λ§ν¬λ₯Ό λ§λ€λ©΄ νΉμ μμ΄ν μ λν μ λμ μΈ λ§ν¬λ₯Ό μμ±ν μ μλ€.(μ± λ―Έμ€μΉ μ μ±μ€ν μ΄λ‘ λ³΄λΌ μλ μλ λ±μ κΈ°λ₯λ λμΌνκ² μΆκ°ν μ μλ€.) β..
- Swift
- UserDefaults
- watchOS
- Firebase
- μλ²ν΅μ
- Objective-C
- MVVM
- WWDC
- Notification
- Protocol
- Algorithm
- rxswift
- OpenSourceLibrary
- WidgetKit
- YPImagePicker
- 2022 KAKAO TECH INTERNSHIP
- CloneCoding
- configurable widget
- async/await
- MOYA
- Widget
- WWDC22
- urlsession
- github
- IOS
- projectsetting
- RxCocoa
- containerBackground
- APNS
- 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