A year ago I analyzed how many built-in apps in iOS 10.1 and macOS 10.12 were using Swift: Apple’s use of Swift in iOS 10.1 and macOS 10.12.

How many built-in apps are using Swift in iOS 11.1 and macOS 10.13.1? Let’s find it out!

  • Easily preview Mermaid diagrams
  • Live update when editing in your preferred editor
  • Capture screenshots with customizable margins
  • Create PNG from the Terminal
  • Free download on the Mac App Store
MarkChart

Tool to detect binaries using Swift

Last year I explained how to write a script that loops through all the files of a folder and print the paths of binaries using Swift. You can read all this information as well as download the complete script in the old post: Apple’s use of Swift in iOS 10.1 and macOS 10.12.

Apple’s use of Swift in iOS 11.1

Running the script on iOS 11.1 (15B93) of an iPhone X will give you this list of binaries:

/Applications/ActivityMessagesApp.app/PlugIns/ActivityMessagesExtension.appex/ActivityMessagesExtension
/Applications/AppStore.app/AppStore
/Applications/AppStore.app/Frameworks/AppStoreKit.framework/AppStoreKit
/Applications/AppStore.app/PlugIns/AppInstallExtension.appex/AppInstallExtension
/Applications/AppStore.app/PlugIns/BridgeStoreExtension.appex/BridgeStoreExtension
/Applications/AppStore.app/PlugIns/ProductPageExtension.appex/ProductPageExtension
/Applications/BusinessExtensionsWrapper.app/PlugIns/Business.appex/Business
/Applications/Diagnostics.app/Diagnostics
/Applications/FTMInternal-4.app/FTMInternal-4
/private/var/staged_system_apps/Calculator.app/Calculator
/private/var/staged_system_apps/Files.app/Files
/private/var/staged_system_apps/Files.app/PlugIns/RecentsWidget.appex/RecentsWidget
/private/var/staged_system_apps/Music.app/Music
/private/var/staged_system_apps/Music.app/PlugIns/MusicMessagesApp.appex/MusicMessagesApp
/private/var/staged_system_apps/Music.app/PlugIns/RecentlyPlayedTodayExtension.appex/RecentlyPlayedTodayExtension
/private/var/staged_system_apps/News.app/Frameworks/Tea.framework/Tea
/private/var/staged_system_apps/Podcasts.app/Frameworks/AppStoreKit.framework/AppStoreKit
/private/var/staged_system_apps/Podcasts.app/Frameworks/NowPlayingUI.framework/NowPlayingUI
/private/var/staged_system_apps/Podcasts.app/Frameworks/PodcastsUI.framework/PodcastsUI
/private/var/staged_system_apps/Podcasts.app/Podcasts
/System/Library/Accounts/Notification/DonationAccountWatcher.bundle/DonationAccountWatcher
/System/Library/Frameworks/FileProvider.framework/PlugIns/LocalStorageFileProvider.appex/LocalStorageFileProvider
/System/Library/Frameworks/IdentityLookup.framework/XPCServices/com.apple.IdentityLookup.MessageFilter.xpc/com.apple.IdentityLookup.MessageFilter
/System/Library/Messages/iMessageBalloons/ASMessagesProvider.bundle/ASMessagesProvider
/System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent
/System/Library/PrivateFrameworks/DocumentManagerUICore.framework/PlugIns/RecentsAppPopover.appex/RecentsAppPopover
/System/Library/PrivateFrameworks/DocumentManagerUICore.framework/PlugIns/com.apple.DocumentManager.Service.appex/com.apple.DocumentManager.Service
/System/Library/PrivateFrameworks/Swift/libswiftDemangle.dylib
/System/Library/PrivateFrameworks/Swift/libswiftRemoteMirror.dylib
/System/Library/PrivateFrameworks/TelephonyUtilities.framework/PlugIns/IntentHandler.appex/IntentHandler
/System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd
/System/Library/PrivateFrameworks/UpNextWidget.framework/PlugIns/UpNext.appex/UpNext
/usr/libexec/tzd

With no surprise the dyld shared cache contains these additional binaries:

