//
archives

Sasmito Adibowo

Sasmito Adibowo has written 162 posts for Walled Garden Farmers
spinner-cell@2x.png

How to Maintain Loading State in Cells

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.

viper-sample-app@2x.jpg

Clean Architecture with VIPER Sample Project for UIKit

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.

viper-splash@2x.png

How to Implement VIPER Clean Architecture in an iOS App

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?

app-store-gate-guard@2x.jpg

How To Pass App Store Review: Guideline 4.2 Design – Minimum functionality

Delivering a “minimum viable product” won’t be viable if your app isn’t going to pass App Store Review. Is your app “good enough” for the App Store? Is it appropriate for the App Store and not better off in the web? Read on to ensure your app pass the gates of App Review.

ice-cream-samples@2x.jpg

How to Provide Free Time-Limited Trials in the App Store

Providing “lite” version of apps had been the strategy to provide free trials since the dawn of the App Store. However these reduced-functionality apps fall short on demonstrating its full capabilities, which in itself be ineffective in enticing the user to buy. Fortunately that is no longer the only option available for App Store apps.

library-bookshelf@2x.jpg

Code Signing Failure due to Symlink Folders

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.

swift-ui-design-2@2x.jpg

How Newbies Should Start Learning iOS User Interface Programming

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?

point-golden-shopping-cart@2x.jpg

Modeling In-App Purchases Inventory

There are four types of in-app purchases in Apple’s App Store, with their own unique ways to manage it. The challenge is how to isolate the intricacies of these product types from the rest of the application. Otherwise a move from non-consumable in-app purchase to a subscription type would involve a major rewrite. Learn how […]

tap-to-purchase@2x.jpg

Time-Limited in-App Purchase

What if you need to create a “holiday special” in-app purchase? The item would only be available at a limited period some time in the future. However those who have bought the item would be able to use it beyond the purchase-able period, including restoring purchases should they need it.

disk-exposed.jpg

Notarizing Disk Images for Developer ID Distribution

Do you distribute your macOS apps as .zip files? That has been quaint since Sierra. You should package your apps as signed and notarized disk images instead. Otherwise Catalina would say that your package is suspicious. However creating disk images is a rather involved process. Read on to find out more.

upload-hand@2x.jpg

Selecting iTunes Provider for Notarization

When your Apple ID is also used for as a publisher for Apple Books or Apple Music, you may hit a snag when trying to notarize your Developer ID application. Here is how to fix it.

bundle-identifier@2x.jpg

Invalid Bundle Identifier Error at Notarization

Notarizing your app? Make sure you name your bundles correctly beforehand. This includes the main app, extensions, and any sub-bundles inside it.

senior-spice-store@2x.jpg

All About In-App Purchases

There are four types of in-app purchases in Apple’s App Store, with their own unique ways to manage it. Learn how to manage an app’s inventory of purchases, get the code base resilient to changes in the business side, and tips on how to implement some more esoteric business models as in-app purchases.

borobudur-sunrise@2x.jpg

Architecting a Scalable Web Application

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 […]

Categories

Archives