Category Archives: iOS

SOLID PROGRAMMING – LISKOV SUBSTITUTION PRINCIPLE

Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of the program (correctness, task performed, etc.). More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strongbehavioral subtyping, that was initially introduced by Barbara Liskov in a 1987.

The Liskov Substitution Principle is the third of Robert C. Martin’s SOLID design principles. It extends the Open/Closed principle and enables you to replace objects of a parent class with objects of a subclass without breaking the application. This requires all subclasses to behave in the same way as the parent class.

Therefore:

Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.” – Robert C. Martin

A violation of this behaviour would imply your code is not SOLID and it may be prone to malfunctioning.

An easy way to generate your color palette for Android and iOS

material.io is a free, no trick, easy grab, palette tool that will allow you compose your color harmony for Android and iOS in a very simplistic way.

This website is based on Material Design, which is a design language developed by Google. Very popular across the board.

https://material.io/resources/color here you may find a large array of colors and easily generate primaryColor, primaryLightColor, primaryDarkColor, secondaryColor, primaryTextColor, etc.

On top of that, it will allow you to download straightaway a colors.xml or colors.xml file with all the constants well defined, which is pretty convenient. Ready to drop into your Android Studio or XCode project.

Fancy trying? Take a look at it!

Locate real Watch Icons AssetS

It’s sometime confusing for new developers (or rather new Watch iOS developers) to find exactly where to set the Watch Icons. Well… it’s actually pretty simple.

It may be a bit unclear, because if you use a standard XCode template App, you may find two Assets.xcassets. The first would be under the WatchKit App and the second one under the Watch Kit Extension, usually where you insert your code logic.

Continue reading Locate real Watch Icons AssetS

iOS app submission and beta review process TIMES

  • UPDATE JULY 2019

TestFlight review times:

  • First upload build: takes 36h average.
  • Updates: take from 6h to 20h average for Build.

Weekends are off.

Submissions for mobile apps for iOS are subject to approval by Apple’s App Review team, as outlined in the SDK agreement, for basic reliability testing and other analysis, before being published on the App Store.

Applications may still be distributed ad hoc if they are rejected, by the author manually submitting a request to Apple to license the application to individual iPhones, although Apple may withdraw the ability for authors to do this at a later date.

An easy way to make MVC great again!

If you are a professional iOS or Android developer and you explicitly manifest your love for MVC as base architecture for your Apps, you are a leper and would be ostracized. 

Nowadays the MVC is frowned upon and not in the favor of altruistic developers.  

Viper, React, MVVM, those are good, MVC is bad and crappy… 

Truth or myth? 

Well, MVC is old indeed and certainty it got its flaws, most common of all, the feared “massive view controllers”. 

 But although the new aforementioned architectures bring to the table some solutions to MVC intrinsic issues, they do have some flaws as well, yeah “nobody is perfect”.

MVC is great, programmers are just too careless.

Continue reading An easy way to make MVC great again!

Buddybuild vs Xcode Server best Continuous Integration system. Current pick, security, risks, maintenance

I am currently setting up a Continuous Integration system for a complex iOS project. Ultimately, I came down to these two options, as I want to stay in Apple’s realm.

This is no easy fly question, I have read a lot about the matter, but the evil is on the details, I want to waive all the pros and cons before moving forward and start a complex implementation.

Continue reading Buddybuild vs Xcode Server best Continuous Integration system. Current pick, security, risks, maintenance