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 a user, I really hate login screens. I must not give an email, mobile phone, nickname, password without seeing the inside of the app.
You can use the Keychain via a keychain manager class to store a unique identifier for each user. That provides you to not ask for any email, password, or mobile phone. …
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. So, the main thing we have to focus on is making users happy, and then money will come eventually.
There are plenty of ways to make users happy, and I am not going to tell their in this article. I am focusing on how we can be aware of it. I think the first data we should look at it is AppStore reviews. If users are unhappy or angry about your app, they would be cruel in their reviews. Otherwise, they would enrich you. …
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 Layer. A lot of mobile applications work online then the Network Layer is the hearth of them. The point is, how can we build a strong network layer against even for complex applications? Let’s find the answer!
We are going to build a service manager, request and response classes, a middle layer to communicate between controller and service calls and data models. All are very similar for every developer but the difference is our response classes are generic. …
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.
Fastlane is an open-source platform aimed at simplifying Android and iOS deployment. Fastlane lets you automate every aspect of your development and release workflow.(source: https://fastlane.tools)
Fastlane is a quite useful tool for mobile developers. It handles running tests, uploading screenshots, signing code, distributing via Testflight, even publishing to the App Store.
In this article, we are going to see how to run tests via Fastlane and send the test results to a Slack channel. …
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?
Sometimes, we need to separate the app because we would like to watch analytics by released or tested apps. Dividing the app helps us to diagnose what we are looking for.
Run the app with three different schemes and you see 3 different apps.
We have created 3 different app icons. …
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 to solve this problem without asking any question to the person who comes to me. Also, I wanted to add some controls where the app installed like testflight, app store or via Xcode. I wished to separate the versions with configuration. The answer is schemes.
When creating a new project, debug and release configurations comes automatically. …
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. Bu yüzden lütfen atlamadan okumaya özen gösterin.
Basit bir rehber uygulaması yapacağız. Ana sayfada bütün kişiler olacak. Herhangi bir kişiye tıklandığında onun detayına gideceğiz. Ana sayfamız için VIPER mimarisini kurduğumuzda sınıflarımız şu şekilde olacaktır. (Ana sayfa adı olarak “Home”u kullandım)
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.
Geliştirdiğimiz her projeyi belirli bir mimari üzerine kurarız. Seçeceğimiz mimarinin kolay entegre edilebilir ve ek geliştirmelere uyumlu olmasını isteriz. Aynı zamanda kodumuzun okunabilir olmasını ve arkadaşlarımıza gösterdiğimizde havalı bulmalarını bekleriz. Kısaca biz yazılımcılar bi mimariden çok şey bekleriz.
Merhaba ben Yusuf. Beykent Üniversitesi yazılım mühendisliği bölümünü bu ay içinde son 2 dersimi vererek inşallah bitiriyorum :) Sektöre üniversite 2. sınıfın sonunda Android yazarak girdim. 1 sene Akbank Direkt uygulamasının ekibiyle birlikte Android yazdıktan sonra iOS platformunda geliştirme yapma kararı aldım. 1,5 senedir iGones Labs’de iOS geliştirmekteyim. Yazılım sektörüne erken girdim ve bunun bana çeşitli artıları oldu. Öğrencilik hayatı ile yazılım sektörü arasında mekik dokuyarak çok değerli tecrübeler edindim. Bu nacizane tecrübelerimi yazılım sektöründe kariyer hedefi olan öğrenci arkadaşlarıma aktarmak istiyorum. Yazılım sektörünün iş hayatına nasıl hazırlanılması gerektiğini kendi bakış açımdan yol rehberi tadında anlatmaya çalışacağım.
Microsoft mu Apple mı, mobil mi web mi, özgür yazılım mı parayı verir düdüğü çalarım mı? …