iOS 15 在几个月前的 2021 年 9 月发布。在本文中,我分析了 iOS 15 的内置期骗要领 :
iOS 15 中有几许个二进制文献? 开荒这些期骗要领使用了哪种编程言语? 使用 Swift 编写了几许个期骗要领? 苹果是否在某些内置期骗要领禁受了 SwiftUI? 法子创建本文的法子和器具在我之前的帖子中进行了详备证实。如若您感意思意思,请参考:
皇冠体育hg86a
编程言语从 iPhone OS 1.0 到 iOS 14 的演变[1] 苹果在 iOS 10.1 和 macOS 10.12 中使用了Swift[2]在真切操办细节之前,让我澄澈几点:
我只分析了时时真谛上的 'iOS',即内核上方的统统本色。不包括 XNU 内核和初级固件(SecureROM、基带、...)。另一方面,我估量了位于 iPhone OS 3.1 中引入的 dyld 分享缓存中的框架。 请记着,开荒东谈主员不错羼杂不同的编程言语来创建一个二进制文献。一个例子是我开荒的期骗要领 Clutters[3],我在那儿使用 Swift、SwiftUI、Objective-C 和 C,使用最相宜的编程言语来管束特定Dev问题。在本文中,包含一转 Swift 代码的期骗要领将被视为使用了 Swift 。 您将看到 Objective-C 和 C++ 被说起,但您可能会珍视到 Objective-C++ 的缺失。这里使用的法子无法果真检测到使用 Objective-C++ 构建的二进制文献。此类二进制文献被视为同期使用 Objective-C 和 C++ 。 终末,你应该对这个分析执保留魄力。天然我折服总体情况是准确的,但我的法子有一些局限性,因为我无法走访 iOS 源代码,况且依赖于不精准的编译工件。 iOS 15 中的 Swift 和 SwiftUI也许最酷好的数字之一是统计苹果在iOS 15中使用 Swift 和 SwiftUI 的情况。是以让咱们从这个运行吧!
这对他而言并无太大惊奇,然而,当他的一位友人来访他的宝库时,这人瞥见了那纸,他的脸色立刻变得惨白如纸。
就在那个不寻常的8月7日,汉口聚集了一批伟大的人物,他们的到来决定着革命的走向。那是一场被后人誉为“八七会议”的会议,宛如一颗星辰,将深深地镌刻在革命历史的长河之中。会议的场景充满紧张和期待,每个人心中都明白,这是一场决定命运的时刻。
皇冠客服飞机:@seo3687iOS 15 包含了 114 个使用 SwiftUI 的二进制文献,简直是 iOS 14 的 3 倍。相通,在iOS 14 和 iOS 15 之间,包含至少一转 Swift 代码的二进制文献数目翻了一番:
皇冠信用盘口如您所见,欧博娱乐开户苹果连接冷静禁受 Swift 开荒我方的内置期骗要领。本年亦然禁受 SwiftUI 的蹙迫一年。一些平方使用的期骗要领现时似乎在 iOS 15 中使用 SwiftUI:
史籍 舆图 备忘录 天气 教唆 音乐 播客 FaceTime ?(InCallService) 成立?这些新期骗要领加上之前使用 SwiftUI 的 5 个期骗要领:
翻译 快捷指示 电话 AirPods 蚁合弹出窗口?(SharingViewService) 锁屏?(SleepLockScreen)使用 SwiftUI 的其他二进制文献大多是小部件或新框架。以下是使用 SwiftUI 的 114 个二进制文献的完满列表:
/Applications/AppSettings.app/AppSettings 亚新色碟/Applications/AppStore.app/PlugIns/AppStoreWidgetsExtension.appex/AppStoreWidgetsExtension /Applications/FamilyControlsAuthenticationUI.app/FamilyControlsAuthenticationUI /Applications/FindMy.app/PlugIns/FindMyWidgetIntentsItems.appex/FindMyWidgetIntentsItems /Applications/FindMy.app/PlugIns/FindMyWidgetIntentsPeople.appex/FindMyWidgetIntentsPeople /Applications/FindMy.app/PlugIns/FindMyWidgetItems.appex/FindMyWidgetItems /Applications/FindMy.app/PlugIns/FindMyWidgetPeople.appex/FindMyWidgetPeople /Applications/FTMInternal-4.app/FTMInternal-4 /Applications/GameCenterWidgets.app/PlugIns/GCWidgets.appex/GCWidgets /Applications/InCallService.app/InCallService /Applications/PeopleViewService.app/PlugIns/PeopleWidget_iOSExtension.appex/PeopleWidget_iOSExtension /Applications/SleepWidgetContainer.app/PlugIns/SleepWidgetExtension.appex/SleepWidgetExtension /private/var/staged_system_apps/Books.app/Books /private/var/staged_system_apps/Maps.app/Maps /private/var/staged_system_apps/MobileMail.app/PlugIns/MailWidgetExtension.appex/MailWidgetExtension /private/var/staged_system_apps/MobileNotes.app/MobileNotes /private/var/staged_system_apps/MobileNotes.app/PlugIns/com.apple.mobilenotes.SharingExtension.appex/com.apple.mobilenotes.SharingExtension /private/var/staged_system_apps/Music.app/Frameworks/MusicApplication.framework/MusicApplication /private/var/staged_system_apps/Podcasts.app/Frameworks/PodcastsStoreUI.framework/PodcastsStoreUI /private/var/staged_system_apps/Shortcuts.app/PlugIns/QuickLookExtension.appex/QuickLookExtension /private/var/staged_system_apps/Tips.app/Tips /private/var/staged_system_apps/Weather.app/Weather /System/Library/Assistant/UIPlugins/SiriFindMyUIPlugin.siriUIBundle/SiriFindMyUIPlugin /System/Library/Frameworks/_CoreLocationUI_SwiftUI.framework/_CoreLocationUI_SwiftUI /System/Library/Frameworks/_MusicKit_SwiftUI.framework/_MusicKit_SwiftUI /System/Library/Frameworks/FamilyControls.framework/FamilyControls /System/Library/Frameworks/FamilyControls.framework/PlugIns/ActivityPickerExtension.appex/ActivityPickerExtension /System/Library/Health/FeedItemPlugins/Heart.healthplugin/Heart /System/Library/Health/FeedItemPlugins/Highlights.healthplugin/Highlights /System/Library/Health/FeedItemPlugins/MenstrualCyclesAppPlugin.healthplugin/MenstrualCyclesAppPlugin /System/Library/Health/FeedItemPlugins/SleepHealthAppPlugin.healthplugin/SleepHealthAppPlugin /System/Library/Health/FeedItemPlugins/Summaries.healthplugin/Summaries /System/Library/PreferenceBundles/BatteryUsageUI.bundle/BatteryUsageUI /System/Library/PreferenceBundles/CoreRoutineSettings.bundle/CoreRoutineSettings /System/Library/PreferenceBundles/FocusSettings.bundle/FocusSettings /System/Library/PrivateFrameworks/AccessibilitySharedUISupport.framework/AccessibilitySharedUISupport /System/Library/PrivateFrameworks/ActionKitUI.framework/ActionKitUI /System/Library/PrivateFrameworks/CommandAndControlUI.framework/CommandAndControlUI /System/Library/PrivateFrameworks/CoreChartSwift.framework/CoreChartSwift /System/Library/PrivateFrameworks/CoreSuggestionsUI.framework/CoreSuggestionsUI /System/Library/PrivateFrameworks/FocusSettingsUI.framework/FocusSettingsUI /System/Library/PrivateFrameworks/FocusUI.framework/FocusUI /System/Library/PrivateFrameworks/HealthExperienceUI.framework/HealthExperienceUI /System/Library/PrivateFrameworks/HealthRecordsUI.framework/HealthRecordsUI /System/Library/PrivateFrameworks/HealthVisualization.framework/HealthVisualization /System/Library/PrivateFrameworks/HearingUI.framework/HearingUI /System/Library/PrivateFrameworks/MediaFoundation.framework/MediaFoundation /System/Library/PrivateFrameworks/MessagesSupport.framework/MessagesSupport /System/Library/PrivateFrameworks/MLKit.framework/MLKit /System/Library/PrivateFrameworks/MLKit.framework/PlugIns/com.apple.MLKit.MLModelPreview.appex/com.apple.MLKit.MLModelPreview /System/Library/PrivateFrameworks/MLKit.framework/PlugIns/com.apple.MLKit.MLPackagePreview.appex/com.apple.MLKit.MLPackagePreview /System/Library/PrivateFrameworks/NotesUI.framework/NotesUI /System/Library/PrivateFrameworks/PaymentUI.framework/PaymentUI /System/Library/PrivateFrameworks/PeopleUI.framework/PeopleUI /System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection /System/Library/PrivateFrameworks/PreviewsMessaging.framework/PreviewsMessaging /System/Library/PrivateFrameworks/ScreenTimeUICore.framework/ScreenTimeUICore /System/Library/PrivateFrameworks/SleepHealthUI.framework/SleepHealthUI /System/Library/PrivateFrameworks/SleepWidgetUI.framework/SleepWidgetUI /System/Library/PrivateFrameworks/SnippetUI.framework/SnippetUI /System/Library/PrivateFrameworks/TipKit.framework/TipKit /System/Library/PrivateFrameworks/TranslationUI.framework/TranslationUI /System/Library/PrivateFrameworks/TranslationUIServices.framework/PlugIns/TranslationUIService.appex/TranslationUIService /System/Library/PrivateFrameworks/VideosUI.framework/VideosUI /System/Library/PrivateFrameworks/WeatherUI.framework/WeatherUI /System/Library/PrivateFrameworks/WorkflowUI.framework/WorkflowUI /System/Library/Snippets/UIPlugins/AudioUIPlugin.bundle/AudioUIPlugin /System/Library/Snippets/UIPlugins/SiriVideoUIPlugin.bundle/SiriVideoUIPlugin /System/Library/Snippets/UIPlugins/SystemPlugin.bundle/SystemPlugin /usr/lib/swift/libswiftExtensionKit.dylib /usr/libexec/proximitycontrold二进制文献总和
咱们不错在 iOS 15 中找到几许个二进制文献?
iOS 15 由 4738 个二进制文献构成,高于 iOS 14 中的 4173 个。有 565 个新的二进制文献。
皇冠足球二进制文献数目
编程言语的演变通过分析从 iPhone OS 1.0 到 iOS 15 的统统主要 iOS 版块,咱们不错看到 iOS 使用的编程言语的演变。请再次珍视,一个二进制文献不错被屡次估量,是以这个图中的二进制数据的总和大于二进制总和:
使用多样编程言语的二进制文献数目
银河护卫队分析在 iOS 15 的统统二进制文献中:
89% 使用了 Objective-C 17% 使用了 C++ 13% 使用了 Swift 8% 统统用 C 2% 使用了 SwiftUI咱们从这里不错了解到什么?
Objective-C 仍然是 iOS 的中枢,不会很快脱色。 苹果对 Swift 的使用进展得比以往任何技能齐快。前年,Swift 朝上了C。本年,Swift 越来越接近 C++。 SwiftUI 前年简直不引东谈主细心,但本年苹果似乎更平方地禁受了它,即使在旗舰期骗要领中亦然如斯。 C++ 和 C 仍然进展着蹙迫作用。这些言语时时用于与音频、视频、电话、集合和其他底层框架关联的二进制文献。以下是多样编程言语演变的另一个暗示:
多样编程言语演变
原始数据如若您念念进行更真切的分析,您不错在我为从iPhone OS 1.0 到 iOS 15.0 的统统主要版块生成的原始数据下方下载。
博彩平台赔率计算方法 论断即使咱们无法走访 iOS 源代码,咱们也不错细目用于在 iOS 中创建内置期骗要领的编程言语,并不错估量这些言语从 iPhone OS 1.0 到iOS 15的演变。
正如咱们所看到的,苹果连接将 Swift 用于我方的期骗要领:在 iOS 14 和 iOS 15 之间,使用 Swift 的二进制文献数目翻了一番。精炼13% 的二进制文献现时使用了 Swift。此外, Swift UI 的禁受果真运行于本年,现时有几个旗舰期骗要领使用了 SwiftUI 。
如前边所述,这种法子显然有一些局限性,天然我合计合座情况是准确的,但我不可保证效果是统统准确的。如若您合计我遗漏了什么,请在推特上关联我。
译自:Apple’s use of Swift and SwiftUI in iOS 15
参考府上[1]编程言语从 iPhone OS 1.0 到 iOS 14 的演变:
https://blog.timac.org/2020/1019-evolution-of-the-programming-languages-from-iphone-os-to-ios-14/
[2]苹果在 iOS 10.1 和 macOS 10.12 中使用了Swift:
https://blog.timac.org/2016/1101-apples-use-of-swift-in-ios-10-1-and-macos-10-12/
保险[3]Clutters:
记者泉州市卫健委了解,回应社会关切,解决健康码“黄码”人员(以下简称“黄码人员”)核酸检测难问题,经研究,泉州市卫健委决定泉州市设置黄码人员核酸检测专用采样点(采样通道)。检测需求群众可提前预约,携带本人身份证(无身份证儿童携带户口簿),就近前往黄码人员核酸检测专用采样点(采样通道)进行采样检测。https://apps.apple.com/app/clatters/id1480930237