Yusuf is an iOS developer who has just started his career in iOS development. He starts building apps with MVC as Apple suggests. After a while, he wishes to go deeply through the development. According to his researches, other developers use MVVM with various architecture extensions. While some of them…

If you don’t like authentication steps like me, this story is for you!

Once you install an app you always open it with an ambition that comes with the question, What is there inside the app?. As soon as the app launches you lost your all enthusiasm that’s because of a MOTHERF*CKER login screen.

Besides of I am an iOS developer, also as…

As developers, we build apps for two main points, to make users happy and to earn money. These are related to each other. If users are happy, we earn money, but earning money is not equal to make users happy. …


Calling multiple functions in a sequence is complicated.


We have to build a chain in which its items communicate asynchronously. We can able to add new items to any position of the chain. PromiseKit is a tool which helps us to build the chain, in a structure.


Struggling in the network layer when sending requests and parsing responses.


Applying generic, modular network layer. The solution includes Generic Type, Completion, Singleton, Codable, URLSession and OOP(Object Oriented Programming) terms.

According to most of the mobile developers, the number one subject or layer or structure in mobile development is Network…


Wasting time when running tests.


Automating tests with Fastlane. It sends test results to a Slack channel to monitorize.

Every developer wishes to write bug-free code. They analyze cases, think about edge cases, write tests, etc. The part that we are interested in on all of these is test.



Hello from the other side! If you have not read the first story, here is the link.

As we remember, we separated schemes as debug, test and release. We did set the app name by the scheme. What can we do more?

What About Bundle ID?

Sometimes, we need to separate the app because…

I, as an iOS developer, face some situations like someone comes to me and says, “Hey, the app crashes, look at that” Assume that I have two versions installed from testflight or app store. I ask, “Which version is it?” and the answer might be “I don’t remember” I wanted…

Bir önceki yazıda VIPER’a ufaktan bir giriş yapmıştık. Önceki yazıya burdan ulaşabilirsiniz. Eğer VIPER’ı ilk defa duyuyorsanız lütfen önceki yazıdan başlayın.

Bu yazıda VIPER katmanlarını oluşturup her birinin detaylı açıklamasını yapacağım. Daha sonra ufak bir örnekle mimariyi daha rahat anlayacağız. Daha kolay anlaşılabilmesi için adım adım gideceğim. …

Merhaba, bu yazıda her iOS geliştirenin bilmesi gereken bir mimari olan VIPER mimarisini dilim döndüğünce anlatmaya çalışacağım. Yazının hedef kitlesi şu şekildedir; ortamlarda VIPER’ı duymuş ama ne işe yarar tam emin olamayan, VIPER ile ufak tefek 1–2 proje yapmış ama mantığını tam olarak anlayamamış ve ya anladığını pekiştirmek isteyen kişilerdir.

Yusuf Demirci

iOS Developer — yusufdemirci.dev

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