Hello! Here we are going to create a super simple list using things described in part 1. In the end, we will have this screen done.

Yeah, it doesn’t look cool, but the article is not about design :)

Download starter project:

I have already setup all the needed UI…

Recently I was working on client certificate-based authentication. The app is for enterprise, so is distributed through MDM. In my case it was MobileIron. Thus the app is using MobileIron mobile AppConnect SDK for iOS. The problem rose up when I managed to properly set the app configuration through MobileIron Core, but authentication still failed.

The process of authentication was driven by numerous redirects. Every next redirect response contained Set-Cookie header with cookies that were obviously important for next request caused by the response.

It is appeared that URLSession — for some reason I do not understand — loses cookies when handling redirects.

The workaround is to implement

urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void)

method of URLSessionTaskDelegate like this:

Do not lose your cookies! As I did 🤷🏻‍♂️
Hope it will help someone!

It’s not uncommon to have alerts in your app and every developer implements showing alerts in some way. I want to share my approach to showing them when app’s architecture is MVVM.

For binding let’s use Bond framework.


Let’s create simple alert model which will be a view model of…

Isa Aliev

iOS-Developer from Russia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store