Universal Linking for your iOS App

Despite of Deep Linking, Universal links can link a website domain with your mobile app without using any redirection on website. Your users can go through your app by clicking a https url, directly. (Directly, means your users don’t go Safari before opening of your application.) But how? iOS operation system can link mobile applications with domains. A mobile application can be link up to 30 domains.

To do so:

  • You need to create a contract file (in json format) that stores mobile app information on server side. (You need to specify )
  • Put this apple-app-site-association file under .well-known directory. You can this on Safari, by typing url https://DOMAIN_URL/apple-app-site-association . If you can reach this file, everything is OK and you’re ready to continue configurations on mobile project side.
  • Turn of Associate domains for your application. This will create an entitlement file and you need to update your provisioning profile. If you’re using Continuous Integration.

Read More »

What happened to Macros in Swift? Using Xcconfig files and Custom Flags for Clean Project Settings

Macros were cool, they are already cool for Objective-C developers. (If you have an Objective-C project, this article is for you.) But in Swift, you should choose a different way to manage your project configurations. Because they are not available anymore.

But we have other cool things like xcconfig files and custom flags.

1 – Lets start with Config files…

You can use config files to define project variables and set different values for these variables under different project schemes.Read More »

Styling Views on iOS

What if I say you can use styles in iOS?

Yes, we can steal some features from Android for iOS.

Font family, size, text color, background color, background image .. Selecting all style attributes from Interface Builder over and over again can be a pain in the ass.

So, how can we do this? What are the benefits of using styles in iOS?

One day, your boss, your client or even you “MAY” want to change design of a part of your iOS app or even whole application. Your red buttons now should be green and non-bordered.

One day, Apple “MAY” show up with different font family on new iOS version and you can’t use this system font as default, but you realise some and big part of your labels, buttons are set from Interface Builder as system.Read More »

Scripts we love – Xcode builds life savers

Don’t write long scripts on Jenkins or any other continuous integration system for your iOS builds. Xcode schemes give you lots of power to control your configurations and also give you space to write your project specific and scheme specific scripts. If you didn’t glance at my writings about build configurations and custom schemes. Check them out before continue reading: Build Configuration and Custom Schemes and Xcode Command Line Tools and Automated Builds

Screen Shot 2016-05-19 at 19.31.39
Select Scheme and Edit (Figure 1)

If you read previous articles on custom schemes, you’ve already realized that you don’t have to write scripts for all build variables. Special config files (.xcconfig extension files) do the duty for you.

Read More »

After Fabric IO upgrade, what did I experience in Jenkins build server?

And .. What did I learn about this process?

Upgrading Crashlytics to Fabric IO framework, is not very painful at all, unless you don’t use Jenkins build server for your build. In automated builds, I did stuck in situation like dSYM files weren’t uploaded automatically in every build.

So what are dSYM files ?

dSYM files store the debug symbols for your app. Services like Crashlytics uses these files to replace the symbols in the crash logs with the appropriate methods names, so it will be readable and will make sense.Read More »

Implementing Home Screen Quick Actions, Dynamic shortcutItems – iOS9 Feature (Part 3)

My previous post was for giving  the general information on implementing home screen quick actions by the way of using static shortcut items in the info.plist of project. To read general concept and methods, this way please.

Despite of the static shortcut items can not be changed regarding to different cases, dynamic shortcut items can be changed case by case in any wherever or whenever in application running cycle. Read More »