#Objective-C

  1. Apple’s use of Swift and SwiftUI in iOS 18

    As with previous iOS versions, let’s analyze the built-in apps of iOS 18 to answer a few questions: How many binaries does iOS 18 contain? Which programming languages were used to develop these apps? How many apps are written in Swift? What percentage of apps use SwiftUI versus UIKit?
    [Read More]
  2. Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma

    Last month, I analyzed the programming languages and UI frameworks used to create iOS 17. This month, let’s analyze macOS from OS X El Capitan 10.11 to the latest macOS Sonoma 14 and answer a few questions: What is the total count of binaries within macOS Sonoma? Which programming languages are used to develop these apps? How many apps are written with Swift? How many apps are using Mac Catalyst and SwiftUI versus AppKit?
    [Read More]
  3. Apple’s use of Swift and SwiftUI in iOS 17

    Now that iOS 17 is available, let’s analyze its built-in apps to answer a few questions: How many binaries are in iOS 17? Which programming languages are used to develop these apps? How many apps are written with Swift? What is the percentage of apps using SwiftUI versus UIKit?
    [Read More]
  4. Apple’s use of Swift and SwiftUI in iOS 16

    iOS 16 was just released so let’s analyze its built-in apps. Like in the past years, I will try to answer a couple of questions: How many binaries are in iOS 16? Which programming languages are used to develop these apps? How many apps are written with Swift? What is the percentage of apps using SwiftUI versus UIKit?
    [Read More]
  5. Apple’s use of Swift and SwiftUI in iOS 15

    iOS 15 was released a few months ago in September 2021. In this article, I analyze the built-in apps composing iOS 15. How many binaries are in iOS 15? Which programming languages are used to develop these apps? How many apps are written with Swift? Has Apple adopted SwiftUI for some built-in apps?
    [Read More]
  6. Mac App Store: Embedding a Command Line tool using paths as arguments

    A couple of months ago, I released a new app called Dependencies on the Mac App Store. You can download and try it for free at https://apps.apple.com/app/dependencies/id1538972026. In this article, I explain how I built the command line support and released it in the Mac App Store. Implementing this feature turned out to be tricky, mostly due to the lack of documentation on this specific subject. This post might be of interest if you are planning to add a Command Line tool to your app distributed on the Mac App Store.
    [Read More]
  7. Evolution of the programming languages from iPhone OS 1.0 to iOS 14

    In my previous article about Apple’s use of Swift and SwiftUI in iOS 14, I counted the number of built-in apps in iOS using Swift and SwiftUI. Several readers asked if I could provide a percentage rather than an absolute number. In this new article, I will answer this question by measuring the total number of binaries in iOS. I will go one step further and also count the number of binaries using other programming languages: Objective-C, C++ and C. Finally to be as complete as possible, I ran this analysis on all major iOS releases, from iPhone OS 1.0 to iOS 14. This will provide a detailed overview of the evolution of the different programming languages over more than a decade of iOS development.
    [Read More]
  8. Testing if an arbitrary pointer is a valid Objective-C object

    Let’s say you pick a random pointer. Can we know if it points to a valid Objective-C object? Of course without crashing… Well there is no simple solution. In this post I give a solution for 64-bit architectures. The code provided has only been tested on macOS 10.12.1 and iOS 10.1.1 with the modern Objective-C runtime.
    [Read More]