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!

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.1 iOS 11.1 Notes - ActivityMessagesApp.app iMessage Activity app - AppStore.app AppStore - BusinessExtensionsWrapper.app ? Calculator.app Calculator.app Calculator - iPhone only - Diagnostics.app Hidden Diagnostics app - FTMInternal-4.app FieldTestMenu for connectivity tests - Files.app Files Music.app Music.app Music - News.app News - Podcasts.app Podcasts - ASMessagesProvider.bundle AppStore Messages Provider - ContactsDonation.framework Apple Pay Cash? CoreKnowledge.framework CoreKnowledge.framework User behaviors? - DocumentManagerUICore.framework Files - DonationAccountWatcher Apple Pay Cash? - FileProvider.framework Files - IdentityLookup.framework ? UpNextWidget.framework UpNextWidget.framework Calendar widget - TelephonyUtilities.framework Telephony - /usr/libexec/tzd TimeZone 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.1 macOS 10.13.1 Notes Console.app Console.app Console - ControlStrip.app TouchBar Dock.app Dock.app Dock MRT.app MRT.app Malware Removal Tool NotificationCenter.app NotificationCenter.app Notification Center OSDUIHelper.app OSDUIHelper.app On Screen Display UI Helper PIPAgent.app PIPAgent.app Picture in Picture - screencapturetb.app Capture screenshots (Xcode.app) (Xcode.app) Developer tools - ContactsDonation.framework Apple Pay Cash? - CoreKnowledge.framework User behaviors? - DockUpdater.bundle Migrate Dock Preferences? - DonationAccountWatcher.bundle Apple Pay Cash? - InternationalAccountUpdater.bundle Migrate International Preferences? - SpacesUpdater.bundle Migrate Hotkeys Preferences? - TelephonyUtilities.framework Telephony - TouchBarEvent.bundle TouchBar /usr/bin/swift /usr/bin/swift Swift compiler /usr/bin/swiftc /usr/bin/swiftc Swift compiler - /usr/libexec/TouchBarServer TouchBar - /usr/libexec/tzd TimeZone Daemon - /usr/sbin/screencapture Capture screenshots /usr/sbin/usernoted /usr/sbin/usernoted Notifications 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.