Introduction

For a detailed list of symbols that were added or renamed in SF Symbols 2, please refer to my earlier article SF Symbols Changes in iOS 14.

On November 21st 2020, Mike Stern (Platform Experience and Design Evangelism Manager at Apple) announced on Twitter that Apple’s SF Symbols Mac app had been updated to version 2.1:

SF Symbols 2.1 is out. Over 40 new symbols, improved symbol localization, design refinements, and various software fixes.

There are now three different sets of symbols to consider:

  • SF Symbols v1.1 available in iOS/iPadOS/tvOS/Mac Catalyst 13.0, watchOS 6.0 and macOS 11.0
  • SF Symbols v2.0 available in iOS/iPadOS/tvOS/Mac Catalyst 14.0, watchOS 7.0 and macOS 11.0 …


Over the last few years I have written several articles showing how iOS apps built with different versions of Xcode would appear when run on iOS devices that didn’t exist when the apps were built. As a general rule, apps must build with the latest version of Xcode to opt in to seeing the native screen resolutions of new devices. Older apps would run on newer devices but appeared as letterboxed, pillar boxed and/or scaled versions of previous device sizes. This ensured that the old apps never ran at screen resolutions that didn’t exist when they were built.

In WWDC 2019: 224 Modernizing Your UI for iOS 13, the presenter discusses backward compatibility and…


Introduction

In WWDC 2019: 206, Introducing SF Symbols Apple announced a great new resource for iOS developers:

SF Symbols introduces a comprehensive library of vector-based symbols that you can incorporate into your app to simplify the layout of user interface elements through automatic alignment with surrounding text, and support for multiple weights and sizes.

By the time iOS 13 was released there were 1,672 symbols available for developers to use in their own apps. However, 59 of them are restricted and can only be used to refer to particular Apple technologies such as iCloud or the Messages app.

There are a number of articles which describe how to use the symbols in your apps. One that I found particularly comprehensive is SF Symbols in iOS 13 by Antoine van der Lee. …


Introduction

Adaptivity is an app which helps developers and designers visualise how iOS’s Size Classes and margins for layout, readable content and the safe area look on real devices and how they change with respect to orientation, iPad Slide Over/Split View and Dynamic Type size changes.

In the full paid version of the app, Adaptivity (A), there are also screens to explore System Colors, System Images, System Materials and Table Views. On iPadOS 13, this version supports multiple windows. Adaptivity (B) is a free, feature-limited, version.


Introduction

Some apps store personal or sensitive information. For example, my Medical ID Record app stores a comprehensive record of your medical information. This is very private information which the user does not want to be accidentally seen by other people.

One way in which the data could be exposed is in the snapshot images that iOS shows in the App Switcher. Medical ID Record protects against this by showing a privacy protection view on top of its main interface when the app moves into the background. This alternate view is what iOS snapshots and shows in the App Switcher:

Image for post
Image for post


Introduction

By default, when Xcode runs unit tests it uses your main app target as a host application and effectively injects your test code into your app at run time. This makes it easy for your unit tests to refer to types and methods that are defined in your app. A side effect of this process is that every time you run your unit tests, the host application will execute its usual startup sequence, invoking the various app delegate methods and building the initial user interface (either in code or creating it from a storyboard).

That setup should not be necessary when running unit tests. It might even be undesirable as it could interfere with your tests by, for example, creating some objects with real dependencies instead of mocks or by initiating network accesses etc. …


This is the latest in a series of articles explaining how iOS and Watch apps appear when run on hardware that didn’t exist when they were designed and built. Previous articles focused on the iPhone X, iPhone XS Max & XR, Series 4 Apple Watch, and 11" and 3rd generation 12.9" iPad Pro:

On 10th September 2019, Apple announced a 7th generation iPad with a 10.2" screen. …


Introduction

At the time of writing, WWDC 2019 is drawing to a close. Like many iOS developers I’m slowly processing all the new information that Apple threw at us and will be trying to watch as many videos as I can in the coming weeks (and months!)

I have three immediate goals for my own apps:

  1. Do my current apps run without issues on iOS 13? Apple have a long history of backward compatibility based upon the version of Xcode the app was built with. History suggests that Xcode 10-built apps run on iOS 13 will behave as if they were run on iOS 12. …


Introduction

At the time of writing Xcode 10.2 has just been released. I was working through all the latest iOS 12.2 devices to run Dave Verwer’s excellent SimulatorStatusMagic app to clean up the status bars, ready for taking new App Store screenshots, when I noticed something strange.

In its device chooser menu, Xcode usually shows version numbers alongside each device simulator that is available for multiple iOS versions. The exact choices listed depends on which simulator versions you’ve downloaded in the past and the minimum deployment target for your current project:

Image for post
Image for post
Some of the Xcode 10.2 simulators available showing different iOS versions

The Problem

When I got as far as the iPhone Xs I noticed there were no version numbers being shown. I had iOS 12.0 and 12.2 versions of the Xs, Xs Max and Xʀ available but they were being listed in two separate…


Introduction

As most iOS developers are hopefully aware, so-called “iPhone-only” apps can also be run on iPad. The app thinks it is running on an iPhone and appears with an iPhone-like screen size and aspect ratio. For most iPads, and for most iOS versions, this is the equivalent of a 3.5" iPhone 4/4S appearance (320×480 points), centred in the middle of the screen.

A button toggles between showing the app at a pixel perfect 640×920 pixel or a doubled 1280×1840 pixel size. (These sizes are for retina iPads. The original non-retina iPad used half this.) Importantly, an integral scaling factor is used to avoid any blurring. …

About

Geoff Hackworth

Independent and freelance software developer for iPhone, iPad and Mac

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