Posts

How to Secure iOS App Secret Data With Vault

Image
Working on mobile apps, as developers, we interact with APIs all the time. In order to connect to these APIs, we use API keys. These API keys are very important as it maps/identifies us as a unique user of the system we are trying to integrate with. We always need to make sure these API keys are not accessed by unintended users. Rate limiting, quota control, and security are some of the reasons why API providers have API keys.  One of the good security practices is not to save secrets and API keys as part of your source code. But if we don’t put them in the source code, how will our code know about them and consume it. Well, the answer to the problem is using a security tool called “ Vault ”. There are various vault options to store secrets, we will talk about the Hashi Corp Vault System . In this article, I will walk you through how to integrate vault with an iOS app.  Prerequisites  Setting up Vault  —  Please set up your vault following the instructions mentioned in the link. Write

9 Things To Make Mobile App Successful

Image
Mobile apps are everywhere today, there is an app for everything you can think of. And there are more getting created every single day!! In this situation how do we make sure our app is successful? Join me in this article as we explore the 9 things to make your next app successful…. The number of smartphones to be used around the world by end of 2020 is predicted to be 3.5 Billion. Users spend 90 percent of that time on apps.  There are over 2.7 million apps in the Google Play store and 2.2 million in the App Store. The majority of users use 9 apps per day and 30 apps per month. Source. https://techjury.net/blog/app-usage-statistics/ As you can see with so many apps in the market which are all competing to gain user's attention, competition is very harsh. That's why we need to think about our idea and understand its use for our users. So, here goes our list of things that are useful in making a mobile application successful. 1. Try to solve a basic problem Always think of your

How to use Builder Design Pattern in Swift?

Image
As a developer, we should always follow a design principle that acts as a guide to structuring our code so that it is modular,  easy to read, easy to understand, and scalable. In this article, I will be discussing behavioral design pattern, how to use them, and their implementation in Swift. Read on! Categories of Desing Pattern Design Pattern falls mainly under the following categories 1. Creational 2. Structural   3. Behavioral In this article, we will cover the Builder Designer Pattern which is a type of Creational Design Pattern Builder Design Pattern Why? We create objects for our classes to leverage the functionality a class provides. Sometimes object creation is simple and can be done by the simple initializer. Other objects might have complicated requirements, for eg, it may require a lot of arguments to initialize the object, which in my opinion is too cumbersome and non-productive. Also, we might need to mix and match these params for initialization. In these cases, we should

How to use Sets in Swift?

Image
Set are basically a collection of items that aren’t ordered but are unique. Let's go over different operations/functions that Swift has when it comes to Sets. Creating a Set Initialize an empty set Sets  in swift are of a generic nature so they can hold any type if it conforms to Hashable Protocol. For the simplicity of this article, we will use String and Int. var fruits = Set<String>() Initialize a Set with elements We can also initialize a set with some default elements. var fruits:Set<String> = ["apple","mango","guava"] Initialize a Set with a capacity We can set a space pre-allocated for minimum number/capacity var fruits = Set<String>(minimumCapacity: 2) Inspecting a set Check for empty Since  Set  conforms to  Collection Protocol  we can use a check for isEmpty. var fruits = Set<String>() fruits.isEmpty //true Count We can easily get the number of elements in our  Set  by accessing the count property. var fruits:Set&