Testing network I/O code without accessing the backend is not easy. Here is how you can mock the backend by injecting code into the URL Loading System
“Do I need a Mac to program iOS?” – for a long time there is only one answer: “Yes”. But this is no longer true, as there are many ways to program iOS – including on itself. Yes, you can make apps on the device itself. Read this article to find out how.
When a table view asks for a cell, often images in the cell isn’t yet available and needs to be fetched from a server – thus the cell gets a placeholder image. But static placeholders doesn’t look as good as animated ones. Unfortunately cell views gets scrolled off and re-used which makes managing animations challenging.
Architecting applications to meet today’s challenges and be ready for tomorrow’s problem is not an easy feat. The principles of clean architecture may be sound, but separating the signal from the noise is tough. Here is a sample VIPER project for iOS that you can tinker to learn about the principles of clean architecture.
Compartmentalizing functionalities within an app to improve its maintainability is difficult. More so when you’re not well versed with software architectures and other software engineering principles. What if you can confidently structure your app to be resilient and adaptive to change?
You try to reduce the application’s size by sharing resources in framework bundles and creating symbolic links so that other frameworks can find and use those resources. However this fell at odds with code signing (and probably notarization). Here is how to share code and resources in frameworks the right way.
When you’re just starting out in iOS development, there are so many options in which to place a button. There’s storyboard, auto layout, and even SwiftUI — that’s just scratching the surface. How should someone new to programming the platform chart a learning path?
Writing a web app is one thing. Deploying it on the global Internet for millions of users is another thing. Keeping it secure from prying eyes, competitors, and general baddies is yet another challenge. How can you do all of this in a startup where there are a billion of other things in your head beyond running a site?
The data persistence stack that is an appropriate decision today may not be an optimal solution when your app has grown. You would need to design your app to withstand the test of time and be extensible for as it grows. Read more to learn how.
Lighting talk on creating unique random identifiers yet stay within 63 bits of a long integer.
Make thousands of unique 64 bit identifiers at every millisecond without the need of global synchronization.
Programming Cocoa apps with Swift has it’s many caveats. Many of these are derived from the fact that there are two language runtimes at play, the incumbent Objective-C runtime which is used by system frameworks and the Swift runtime as a newcomer. Here is one hard lesson learned (and workaround) when dealing with state restoration problems in a Swift app.
How to safely try out Apple’s new machine learning libraries without bricking your main machine. Goodbye beta blues, hello new ideas!
Futures/promises are great to coordinate persistence and views to ensure responsiveness in today’s native apps. However bringing thousands of lines of foreign code just to have this small functionality may not be cool. Here’s a hundred-line implementation of futures/promises in Swift 3.1