Tips How to Explore Private Framework with iPad Swift Playground App? Swift Playground [https://apps.apple.com/us/app/swift-playgrounds/id908519492] app is the best way to explore iOS private APIs. You can browse iOS Private Headers for latest version from here. [https://developer.limneos.net/]....
Tips An easy way to maintain UserDefaults key You can use #function literal to get the property name as UserDefault key. In the following example, #function will get replaced by accessToken. Be aware, changing the property names may break functionality for the existing users. extension UserDefaults { var accessToken: String? { get { return string(forKey: #function) } set { set(newValue, forKey:...
Tips How to improve the Swift project build time? The Xcode 9.2 release notes mentioned an experimental feature that may improve Swift build times, enabled with the "BuildSystemScheduleInherentlyParallelCommandsExclusively" user default. defaults write com.apple.dt.Xcode BuildSystemScheduleInherentlyParallelCommandsExclusively -bool NO Note: According to the release notes it's an experimental feature which can "increase memory use during the build"...
Interview Zomato iOS Interview Experience and Question Round 1 - Profile Screening Zomato HR contacted me via LinkedIn. After expressing my interest in the position HR set up a quick phone call. In this call, HR told me about the Zomato Z products and it's existence. HR told me about different kinds of Z product (Zomato Product)...
Interview Grab iOS Interview Experience and Question Round 1 - Profile Selection My profile selection was very unique experience for me. Grab Head of Engineering message me on LinkedIn about his experience and about the massive impact, results through innovation and collaboration, continuous learning and growth in the company. Then he told me about Steve (and ex-Google...
Interview GoJek Address Book Problem Assignment for iOS iOS Contact App build for Gojek iOS Developer interview process. Disclaimer This solution is for reference purpose. Please, do not copy-paste it. Companies are smart enough to catch if you are cheating. If your solution got rejected due to this we're not responsible for it. GO-JEK iOS Problem Statement In...
Interview GoJek iOS Interview Experience and Question Round 1 - Profile Selection Go-Jek HR contacted me via LinkedIn. After expressing my interest in the position HR set up a quick phone call. In this call, HR told me about the Go-Jek products and it's existence. Also, HR asked me about my experience and some basic details about...
iOS Best way to check if your iOS App is running on a Jailbroken Phone Sometimes, for security reasons, we need to check if our iOS app (like banking apps, OTT apps, etc) is running on a jailbroken phone or not. Most people suggest, check if "Cydia" is installed or not. But there might be some chances that the device doesn't have "Cydia" installed or...
Swift Create a Library using Swift Package Manager - Stepwise Tutorial The Swift Package Manager (SPM) is a tool for managing the distribution of source code, aimed at making it easy to share your code and reuse others code. Swift Package Manager provides a convention-based system for building libraries and executables, and sharing code across different packages....
Swift How to use SwiftLint with Xcode to enforce Swift style and conventions? SwiftLint [https://github.com/realm/SwiftLint] is a tool to enforce Swift style and conventions. Keeping a codebase consistent and maintainable in a project with a team of developers sometimes may be very hard, different conventions and styles, plus different levels of experience with the language across developers may result...
Xcode What's new in Xcode 10? [Updated for 10.1, 10.2 and 10.3] Xcode is the complete developer toolset used to create apps for Apple TV, Apple Watch, iPad, iPhone, and Mac. The Xcode development environment bundles the Instruments analysis tool, Simulator, and the OS frameworks in the form of tvOS SDKs, watchOS SDKs, iOS SDKs, and macOS SDK. * Jump to "What's new...
Swift Extensions by Example - Swift Programming Language 1. Introduction * Extensions add new functionality to an existing class, structure [https://developerinsider.co/classes-and-structures-by-example-swift-programming-language/] , enumeration [https://developerinsider.co/enum-enumerations-by-example-swift-programming-language/], or protocol type. * This includes the ability to extend types for which you do not have access to the original source code. * Declare extensions with the extension keyword * Format of...
Swift Initializers and Deinitializers - Swift Programming Language 1.Initializers * Initialization is the process of preparing an instance of a class, structure [https://developerinsider.co/classes-and-structures-by-example-swift-programming-language/] , or enumeration [https://developerinsider.co/enum-enumerations-by-example-swift-programming-language/] for use. * This process involves setting an initial value for each stored property on that instance and performing any other setup or initialization that is required...
Swift What will be new in Swift 5? Apple Swift 5 will be release in early 2019. The primary focus of Swift 5 will be ABI (Application Binary Interface) stability for the Swift Standard Library. Here the goals for Swift 5 - 1. ABI Stability 1.1 What is ABI Stability? * At runtime Swift binaries interact with other...
Swift Control Flow by Example - Swift Programming Language * In Swift, there are three kinds of statements: simple statements, compiler control statements, and control flow statements. * Simple statements are the most common and consist of either an expression or a declaration. * Compiler control statements allow the program to change aspects of the compiler’s behavior and include a conditional...