/System/Library/PrivateFrameworks/CoreKnowledge.framework/CoreKnowledge
/System/Library/PrivateFrameworks/Swift/libswiftAccelerate.dylib
/System/Library/PrivateFrameworks/Swift/libswiftARKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftAssetsLibrary.dylib
/System/Library/PrivateFrameworks/Swift/libswiftAVFoundation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCallKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCloudKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftContacts.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCore.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreAudio.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreData.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreFoundation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreGraphics.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreImage.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreLocation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreMedia.dylib
/System/Library/PrivateFrameworks/Swift/libswiftDarwin.dylib
/System/Library/PrivateFrameworks/Swift/libswiftDispatch.dylib
/System/Library/PrivateFrameworks/Swift/libswiftFoundation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftGameplayKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftGLKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftHomeKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftIntents.dylib
/System/Library/PrivateFrameworks/Swift/libswiftMapKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftMediaPlayer.dylib
/System/Library/PrivateFrameworks/Swift/libswiftModelIO.dylib
/System/Library/PrivateFrameworks/Swift/libswiftObjectiveC.dylib
/System/Library/PrivateFrameworks/Swift/libswiftos.dylib
/System/Library/PrivateFrameworks/Swift/libswiftPhotos.dylib
/System/Library/PrivateFrameworks/Swift/libswiftQuartzCore.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSceneKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftsimd.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSpriteKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSwiftOnoneSupport.dylib
/System/Library/PrivateFrameworks/Swift/libswiftUIKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftWatchKit.dylib

Apple’s use of Swift in macOS 10.13.1

Running the script on macOS 10.13.1 will give you this list of binaries:

/Applications/Utilities/Console.app/Contents/MacOS/Console
/System/Library/Accounts/Notification/DonationAccountWatcher.bundle/Contents/MacOS/DonationAccountWatcher
/System/Library/CoreServices/ControlStrip.app/Contents/MacOS/ControlStrip
/System/Library/CoreServices/ControlStrip.app/Contents/XPCServices/com.apple.DFRSystemExtra.NightShift.xpc/Contents/MacOS/com.apple.DFRSystemExtra.NightShift
/System/Library/CoreServices/Dock.app/Contents/MacOS/Dock
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftAppKit.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftCore.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftCoreData.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftCoreGraphics.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftCoreImage.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftDarwin.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftDispatch.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftFoundation.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftIOKit.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftObjectiveC.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftQuartzCore.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftSwiftOnoneSupport.dylib
/System/Library/CoreServices/MRT.app/Contents/Frameworks/libswiftXPC.dylib
/System/Library/CoreServices/MRT.app/Contents/MacOS/MRT
/System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter
/System/Library/CoreServices/OSDUIHelper.app/Contents/MacOS/OSDUIHelper
/System/Library/CoreServices/PIPAgent.app/Contents/MacOS/PIPAgent
/System/Library/CoreServices/screencapturetb.app/Contents/MacOS/screencapturetb
/System/Library/CoreServices/TouchBarEvent.bundle
/System/Library/CoreServices/UAUPlugins/DockUpdater.bundle/Contents/MacOS/DockUpdater
/System/Library/CoreServices/UAUPlugins/InternationalAccountUpdater.bundle/Contents/MacOS/InternationalAccountUpdater
/System/Library/CoreServices/UAUPlugins/SpacesUpdater.bundle/Contents/MacOS/SpacesUpdater
/System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent
/System/Library/PrivateFrameworks/CoreKnowledge.framework/Versions/A/CoreKnowledge
/System/Library/PrivateFrameworks/Swift/libswiftAccelerate.dylib
/System/Library/PrivateFrameworks/Swift/libswiftAppKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftAVFoundation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCloudKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftContacts.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCore.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreAudio.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreData.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreFoundation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreGraphics.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreImage.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreLocation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCoreMedia.dylib
/System/Library/PrivateFrameworks/Swift/libswiftCryptoTokenKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftDarwin.dylib
/System/Library/PrivateFrameworks/Swift/libswiftDemangle.dylib
/System/Library/PrivateFrameworks/Swift/libswiftDispatch.dylib
/System/Library/PrivateFrameworks/Swift/libswiftFoundation.dylib
/System/Library/PrivateFrameworks/Swift/libswiftGameplayKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftGLKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftIntents.dylib
/System/Library/PrivateFrameworks/Swift/libswiftIOKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftMapKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftModelIO.dylib
/System/Library/PrivateFrameworks/Swift/libswiftObjectiveC.dylib
/System/Library/PrivateFrameworks/Swift/libswiftOpenCL.dylib
/System/Library/PrivateFrameworks/Swift/libswiftos.dylib
/System/Library/PrivateFrameworks/Swift/libswiftQuartzCore.dylib
/System/Library/PrivateFrameworks/Swift/libswiftRemoteMirror.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSafariServices.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSceneKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftsimd.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSpriteKit.dylib
/System/Library/PrivateFrameworks/Swift/libswiftSwiftOnoneSupport.dylib
/System/Library/PrivateFrameworks/Swift/libswiftXPC.dylib
/System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd
/System/Library/PrivateFrameworks/TelephonyUtilities.framework/PlugIns/IntentHandler.appex/Contents/MacOS/IntentHandler
/usr/bin/swift
/usr/bin/swiftc
/usr/libexec/TouchBarServer
/usr/libexec/tzd
/usr/sbin/screencapture
/usr/sbin/usernoted

