Animation - UIKit

Introduction I was curious about creating animations in UIKit. I wanted to animate different properties such as color and path. Here is what I found: It’s impossible to create complex animations only by using the block-based animation API. To do that, you need the Core Animation API and CAPropertyAnimation with its various subclasses. Complex animation in UIKit is based on a few key components: CAShapeLayer - provides extensive customization options: path, stroke, fill, shadow CABasicAnimation - helps animate color or change the path Implementation First Step The first step is to create a shape layer that will draw an arrow using CAShapeLayer. ...

May 21, 2024 · 2 min · Dmytro Chumakov

Animation - SwiftUI

Introduction I was eager to learn about creating complex animations in SwiftUI. The few questions that were on my mind included what types of animations exist and what I can animate. Here is what I found: Types of Animation SwiftUI has explicit and implicit animation types. Implicit Animation: This is specified with the .animation() modifier. SwiftUI will animate changes in old and new values. struct ImplicitAnimation: View { @State private var half = false @State private var dim = false var body: some View { Image("tower") .scaleEffect(half ? 0.5 : 1.0) .opacity(dim ? 0.2 : 1.0) .animation(.easeInOut(duration: 1.0)) .onTapGesture { self.dim.toggle() self.half.toggle() } } } ...

May 17, 2024 · 2 min · Dmytro Chumakov

Implementing GraphQL in an iOS application

Introduction I previously never had a chance to work with GraphQL. I was excited to learn when to apply this technology, what tools I can use, and how I can implement it. Here’s what I found: For testing, I used the Star Wars GraphQL API with AllFilmsQuery: query AllFilmsQuery { allFilms { films { title director created producers releaseDate } } } I requested allFilms with title, director, created, producers, and releaseDate information. ...

May 15, 2024 · 3 min · Dmytro Chumakov

Securing user data with Keychain, Touch ID, and Face ID

Introduction I was eager to learn about securing user data using Keychain and biometric authentication. Here are a few steps I found: Caveats You can test accessing Keychain data using Touch ID and Face ID only on a real device. First Step The first step is to add the Privacy - Face ID Usage Description key to your Info.plist. Without it, you would not be able to retrieve data from Keychain using Face ID. ...

May 13, 2024 · 4 min · Dmytro Chumakov

Implementing In-App Purchases to SwiftUI app using StoreKit 2

Introduction I was wondering how to add in-app purchases to my app. I chose non-consumable in-app purchase because you can pay one time for this item. Here are a few steps on how I did it. First Step Set up In-App Purchases for your app in App Store Connect account or add a .storekit configuration file and start from there. If you’ve already set up In-App Purchases in your account, you can sync the StoreKit config with that data. ...

May 12, 2024 · 3 min · Dmytro Chumakov