Majid Jabrayilov

Majid Jabrayilov

Senior iOS Developer at Snowdog

How to manage background tasks with the Task Scheduler in iOS 13?

The article discusses Apple's BackgroundTasks framework, which can be used to schedule and control the execution conditions of background jobs. The framework has various task types, including the App Refresh Task and Background Processing Task, which can be used to update app data and perform heavy computations. The article also provides guidelines for implementing background tasks and debugging them using Xcode debugger. The author concludes by stating that the BackgroundTasks framework is an excellent way to schedule heavy work with the best user experience.

Building a GitHub search app with Combine framework - Part 2

If you're an iOS developer, you're probably familiar with Apple's Combine framework, which provides a declarative way to handle asynchronous events. In our previous post, we talked about some of the fundamental concepts of Combine, such as Publishers, Operators, and key-path Bindings. In this post, we'll dive deeper into Combine by exploring Subscribers and Subjects. We'll also discuss how to work with Schedulers and debug Publisher chains. By understanding these key concepts, you'll be better equipped to use Combine to build robust and efficient apps that can handle asynchronous events with ease. So let's jump right in and explore the power of Combine's Subscribers and Subjects!

Building a GitHub search app with Combine framework

The Combine framework, introduced at WWDC 2019, is a Functional Reactive Programming framework that simplifies asynchronous and synchronous state changes in iOS apps. In this tutorial, we will explore the key concepts of Publishers, Operators, and Bindings, and use them to create a simple GitHub repositories search app. We'll learn how to make network requests and manipulate data using Combine's declarative syntax. Publishers are the heart of the Combine framework, used to publish state changes such as a response or error of a network call. Operators, on the other hand, are used to mutate the output of Publishers. We'll look at a few operators like Map and Decode that make our lives easier when working with data. Finally, we'll use Bindings to update our UI in real-time. Overall, Combine is a powerful framework that provides ready-to-use Publishers for URLSession, NotificationCenter, and more. With Combine, we can make our code more readable, maintainable, and efficient.

How to improve accessibility of your iOS app with VoiceOver? - Part 3

In the past couple of weeks, we have discussed the basics of accessibility in iOS and VoiceOver gestures. Today, let’s continue with another Accessibility topic: Custom Views. VoiceOver will work out of the box in case of using UIKit components such as UILabel, UIButton, UISlider, etc. But what if you are using Custom Views, which use an overridden version of draw method, or you have used plain UIViews to compose them to draw some charts? Don’t worry! It is still super easy to support VoiceOver for Custom Views, which we’ll cover in this post.

How to improve accessibility of your iOS app with VoiceOver? - Part 2

Accessibility is a crucial aspect of modern-day app development, and in our previous post, we explored the fundamentals of iOS accessibility, including how to make your User Interface compatible with assistive technologies such as VoiceOver. Today, we are going to explore more advanced topics such as managing VoiceOver gestures. VoiceOver provides users with pre-defined system gestures that enable them to interact seamlessly with the app's user interface. In this post, we will dive into some examples of these gestures and discuss how to handle them effectively. Keep reading to learn more!