Note that you will get a lot of matches in Xcode 9.0.

Conclusion

On iOS 10.1 there were only 4 binaries using Swift. The number of apps and frameworks using Swift grew quite a lot in a year: There are now 20 apps and frameworks using Swift in iOS 11.1:

iOS 10.1iOS 11.1Notes
-ActivityMessagesApp.appiMessage Activity app
-AppStore.appAppStore
-BusinessExtensionsWrapper.app?
Calculator.appCalculator.appCalculator - iPhone only
-Diagnostics.appHidden Diagnostics app
-FTMInternal-4.appFieldTestMenu for connectivity tests
-Files.appFiles
Music.appMusic.appMusic
-News.appNews
-Podcasts.appPodcasts
-ASMessagesProvider.bundleAppStore Messages Provider
-ContactsDonation.frameworkApple Pay Cash?
CoreKnowledge.frameworkCoreKnowledge.frameworkUser behaviors?
-DocumentManagerUICore.frameworkFiles
-DonationAccountWatcherApple Pay Cash?
-FileProvider.frameworkFiles
-IdentityLookup.framework?
UpNextWidget.frameworkUpNextWidget.frameworkCalendar widget
-TelephonyUtilities.frameworkTelephony
-/usr/libexec/tzdTimeZone Daemon

Similarly the number of binaries using Swift grew from 10 in macOS 10.12.1 to 23 in macOS 10.13.1:

macOS 10.12.1macOS 10.13.1Notes
Console.appConsole.appConsole
-ControlStrip.appTouchBar
Dock.appDock.appDock
MRT.appMRT.appMalware Removal Tool
NotificationCenter.appNotificationCenter.appNotification Center
OSDUIHelper.appOSDUIHelper.appOn Screen Display UI Helper
PIPAgent.appPIPAgent.appPicture in Picture
-screencapturetb.appCapture screenshots
(Xcode.app)(Xcode.app)Developer tools
-ContactsDonation.frameworkApple Pay Cash?
-CoreKnowledge.frameworkUser behaviors?
-DockUpdater.bundleMigrate Dock Preferences?
-DonationAccountWatcher.bundleApple Pay Cash?
-InternationalAccountUpdater.bundleMigrate International Preferences?
-SpacesUpdater.bundleMigrate Hotkeys Preferences?
-TelephonyUtilities.frameworkTelephony
-TouchBarEvent.bundleTouchBar
/usr/bin/swift/usr/bin/swiftSwift compiler
/usr/bin/swiftc/usr/bin/swiftcSwift compiler
-/usr/libexec/TouchBarServerTouchBar
-/usr/libexec/tzdTimeZone Daemon
-/usr/sbin/screencaptureCapture screenshots
/usr/sbin/usernoted/usr/sbin/usernotedNotifications daemon

When Swift 5 with ABI stability is released next year, I expect a big jump in the number of built-in apps using Swift.