What’s the general thought that comes to any iOS Developer’s mind when they think of background tasks?

That’s right, you would immediately think of the above API in UIApplication to extend the time of your app to run on background in order to complete your uploads/downloads. But what if the download/upload size if huge, let’s say for 500MB for example, and you are on LTE/3G connection. Would this still work? The answer is that there is no guarantee that your upload/download would complete, it is highly probable that your app might be killed by the system due to various…

Photo by Olav Ahrens Røtne on Unsplash

We here at Fyusion Inc develop SDK for 3rd party clients. I am specifically going to talk about developing iOS SDKs in this article. Developing an SDK comes along with its own challenges as follows —

  • Release process
  • Documentation
  • Minimal 3rd party frameworks usage
  • Tracking logs / Analytics
  • Minimalistic public APIs
  • Continuous Integration
  • Test Apps

Release Process

We started developing our SDK in 2018. In the early stages and due to initial close deadlines, we decided to ship our SDK’s as a normal zip file. The zip file would contain the framework generated via the XCode build system and any API documentation…

Photo by Danielle MacInnes on Unsplash

In my last post I covered topics like Memory Management, Retain Cycle, Design Patterns, and Property attributes, there are several other topics that I would like to cover in this article:

  • Various multi-threading techniques
  • Networking
  • App lifecycle

Various multi-threading techniques

It all started with performSelector: variation of methods that iOS provides. You could use it as follows to run a method on a specific thread:

But the above mechanism comes with certain limitations like the ability to pass only one argument along with

selector. It also does not play really well with ARC if the selector being passed is selected at runtime…

In my past years of iOS Development and interviewing different iOS candidates, I have realized that there are certain topics in iOS that everyone should know about. I will like to go through them briefly in this article:

  • Memory Management (ARC, how does ARC work?)
  • Retain Cycle
  • Design patterns being used on an everyday basis
  • Different property attributes and how do they work (Objc specific)

Note: I will go through each of the above section in brief, it is possible that I might miss some points as well. …

The Problem ?

Well, I needed a collection view along with titles that move in sync. There are a lot of libraries present for solving this use case. But the tricky part here is that I wanted the above in a circular/cyclic fashion. There are some library present for that too, but they were not able to solve my use case.

What to do now ?

The only option left for me was to write one of my own. So I wrote it :).

Solving the problem

Well the basic trick to be used to create a circular collection view…

Jai Chaudhry

Head of iOS Engineering at Fyusion Inc

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store