Category Archives: iOS

Mobile Automation with Appium: A Detailed Guide for Testing

Mobile Automation with Appium: A Detailed Guide for Testing

In today’s mobile-first world, ensuring the quality and reliability of mobile applications is crucial. Appium has emerged as a powerful tool for automating mobile app testing across iOS and Android platforms. This guide will walk you through the essentials of mobile automation with Appium, helping you streamline your testing process and improve app quality. What Continue Reading »

Flutter Blog InnovationM

Flutter 2024: Revolutionizing Cross-Platform Development

What is Flutter? Flutter, an open-source UI software development kit created by Google, allows developers to create natively compiled applications for mobile, web, and desktop from a single codebase. Since its launch in 2018, Flutter has been evolving rapidly, and 2024 marks another significant leap forward in its capabilities and user experience. Key Features of Continue Reading »

iOS Force Update

In iOS apps, it’s important that developers create a way to check the user’s app version and force the user to update the app. This solution not only requires code handling at the app level but also in the app backend. This solution will help in migrating all users to new functionality smoothly.   The default Continue Reading »

MultiThreading in iOS

MultiThreading – Multithreading means multiple tasks at the same time and the tasks which are being executed on what are Threads. Or we can say – In our app when we try to execute multiple tasks at the same time then our app UI will freeze because our mobile-only has 1 CPU. So we can Continue Reading »

Changes in XCode 12 and iOS 14

WWDC,2020 which was held in June this year. Apple has announced all the new features and improvements that will be available for the developers all around the globe. As expected, many new features and advancements were rolled out. This has created a lot of excitement in the developer’s community. I will discuss the changes made Continue Reading »

Upload dSYM file manually into Firebase for crashlytics

Most of you would be familiar with Firebase integration in your apps, Firebase helps developers by producing human-readable crash reports. But sometimes, this fails due to dSYM files uploading failure. Debug Symbol files (dSYM) files are required by Firebase Crashlytics to give the app developers a human-readable crash report on its console. These dSYM files Continue Reading »

DynamicLink

Ques: Why we use the Dynamic link? Ans: We use Firebase Dynamic links instead of Deep Link Because there is a limitation in the deep link that is when we click on an url & if we have not installed that app then the link is not working, in other words, it is only working Continue Reading »

Swift Memory Safety

  Memory Safety in Swift  Swift monitors risky behaviour that may occur in the code. For example, Swift ensures that variables are introduced before they’re utilized, likewise, memory isn’t accessed once its deallocated, and array indices are checked for out-of-bounds errors. Swift additionally guarantees that multiple access to a similar region of memory doesn’t conflict, Continue Reading »

Offline data handling in iOS

Why Offline handling? Offline data handling in iOS apps isn’t an extra feature anymore. Users want and expect it as a default feature in apps. So it is necessary to save data in our apps.  Data from researches and surveys show that users abandon pages if they take more than 3 seconds to load. This Continue Reading »

Multi-Threading

Q= What is multithreading? Multithreading is the most important concept, every developer must know about them. When we try to execute multiple tasks at the same time then our Ui get stuck and wait for another task to be completed. Because our iPhone has only one CPU and it can perform only one operation at Continue Reading »

Testing via Charles proxy

Charles Proxy is a cross-platform HTTP debugging proxy server application written in Java. It acts as a middleman between the local computer and the internet. It enables the user to view HTTP, HTTPS and enabled TCP port traffic accessed via the local computer.  It simply enables the user to view/ monitor network calls and helps Continue Reading »

Swift Generics

Generics are simple yet one of the most powerful features of Swift programming language. Generic code enables us to write flexible and reusable functions that can work with any data type. Most of the Swift standard library is written using generics code. We have been using generic in our projects for a long time without Continue Reading »

Fire base Environment

Multiple Firebase Environments(GoogleService-Info.plist) in iOS

