Photo by ev on Unsplash

Grammarly is a lovely writing assistant. Twenty million people use the tool across the globe according to the statistics available on the site. I use it too. No complaints, it does its job quite well, and I am a happy user. The only thing that always worried me is the Grammarly iOS Keyboard. As an iOS engineer, I know how easily you can collect different data, sensitive information, and even do not ask users about the consent. So, let’s check what is inside the Grammarly iOS application.

TL;DR


Current Selected Xcode

xcode-select

This is the most common way to get the path to the selected instance:

xcrun xcode-select --print-path# Output
/Volumes/Extended/Archives/Xcode_12.5.app/Contents/Developer

According to the documentation:

Prints the path to the currently selected developer directory. This is useful for inspection, but scripts and other tools should use xcrun(1) to locate tool inside the active developer directory.

Note: If you wonder why I prefix the xcode-select with xcrun command, please, check the Multiple Xcode versions or Why xcrun is your friend article.

readlink

There is a trick to get the current selected Xcode version without the xcode-select tool. It can be helpful in some…


The story

I recently spent a few hours helping a friend of mine investigate a weird issue in their Continuous Development infrastructure. Builds were failing with different fatal errors mostly related to SDK paths and .platform directory locations. At first sight, it was clear that something is wrong with the current selected Xcode, but all our initial attempts to catch the problem failed.

In the end, we isolated the problem; one of the tools they use changes PATH silently for the environment to simplify access to Xcode tools. Due to their internal logic, the CD pipeline changes a current selected Xcode a…


xed is a command-line tool that launches the Xcode application and opens the given documents ( xcodeproj, xcworkspace, etc.), or opens a new document, optionally with the contents of standard input.

Photo by Blake Connally on Unsplash

If you work from the command line, this tool is a better option than open (which can open Xcode projects as well). Why?


Overview

I am a bit late to the party, but still. Robert C. Martin, colloquially known as “Uncle Bob”, gave an exciting talk in May 2016 about the future of programming. The relevance of his words still stands, and it is a beautiful history lesson about software engineering, programming as a profession with remarks about Agile and possible future of the industry.

Below you will find main topics from this talk that captured my attention, links to the facts, articles and papers he mentioned; plus, my personal opinion on some of them. …


Recently, I noticed that one of the emojis on iOS has changed between iOS updates. It was enough to make me curious about recent changes, and now I have all the diffs for emojis between iOS 13.0 and iOS 13.3. In the article below, I will explain how I collected the changes, how you can do the same and describe the significant differences in emojis between releases. I was never particularly interested in the Emoji phenomenon, so for me, this trip was informative. You may like it too.

Historical reference

According to Wikipedia, Emoji are ideograms and smileys used in electronic messages…


(Updated. Xcode 10.2 Beta)

Swift Package Manager doesn’t work with iOS. That’s probably all you can say about the current state of SPM, but insomnia forced me to expand on the issue and compile the following essay.

TL;DR


New betas are here and these are some of the most important things that I have learned about them.

Swift 5 for Xcode 10.2 beta

Swift

Firstly, the latest Xcode beta is bundled with the following Swift version:

Apple Swift version 5.0 (swiftlang-1001.0.45.7 clang-1001.0.37.7)
Target: x86_64-apple-darwin18.2.0
ABI version: 0.6

Let’s start with the most exciting news:

Swift apps no longer include dynamically linked libraries for the Swift standard library and Swift SDK overlays in build variants for devices running iOS 12.2, watchOS 5.2, and tvOS 12.2. …

Artem Loenko

Principal Engineer @Bumble

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