在我之前关于苹果在 iOS 14 中使用了 Swift 和 SwiftUI 的文章中,我统计了 iOS 中使用 Swift 和 SwiftUI 的内置应用程序的数量。...最后,为了尽可能完整,我对所有主要的 iOS 版本进行了分析,从 iPhone OS 1.0 到 iOS 14。这将详细概述不同编程语言在十多年的 iOS 开发中的演变。...iOS 14 中使用 Swift 和 SwiftUI 的二进制文件百分比的问题。...(第一个公共 SwiftUI 专用框架)构建的新 iOS 14 小部件都使用了 Objective-C。...) public class ConfigurationIntent: INIntent { } 因此,iOS 14 中的所有 SwiftUI 小部件都至少间接地使用了一些 Objective-C 代码
如果您感兴趣,请参考: 编程语言从 iPhone OS 1.0 到 iOS 14 的演变 苹果在 iOS 10.1 和 macOS 10.12 中使用了Swift 在深入讨论细节之前,让我澄清几点: 我只分析了通常意义上的...一个例子是我开发的应用程序 Clutters,我在那里使用 Swift、SwiftUI、Objective-C 和 C,使用最合适的编程语言来解决特定Dev问题。...iOS 15 包含了 114 个使用 SwiftUI 的二进制文件,几乎是 iOS 14 的 3 倍。...(SleepLockScreen) 使用 SwiftUI 的其他二进制文件大多是小部件或新框架。...以下是各种编程语言演变的另一个表示: 各种编程语言演变 原始数据 如果您想进行更深入的分析,您可以在我为从iPhone OS 1.0 到 iOS 15.0 的所有主要版本生成的原始数据下方下载。
Apple 于 8 月 18 日发布了面向开发者的 iOS 14 beta 5 和 iPadOS 14 beta 5。开发者可以在 设置 -> 通用 -> 软件更新 中安装更新。...iOS 14 beta 5 主要有以下更新: Apple News 新的小部件,可用于 Today 屏幕,但无法添加到主屏幕,到此 Apple News 的小部件已增加到 7 个; 选择闹钟时间。...可以在 设置 -> 照片 中找到这一选项; 可用性警告,主要针对 COVID-19 Exposure 通知; 通过 “可用性警告”,iOS 14 将通知用户所在区域是否有可用的 Exposure 通知应用程序...之前向已移除的观察者发送信号时,会导致难以诊断的崩溃问题,现在则会产生一个异常,指出需要 removeObserver(_:) 哪些对象。...这让绘制网格的顺序更能影响最终图像; 可以使用 INMediaUserContext, Core Spotlight, 和 Intents 来改善多媒体交互应用; SwiftUI 除了解决了部分问题外,
本文将探讨这些最新的滚动控制 API,并回顾从 SwiftUI 诞生至今与滚动控制相关的所有重要 API 的发展历程。...)[14] Quentin Zervaas[15] 从 iOS 17 版本开始,苹果引入了“App Intents”系统,以此替代之前的“INIntents”系统,目的是为了使小部件的配置更加灵活。...虽然在多数情况下,从旧系统迁移到新系统都相对顺利,但在处理需要动态显示和隐藏配置选项的父参数时,迁移过程面临一些挑战。在本文中,Quentin Zervaas 分享了他针对这一问题的解决方案。...的问题与使用 AppDelegate 适配器 )[16] Jesse Squires[17] 自 WWDC 2020 起,SwiftUI 引入了 ScenePhase API,用以表示应用的生命周期状态...with ScenePhase and using AppDelegate adaptors ( SwiftUI 应用生命周期管理:ScenePhase 的问题与使用 AppDelegate 适配器
占位符视图显示您 Widget 的一般表示形式,使用户可以大致了解 Widget 的显示内容。不要在占位符视图中包含实际数据。例如,使用灰色框表示文本行,或使用灰色圆圈表示图像。...最后,修饰符指定 Widget 库中显示的名称和描述,并允许用户选择小,中或大版本的 Widget。 请注意此 Widget 上 @main 属性的用法。...此属性指示 GameStatusWidget 是窗口小部件扩展的入口点,这意味着该扩展包含单个 Widget, 要支持多个小部件,请参阅在App Extension中声明多个小部件。...当用户从 Widget 库中添加 Widget 时,他们从 Widget 支持的类型中选择特定的系列(小,中或大),Widget 的 content closure 必须能够渲染其支持的每个类型, WidgetKit...因为 Widget 支持所有三个小部件系列,所以它使用 widgetFamily 决定显示哪个特定的 SwiftUI 视图,如下所示: struct GameStatusView : View {
在 iOS 14 正式版发布之前我写了一篇博文《iOS开发之WidgetKit》,iOS 14 正式版发布以后,经测试,Apple 改变了 Widget 的 API,所以本文进行一个补充说明(在前文的基础上做了修改...介绍 WidgetKit 通过在 iOS 主屏幕或 macOS 通知中心放置小部件,让用户可以随时访问 App 中的内容。Widget 可以保持更新,从而让用户获得最新信息。...从Application Extension中,选择Widget Extension,然后点击Next。 输入扩展名的名称。 单击Finish。...本地数据共享可以通过 App Groups,它是 iOS 8 之后推出的在 App 之间共享数据的方式,只需要简单的配置就可以实现数据的共享。...实现 Widget 的代码相对比较模版,可以从 Widget 的入口开始,缺什么补什么。
一个月后,即从 12 月 25 日至 1 月 23 日,博客的访问数据呈现出显著的变化: 根据谷歌分析: UV(独立访客)达到 14K,相比之前的 30 天增长了 156%。...值得注意的是,中文访客从占比 75% 下降到 33%,这意味着非中文用户现在已经占据了大多数。 新博客取得如此显著的访问量增长是我没有预料到的,且从统计数字来看,这种增长趋势还将持续。...在常规做法中,开发者可能倾向于简单地将字符串统一转换成相同的大小写形式,然后使用 == 进行比较。然而,此方法存在明显的局限,并且可能引发性能上的问题。...通过将交互式小部件融入名为 Trask 的应用,文章生动展示了如何通过加强交互性来提升小部件的功能和用户体验。...此外,教程还深入探讨了交互式小部件的各种类型,以及在设计和开发这些小部件时应遵循的最佳实践。
iOS 14 Apple 推出了 WidgetKit,Widget 就像一个迷你版的 App,可以快速访问它所提供的信息—比如天气、日历事件、笔记等。...介绍 WidgetKit 通过在 iOS 主屏幕或 macOS 通知中心放置小部件,让用户可以随时访问 App 中的内容。Widget 可以保持更新,从而让用户获得最新信息。...从Application Extension中,选择Widget Extension,然后点击Next。 输入扩展名的名称。 单击Finish。...本地数据共享可以通过 App Groups,它是 iOS 8 之后推出的在 App 之间共享数据的方式,只需要简单的配置就可以实现数据的共享。...实现 Widget 的代码相对比较模版,可以从 Widget 的入口开始,缺什么补什么。
iPhone14 Pro 刘海变“灵动岛” iPhone14 Pro 来了,从外观看两个亮点,第一是新配色 #iPhone14Pro 灭霸紫# 好看吗?...这是自 2021 年 9 月以来苹果对 iOS 12 的首次更新,当时苹果修复了一个问题,该问题使恶意制作的 PDF、Web 内容和 App 能够执行代码。...,同时查看返回代码是不是在 200~299 之间 推荐博文 SwiftUI 锁屏小组件[13] 摘要: 随着 iOS 16 的发布,赶快来适配一下 iOS 16 最为重要的更新之一,锁屏小组件吧!...增加 App 排名的 ASO 小技巧[15] 摘要: 偶尔也可以关注一下技术之外的东西,从另一个方面提升自己的竞争力。...云音乐 iOS 端网络图片下载优化实践[16] 摘要: 本文介绍了网易云音乐在图片下载的优化下实践。从想法到技术方案,再从 SDWebImage 源码入手,到最后的再次封装实现,都很值得一看。
这可谓是一次可以载入史册的发布会,宣布了 ARM 架构 Mac 芯片、软硬件的生态大统一、iOS 14 系统界面大改等一系列激动人心的消息。...在看发布会的时候,我的脑海里就浮现出一个问题:“这会是下一个互联网公司竞争的流量入口吗?” 先不抛结论,让我们先看一下 WWDC20 介绍了哪些新东西。 什么是 Widget?...(Widget 只会在 iOS、iPadOS 以及 macOS 上展示) 3、使用了 SwiftUI 使得 Dynamic Type 和 Dark Mode 等问题适配起来成本很低。...从技术角度看,SwiftUI Only 这种看似“激进”的策略其实也是一种信号,其实也是在告诉大家苹果对于 Swift 以及 SwiftUI 的重视程度。...参考 iOS 14 Preview https://www.apple.com.cn/ios/ios-14-preview/ Widgets code-along https://developer.apple.com
虽然这一变化暂时只针对中国市场,但鉴于华为在该市场的影响力,许多大公司不会轻易放弃这部分用户。这也意味着,国内的互联网公司开始积极适配 HarmonyOS,为原生移动开发就业领域带来新的机遇。...原创 SwiftUI geometryGroup() 指南:从原理到实践[2] fatbobman(东坡肘子)[3] 在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup...SwiftUI 的重复计算问题,但这并不意味着 Observation 框架只能与 SwiftUI 一起使用。...Kyle Ye 从发现 Link 在 watchOS 上无法直接打开链接的问题入手,深入研究了 Link 组件的内部实现,最终找到了一种无需通过 ASWebAuthenticationSession 的新解决方案...Colucci 分析并统计了在最新的 macOS Sonoma 14 中,苹果使用的编程语言和 UI 框架的数据。
,处理非常小或非常大的可用空间的边缘情况有多重要?...Too complex to type checkQ:我在 iOS 14 SwiftUI 中遇到一个问题,我试图有条件地显示 3 个符合 Shape 协议的对象中的一个。...A:我们没能在 iOS 16.0.3 上重现你说的问题,你是否可以提供相关的代码段方便我们重现问题和调查?...在 SwiftUI 中,有一个从第一版开始就存在但尚未公开的纯 SwiftUI 实现的滚动容器 —— _ScrollView 。...但这个滚动有两大问题,1、是一个未公开的半成品,有可能会被从 SwiftUI 框架中移除;2、不支持懒加载,即使和 Lazy 视图一起使用也会一次性加载全部的视图。
提案:Swift 论坛讨论人气最高的提案 Swift 论坛:比较两个 “any Error” 的相等性 推荐博文:iOS 16 统计图实战汇总 话题讨论: 大家觉得互联网行业会不会持续走下坡路?...资料分享 swift package SignalHandler[8] 讨论在 Linux 上使用 5.7 `Regex` 的问题[9] 讨论 Swift 论坛的 iOS 应用[10] Discourse...解决: let bothEmpty = await [first, second].allSatisfy(\.isEmpty) 推荐博文 在 iOS16 中用 SwiftUI 图表定制一个线图[14]...摘要: 在 iOS 16 中引入的 SwiftUI 图表,可以以直观的视觉格式呈现数据,并且可以使用 SwiftUI 图表快速创建。...在 iOS 16 中用 SwiftUI Charts 创建一个折线图 摘要: 苹果在 WWWDC 2022 上推出了 SwiftUI 图表,本文展示了如何用比以前从头开始创建同样的折线图少得多的代码轻松创建折线图
目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。 小时候幸福很简单,长大后简单很幸福。Swift社区有你未领取的小幸福,等你简简单单来开启!...苹果确认 iOS16 存漏洞影响新机激活 据 MacRumors 看到的一份备忘录,苹果称,“iOS 16 有一个已知的问题,可能会影响到使用开放的 Wi-Fi 网络的设备激活”。...为了解决这个问题,苹果表示,用户应该在初始化 iOS 时,在提示连接到 Wi-Fi 网络时选择“用 iTunes 连接到 Mac 或 PC”,然后返回到之前的屏幕,使用 Wi-Fi 再次尝试,直到激活成功...App 的实时活动会显示在锁定屏幕和灵动岛中 — “灵动岛”作为一项全新设计,可以让用户直观、愉悦地体验 iPhone 14 Pro 和 iPhone 14 Pro Max。...App Store 已上架项目打开瞬闪问题 摘要: 用户反馈 iPhone11 iOS14.7 下载安装 App Store 已上架项目后,点击图标,App 闪一下就回到了桌面。
◆ ◆ ◆ 简介 在iOS14中苹果推出了很多新特性,其中就包含App Clips。App Clips类似微信的小程序,不需要显式的去App Store里下载,苹果会在对应的时机进行下载。...◆ ◆ ◆ 开发 App Clips从iOS14开始支持,所以可以直接用SwiftUI进行开发,这也是苹果所推荐的开发形式。...从外部调起的时候就会传入一个URL过来,App Clips进行解析以调起对应的页面。 有一点需要了解的是,在WWDC2020中,苹果演示的是一个类似于微信小程序二维码那样的异形码。...因为App Clips是从iOS14推出的,而SwiftUI是从iOS13推出的,所以我们可以选择使用SwiftUI进行开发,这也是苹果推荐的开发方案,当然也可以选择UIKit的方式。...但是对于App Clips的审核标准,经过和苹果开发者团队的沟通,截止目前还未有审核标准发出,估计要等iOS14出来应该就会有审核标准出来。
排行榜(Top Charts)一直是一个主要的入口,新用户基本都会从榜单下载 App,所以,榜单的重要性不容忽视。...所以,从 iOS 11 开始,苹果将 AppStore 重新设计,增加了 Today 和 Games 游戏标签入口,而排行榜列表放到了 Apps 标签的二级入口中。...四、开发思路 有了以上的 API 接口,就能实现我们的 App,这样使用 SwiftUI 来构建,现已开源: iAppStore - GitHub[14] 详细的实践过程就不在这样讲解了,因为 App...五、总结 iAppStore 从构思到实现,花了半个月的时间,期间调研接口和调试接口花了很多时间,网上依然看到很多人问这些接口,相信很多开发者都不知道有这些接口,所以本文也算是一个答案总结,希望这个问题从此消失哈...~ 最后,iAppStore 只是从编者需求来实现的一个产品,所以一定存在很多的问题,但同时它是一个开源项目,所以,如果大家有兴趣,一起来参与,增加更多有趣或者黑科技的体验吧!
黑客或可完全接管设备 提案:改进指针系列初始化和缓冲区 Swift 论坛:使用 Swift 5.5 / Xcode 14 构建后崩溃 推荐博文:iOS16 引入 SwiftUI Charts 新闻和社区...新 iOS 系统将于今年秋天发布,可能是在 9 月份,届时苹果预计将发布 iPhone 14。...新问题:使用 Swift 5.5 / Xcode 14 构建后崩溃[8] 内容概括:swift 代码使用地址引用传入 NSMutableArray 类型给 Objective-C,Objective-C...如下图: 在 iOS 16 中使用 SwiftUI Charts 自定义折线图[14] 摘要: iOS 16 中引入的 SwiftUI Charts,可以快速的实现各种统计图,通过图表直观的呈现数据。...-16/ [14]在 iOS 16 中使用 SwiftUI Charts 自定义折线图: https://swdevnotes.com/swift/2022/customise-a-line-chart-with-swiftui-charts-in-ios
iOS 呼声最高的功能之一是可定制的锁屏。终于,在最新发布的 iOS 16 得以实现。我们可以用可浏览的小组件填充锁屏。实现锁屏小组件很简单,因为它的 API 与主屏小组件共享相同的代码。...本周我们将学习如何为我们的 App 实现锁屏小组件。 让我们从你可能早就有的 App 主屏小组件代码开始。...系统为我们提供了三种不同的渲染模式。 主屏小组件和 Watch OS支持颜色的全色模式。是的,从 watchOS 9 开始,你还可以用 WidgetKit 去实现 watchOS 的复杂性。...重音模式(accented mode)仅在 watchOS 上使用,系统将小部件分为两组,默认和重音。 系统使用用户在表盘设置中选择的色调颜色为小部件的重音部分着色。...渲染模式可通过 SwiftUI Environment 变量使用,因此你可以始终检查哪个渲染模式处于活动状态,并将其反映在设计中。例如,可以使用具有不同渲染模式的不同图片。
然后使用 TCA 实现一个最简单的 View。 SwiftUI 很赞,但是… iOS 15 一声炮响,给开发们送来了全新版本的 SwiftUI。...它不仅有更加合理的异步方法和全新特性,更是修正了诸多顽疾。可以说,从 iOS 14 开始,SwiftUI 才算逐渐进入了可用的状态。...而最近随着公司的项目彻底抛弃 iOS 13,我也终于可以更多地正式在工作中用上 SwiftUI 了。 Apple 并没有像在 UIKit 中贯彻 MVC 那样,为 SwiftUI ”钦定“ 一个架构。...我们真的需要一种架构,来让 SwiftUI 的使用更加轻松一些。 从 Elm 获得的启示 我估摸着前端开发的圈子一年能大约能诞生 500 多种架构[8]。...这种依靠组合的开发方式,可以让我们保持小 Feature 的可测试和可用性。而这种组合,也正是 The Composable Architecture 中 Composable 所代表的意涵。
在本文的结尾,列举了 SwiftData 首个版本中缺失的一些关键功能、主要存在的问题,以及若干临时的解决方案。...为 iOS 应用图标添加动画效果 ( Tricking iOS Into Animating App Icons )[7] Bryce Bostwick[8] 在 iOS 系统中,通过替代应用图标系统(...Alternate App Icons system),用户可以从预设的静态图像集中选择应用图标。...用 WeatherKit 构建天气应用[13] Stewart Lynch[14] WeatherKit 是由苹果开发的一个功能强大的天气信息框架,提供了大量的免费调用次数,极大地降低了开发者构建天气应用或为现有项目增添天气信息的门槛...该指南内容全面,包括:详解 Swift 的数据竞争安全模型、指导如何在 Swift 5 项目中开启完整的并发检查、如何渐进式采用并发技术,以及介绍解决常见问题的有效策略。
领取专属 10元无门槛券
手把手带您无忧上云