A common scenario in application development is to have different environments, such as Debug, QA, Production… can be resolve via Multiple Firebase Environments. Requirement of having Multiple Firebase Environments : While your app is in development mode, or while it is being tested by the QA department, some “data pollution” could reach Firebase servers. Imagine your application is going to use Firebase Continue Reading »

dSYM File Error

Firebase Crashlytics Integration In iOS Swift (dSYM File Required Problem Resolved)

Introduction: Nowadays, Firebase Crashlytics is a very important part of our projects to monitor crashes of our applications that may be an android or iOS application. For the time being it is an unbeatable tool to log your day to day crashes for each user of your application. It provides good documentation and step by Continue Reading »

Offline Content Storage and Sync with Server when Modified

What is If-Modified-Since? The smart and efficient way to get images, icons and more from your server. If-Modified-Since is an HTTP header Which is sent to the server as a condition. If the content has been changed on the server, then the server responds with 200 status code with the whole requested document. Else If Continue Reading »

Paytm Integration in Swift

This blog is about how to integrate Paytm with the iOS App. Steps to integrate paytm via SDK 1. Import the library : A library can be imported by two process : a) Via pods Add pod ‘Paytm-Payments’ in the pod file. Run ‘pod install’ from terminal. Now open the xcworkspace Go to “Link Binary With Continue Reading »

End-User Testing

How to Make Each Round of Testing Count?

1. Lets list things we need to discuss:- Set our goal clear. Understand value of feature for End-User. Keep a track of all the test scenarios and new findings. After testing check have we covered all the checkpoints. UI checkpoints. Last but not least, give app/web_app to another tester who is not a part for Continue Reading »

Firebase Authentication in iOS

  Firebase Authentication in iOS When You want to create a user based app where you want to feature or activity depends on Users. I can assume, you need User Login, Forget password and Registration screen for user-related interactions. In most of the cases, Login/Registration User functionality doesn’t belong to Client end (i.e. iOS or Continue Reading »

Local Authentication in iOS

Local Authentication in iOS In a Nutshell, Local Authentication in iOS is a framework which we use to validate genuine user through passphrase (i.e. passcode) or TouchID. TouchID and RetinaID belong to biometric criteria.  So, If you have got a requirement to integrate a User Validation then use this Local Authentication. Or, You can also Continue Reading »

All About SQLite

  What is SQLite? SQLite is an open source, zero-configuration, self-contained, stand-alone, transaction relational database engine designed to be embedded in an application. SQLite is an embedded relational database management system used in the mobile applications. SQLite is different from other SQL databases because unlike most other SQL databases, SQLite does not have a separate server Continue Reading »

SOLID: Dependency Inversion Principle

Dependency Inversion Principle Previous Principle: Interface Segregation Principle High-level modules should not depend on low-level modules. Both should depend on abstractions. When designing a system we have low level classes (classes which implement primary operation like: Network access, Disk access, Database access) and high level classes which have business logic. High level classes are dependent on Continue Reading »

SOLID: Interface Segregation Principle

Interface Segregation Principle Previous Principle: Liskov’s Substitution Principle A client should never be forced to implement an interface that it doesn’t use or clients shouldn’t be forced to depend on methods they do not use. In OOD we provide abstraction to module using interfaces, so we create an interface for a module and an implementation class. Continue Reading »

SOLID: Open Close Principle

Open Close Principle If you have not read Single Responsibility Principle Start from here Single Responsibility Principle Classes should be open for extension, but closed for modification This principle states that any new functionality can be added in a system with minimum modification in the current code. Means the system should be open to additions but it should Continue Reading »

SOLID: Single Responsibility Principle

Object Oriented Design Principles A good design is most important step of Software Development life cycle, and to have a good design we must follow some set of guidelines. According to Robert Martin in “Agile Software Development: Principles, Patterns, and Practices” there are 3 main reasons of bad design that should be avoided: Rigidity – System Continue Reading »