Sign up for our Awesome weekly Newsletter.

 

  • Hand-curated with the best of the week iOS development News, Tools, Code snippets, Techniques, Productivity hacks, Tutorials, and Videos.
  • One email keeps you in the know
  • Delivered straight to your inbox every Friday morning
  • Completely FREE

 



Demystifying iOS Provisioning: Profiles, Certificates & XCode!

Provisioning is the process by which you can get your apps outside of the iOS simulator and move them onto production devices through direct installation or App Store distribution. Provisioning is an art and for new developers, this process can be a bit overwhelming.

Check out this 2 part series of articles which really dig deep into the concepts and provide you with step by step instructions to get started.

Source: Demystifying iOS Provisioning Part 2: Creating and assigning certificates and profiles

Refactoring: How to deal with technical debt and save your sanity!

Refactoring code may not have any innate business value ( an exception being small performance optimization) and your business won’t immediately get better once refactoring is done. But refactoring is an essential part of software development and frequent refactoring is what keeps the code well oiled to prevent it from going obsolete.

Also, if you are working as part of a team and your team diligently conducts code reviews, then just the fact that your code will be assessed sends signals to the brain making you extra aware to maintain your code clean and keep it well optimized.

An ordered and clean environment, one that is maintained, sends the signal that the area is monitored and that criminal behavior is not tolerated. Conversely, a disordered environment, one that is not maintained (broken windows, graffiti, excessive litter), sends the signal that the area is not monitored and that criminal behavior has little risk of detection.

Check out this article linked below to find out how refactoring can greatly reduce your technical debt.

Source: How to deal with technical debt and save your sanity

NSObject: The Inheritance Curse!

Here is an article that provides a whimsical take on the evil that is NSObject. If you use classes that inherit from UIKit classes then you directly or indirectly inherit from NSObject.

There are ways to stop this inheritance madness in your classes by marking them as final so it cannot be subclassed. It allows some compiler optimizations, and also makes the code more consistent by removing features that can be achieved in a more Swifty way like code reuse with protocol extensions, generics or composition and polymorphism with protocols.

Read on at the link below to find out more tips:

Source: The Inheritance Curse – Swift Programming – Medium

Design Tools: Prototype & Showoff your app using this tool – Figma!

Figma is a popular design prototyping tool which has recently evolved from v1 to v2 with the biggest improvement being the ability to prototype and present the design all from one interface. Figma also comes with a new developer handoff feature. Developers can now have a view-only access to files giving them the ability to see things like color codes, the spacing between elements and CSS details making it quicker to implement the design through code/storyboard.

In Figma, the prototype is a living document rather than a dead artifact.

Give Figma 2 a try at the link below.

Source: Figma 2.0: Now with Prototyping and Developer Handoff

Dev Tools: Introducing Paralayout – An easy to use alternative to Autolayout!

Apple has made tremendous improvements to Autolayout (Apple’s constraint-based system for specifying UI) since the last few years. While technically impressive, in practice it’s more difficult and takes longer to implement especially if you have to modify and animate the layout dynamically or if you want to performance tune the UI. Square’s Cash iOS team have embraced a different philosophy that prioritizes development speed, correctness, readability, maintainability, and performance and they call it Paralayout, a 100% Swift open source library to programmatically code layout rules.

Read on at the link below to find out more.

Source: Introducing Paralayout – Square Corner Blog – Medium

Tutorial: The Complete Understanding of Swift Delegate and Data Source!

If you are new to Swift development, understanding the delegation pattern can be a difficult topic to wrap your head around. Delegate and Datasource patterns are used quite liberally in Swift especially if you are using components like TableViews and CollectionViews and hence it’s imperative that you master the topic. 

Check out the tutorial linked below to get you started on the subject:

Source: The Complete Understanding of Swift Delegate and Data Source

iOS 11 Beta 3: introduces SFAuthenticationSession to seamlessly authenticate to a web service!

If you have been using third party OAuth libraries for authenticating a user against web services then this news will excite you. With iOS 11 Beta 3, Apple introduced a new class called SFAuthenticationSession to seamlessly authenticate against a Webservice without the need to launch a SafariViewController. Behind the scenes, it uses the session data from Safari browser and this same session data can be used across apps to offer single sign functionality.

Check out the article linked below to find out how to incorporate this new API to authenticate a user against a web service easily using the new API.

Source: iOS 11, Privacy and Single Sign On – The Traveled iOS Developer’s Guide – Medium

iOS 11: Stack View Custom Spacing!

When Apple introduced StackViews in iOS 9 it quickly became everyone’s favorite control because it was easy to use and also due to the fact that it required fewer constraints to get it going. But for all its power there was one piece missing which was the ability to set a variable spacing between arranged subviews. All this is changing with iOS 11 which introduces a small tweak to allow variable spacing among its arranged subviews. The only caveat is that it can only be done programmatically and not through interface builder.

Read on at this tutorial link below to learn how to implement one:

Source: Stack View Custom Spacing

Why App Preview Videos Are Vital in iOS 11!

With iOS 11, Apple is planning to introduce a slew of exciting new changes to the App Store and one big feature that stands out is auto playing app preview videos.  Video previews will become extremely vital for developers going forward given how prominently placed app video previews are in the app store and well they portray the capabilities of your app (compared to plain screenshots). Also, if your app listing doesn’t have preview videos they will stand out like a sore thumb.

Check out this excellent article that covers in depth the benefits of including app preview videos in your app listing and some great tips.

Source: Why App Preview Videos Are Vital in iOS 11 | App Launch Map

Catching Leaky View Controllers Without Instruments!

Leaking a View Controller could turn out to be a huge issue in your app due to the fact that they are pretty big! Debugging and finding a leaky view controller using Xcode instruments is one way to catch the leak but this normally happens during a release phase and needs to be repeated everytime a new release is made. Do you wish you could catch these leaks early on in the development cycle?

Now you can — Check out this fantastic library written by Arek Holko who has created an extension that you can quickly incorporate into your code and discover leaky view controllers in a snap.

Source: Catching Leaky View Controllers Without Instruments

Xcode: Asset Catalog Changes in Xcode 9!

Apple launched a new version of Xcode at WWDC 2017 and was praised by many developers for all the great enhancements made to the Editor. One of the less talked about features is the ability to use PDF Vector data at runtime so that your images can be scaled up or down without the images getting distorted. Previously with Xcode 8, vectors were usable in the asset catalogs, but Xcode would compile down the vectors into static images at a set size which made them less scalable at runtime. Check out this great article by Cary Bohon who introduces all the great new asset catalog changes added in Xcode 9.

Check out this great article by Cary Bohon who introduces all the new asset catalog changes added in Xcode 9.

Source: Asset Catalog Changes in Xcode 9