文章目录
大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。
图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG
我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。
展菲:您的前沿技术领航员
👋 大家好,我是展菲!
📱 全网搜索“展菲”,即可纵览我在各大平台的知识足迹。
📣 公众号“Swift社区”,每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。
💬 微信端添加好友“fzhanfei”,与我直接交流,不管是项目瓶颈的求助,还是行业趋势的探讨,随时畅所欲言。
📅 最新动态:2025 年 3 月 17 日
快来加入技术社区,一起挖掘技术的无限潜能,携手迈向数字化新征程!
文章目录
前言
本期是 Swift 编辑组自主整理周报的第七十七期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。
Swift 周报在 GitHub 开源,欢迎提交 issue,投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。
先成为自己的山,再去找心中的海。心若无旁骛,万事皆可破。Swift社区自能生羽翼,何须仰云梯。
周报精选
新闻和社区:iPhone再次大降价,苹果只剩这一招?
提案:weak let 提案通过审查。
Swift 论坛:提议演进嵌入式 Swift 文档
推荐博文:Swift 隔离机制
话题讨论:
黄金大降价,你会囤一些吗?
新闻和社区
苹果计划2026年推出折叠屏手机,产业链公司或将受益
2025 年 5 月 15 日
苹果公司计划在 2026 年下半年推出首款折叠屏 iPhone。据供应链消息,这款大折叠屏手机已经进入关键部件送样测试阶段。苹果给供应商提供的出货目标指引显示,这款新机型将采用书本式“左右对折”设计,配备内外双屏。展开后的单面厚度仅为 4.5 毫米,折叠后则为 9 - 9.5 毫米。外屏尺寸为 5.5 英寸,内屏则达到 7.8 英寸。
苹果选择三星为其独家定制显示面板,采用先进的 in-cell 触控技术。这一技术不仅满足苹果对亮度和功耗的严格要求,还在厚度、重量和耐用性方面表现出色。苹果还致力于解决内屏折痕问题,以实现近乎完美的视觉效果。
目前,多家供应链公司已开始送样测试相关部件,希望进入苹果的关键部件供应商名单。预计苹果完成折叠屏 iPhone 供应商选择后,将会进入 NPI(新产品导入)流程。业内人士认为,苹果进入折叠屏手机市场将带来出货量快速增长,并带动其他品牌加大资源投入,折叠屏手机产业链公司有望从中受益。
尽管苹果尚未正式宣布折叠屏 iPhone 的具体细节,但市场对此充满期待。苹果拥有庞大的客户基础,预计市场需求将非常旺盛。然而,最终销量将取决于产品的定价策略。据分析师预测,折叠屏 iPhone 起售价可能超过 2000 美元,国行版价格可能更高。
当前,三星、华为、小米、vivo、OPPO、荣耀等厂商已推出多款折叠屏手机。研究机构 IDC 表示,随着相关技术提升和成熟,折叠屏手机配置和价格与直板手机越来越接近,消费者接受程度也在提高。在中国市场,超过 60% 的折叠屏手机消费者更偏好屏幕更大的机型。
高盛研报指出,未来几年折叠屏手机市场渗透率有望提升。在整体手机市场温和增长背景下,智能手机品牌需要在高端领域引入新的外形规格和技术。苹果的技术创新能力及其行业引领作用,将为相关供应链材料企业提供新的发展机遇。
苹果入局折叠屏手机市场,将进一步推动产业链技术升级。方正证券认为,苹果有望大幅改善传统折叠屏手机折痕明显、机身厚重等问题,加速铰链等关键部件的技术进步。这将为折叠屏手机产业链带来高速成长机遇。
总之,苹果首款折叠屏 iPhone 的推出备受关注,其技术和市场表现将对整个折叠屏手机行业产生深远影响。(来源: 金融界)
iPhone再次大降价,苹果只剩这一招?
2025 年 5 月 14 日
“6·18” 购物节前夕,苹果手机降价超千元的消息引发市场广泛关注。
日前,有多家媒体报道称,苹果本月 10 日向渠道商下发了调价通知,苹果 iPhone 16 Pro Max 所有容量版本降价 160 美元(折合人民币 1313.06 元);而 iPhone 16 Pro 的 128GB 版本降价 176 美元(折合人民币 1445.27 元),其他版本同样降价 160 美元。
中新经纬 12 日以消费者身份咨询了苹果官网客服,以及线上各电商平台旗舰店、自营店的客服,均表示暂时未接到近期降价通知。但有第三方线下授权店的工作人员称,iPhone 16 Pro(512GB)11 日已经降了 600 元,这几天可能还会降。
苹果中国官网客服 12 日回应中新经纬称,最近确实收到了很多消费者咨询上述降价问题,但目前官网手机均是原价,未收到近期降价通知,且官网产品也不参加国补。苹果天猫旗舰店和抖音自营旗舰店客服均称,目前 6000 元以下的机型可以叠加国补,暂无其他优惠和降价活动。
多平台同步促销活动,国补机型抢购一空。
随着 iPhone 16 系列降价,原本价格高于 6000 元、无法享受国补的 iPhone 16 Pro,部分机型也能享受国补,5 月 11 日,京东率先开启了苹果手机的大促销活动。在该平台上,原价 7999 元的 iPhone 16 Pro 128GB 版本,叠加国补优惠仅需 5499 元,降幅达 2500 元。此外,其他存储版本和 Max 版本也有所降价,虽无法参加国补,但降价幅度也均超过 2000 元。
淘宝平台也迅速跟进优惠。在天猫 Apple Store 官方旗舰店最新公布的促销信息显示,5 月 16 日 20 点起,iPhone 16 Pro 128GB 在叠加国补和多种优惠之后,到手价 5499 元,较原价 7999 元减少了 2500 元。Apple Store 官方旗舰店为苹果官方直营店,店里 iPhone15、iPhone16 都可以享受“国补”,iPhone 16 Pro 128G B版本降价幅度最大高达 31%,成为苹果“最香”机型。
拼多多百亿补贴页也面显示,群青色 iPhone 16 128G 售 4758 元,相比官网价格下降了 1241 元;部分颜色的 iPhone 16 Pro 128G 售 5498 元,相比官网价格下降了 2501 元;一些颜色的 iPhone 16 Pro Max 售 7899 元,相比官网价格下降了 2100 元。
在多重优惠下,国补版 iPhone 16 Pro 128G 版本一度被消费者抢购一空,相关词条也登上了微博热搜。
为何苹果会给出如此大的降价力度?
苹果这次降价可谓率先行动且力度空前,多家媒体报道均指出,苹果本轮给出如此大的降价力度,核心原因在于其手机销量未达预期。
中国市场是苹果最重要的全球市场之一,但目前 iPhone 在中国市场面临激烈的市场竞争,苹果在大中华区的营收已连续几个季度同比下滑。苹果截至 2024 年 9 月 28 日的 2024 财年第四季度财报显示,该季度苹果来自大中华区的收入 150.33 亿美元,大中华区是苹果唯一一个出现收入同比下滑的区域。2025 财年第一季度,苹果大中华区收入 185.1 亿美元,同比减少 11%。2025 财年第二季度,苹果大中华区收入 160 亿美元,再次下滑。
据市场研究机构 IDC 数据,2025 年第一季度,中国智能手机市场出货量同比增长 3.3%,达 7160 万部。市场排名中,小米、华为、OPPO 和 vivo 占据前四位,而苹果以 980 万台的出货量位列第五,同比下滑 9%,成为头部品牌中唯一出现负增长的厂商。
另外,Canalys 数据显示,2024 年苹果在中国出货量为 4290 万台,同比下滑 17%,在排名前五的手机厂商中销量下滑最为明显,年度在华销量已经被华为反超。
当产品不再紧俏,促销也就成为常态。自苹果发布 iPhone 16 系列之后,已多次降价。早在 2024 年 10 月,天猫 “双11” 活动开始后,苹果天猫官方旗舰店 iPhone 16 系列优惠 500 元促销,这是苹果新机型开售仅 1 个月后,iPhone 16 系列在苹果官方渠道首次降价。今年 1 月 2 日,苹果中国官网公布了“叱咤福利”新年促销活动,全线产品最高立省 800 元。
除降价外,苹果也在寻找其他方法吸引消费者。近日有消息称,苹果已在研发折叠屏手机,折叠屏手机或于明年出货。一名业内分析人士认为,苹果折叠屏的推出时间一定程度上取决于 iPhone 的销售情况,如果 iPhone 销售疲弱,可能促使苹果加速推出折叠屏,以便吸引消费者关注。此外,彭博社记者马克·古尔曼爆料称,苹果 AI 有望在 iOS 18.6 系统中首次在中国内地启用部分功能,背后由阿里和百度提供技术支持。(来源: 观察者网)
传苹果(AAPL.US)或借产品升级酝酿涨价,特朗普称库克将在美建厂扩产
2025 年 5 月 13 日
据悉,美国总统特朗普透露,其于周一早间与苹果公司( AAPL.US )首席执行官蒂姆·库克进行了通话。此次对话背景是,据知情人士消息称,这家科技巨头正评估是否在今年秋季新品发布时上调 iPhone 系列售价,但暂未就是否涨价作出最终决定。截至发稿,苹果公司尚未对相关报道作出回应。
据报道,苹果内部正探讨将涨价与新机型功能升级、设计迭代进行"策略性绑定",以避免消费者将价格调整与美国对华加征关税直接关联。这一动向发生在中美贸易摩擦出现缓和迹象之际——周一当日苹果股价受贸易局势向好预期提振,收盘大涨 6.31% 至 210.79 美元,带动美股科技板块整体上扬。
在上述报道发布仅数小时后,特朗普便表示他已与库克通话,他未提及潜在的价格上涨事宜,只是强调自己认为苹果最终会将其 2 月份承诺的 5000 亿美元美国支出计划予以提升,并称 “他将在美国为苹果建造大量工厂”。
据了解,一个多月以来,消费者与分析师都在为苹果涨价做准备。早在 4 月份就有报道称,苹果公司已囤积库存以应对关税,且涨价的可能性在不断增大。
自 2017 年 iPhone X 以 999 美元起售价面世以来,苹果旗舰机型定价已维持七年未变。但特朗普政府此前宣布的全球关税计划,迫使这家供应链深度依赖中国的企业重新评估成本结构。今年 2 月,苹果已率先上调入门款机型 iPhone 16e 售价,该机型取代了此前定位亲民的 iPhone SE 系列,显示其在特定产品线具备提价空间。
在最新财报会议上,库克坦言本季度可能因关税承受约 9 亿美元额外成本,但面对分析师对潜在涨价的追问,其仅以"暂无可宣布事项"回避回应。值得关注的是,库克在特朗普首任期内曾成功游说白宫豁免部分产品关税,此次双方通话是否涉及贸易议题尚未可知。
尽管苹果正加速推进生产多元化,在印度工厂扩大中低端机型产能,但有报道指出,高端 Pro 及 Pro Max 系列仍将继续在中国组装。此外,苹果计划至 2026 年底将印度产 iPhone 在美国市场的供应占比提升至主要地位,此举旨在分散地缘政治风险。(来源: 智通财经网)
提案
通过的提案
SE-0471 改进了并发运行时的自定义 SerialExecutor 隔离检查 提案通过审查。该提案已在 第七十四期周报 正在审查的提案模块做了详细介绍。
SE-0476 控制函数、初始化式、属性或下标的 ABI 提案通过审查。该提案已在 第七十五期周报 正在审查的提案模块做了详细介绍。
SE-0477 字符串插值中的默认值 提案通过审查。该提案已在 第七十六期周报 正在审查的提案模块做了详细介绍。
SE-0481 weak let 提案通过审查。
Swift 使用变量和存储属性的weak修饰符提供弱对象引用。当对象被销毁时,弱引用变为 nil,导致变量的值似乎发生变化。因此,Swift 一直要求使用 var 关键字而不是 let 来声明 weak 引用。然而,这造成了与可发送性检查不必要的摩擦:由于弱引用必须是可变的,因此具有此类引用的类和闭包在并发上下文之间共享是不安全的。该提案取消了该限制,并允许将 weak 与 let 相结合。
正在审查的提案
SE-0482 二进制静态库依赖项 提案正在审查。
Swift 作为一种跨平台语言继续发展,支持从编程嵌入式设备到跨多个操作系统的服务器端开发的各种用例。然而,目前 SwiftPM 仅支持在苹果平台上针对二进制依赖项的链接。该提案旨在提供静态库依赖项,在非苹果平台上公开 C 接口。
SE-0483 InlineArray 字面语法 提案正在审查。
我们建议为 InlineArray
类型引入 sugar 类型,为声明内联数组提供更简洁的语法。
SE-0484 允许对 @dynamicMemberLookup 下标的附加参数 提案正在审查。
SE-0195 和 SE-0252 引入并完善了 @dynamicMemberLookup
,通过反映某些 subscript(dynamicMember:)
方法在类型上的存在,为类型的任意成员提供类型安全的“点”语法访问,转
let _ = x.member
x.member = 42
ƒ(&x.member)
进入
let _ = x[dynamicMember: <member>]
x[dynamicMember: <member>] = 42
ƒ(&x[dynamicMember: <member>])
当 x.member
在静态上不存在时。目前,为了有资格满足 @dynamicMemberLookup
要求,下标必须:
- 正好取一个带有显式
dynamicMember
参数标签的参数, - 谁的类型是非可变的,并且是
{{Reference}Writable}KeyPath
,或者- 符合的具体类型
ExpressibleByStringLiteral
该提案旨在放宽上述 “完全一个”要求,允许符合条件的下标在 dynamicMember
后获取额外的参数,只要它们具有默认值(或是可数的,因此具有隐含默认值)。
Swift论坛
Swift 核心团队宣布成立“生态系统指导小组”(Ecosystem Steering Group),旨在加强 Swift 开发者生态系统的支持结构。该小组将专注于开发者和文档工具的演进、Swift.org 网站、包管理器以及包生态系统的支持工作。
此外,还将支持 Swift 向更多平台的扩展,并简化创建此类移植的工具。该小组还将支持 Swift 在云端 IDE 和持续集成系统等标准或行业领先的开发者生产力工具中的发展。核心团队将选择生态系统指导小组的首批成员。
Swift 社区成员对 InlineArray 类型语法糖(如 [5 x Int])的提案进入正式评审阶段感到疑惑,认为该提案尚未充分讨论。一些成员指出,类似的语法在十年前曾短暂讨论过,但并未形成共识。他们担心当前的评审流程可能忽视了社区的反馈,导致讨论变得形式化。
对此,核心团队成员 John McCall 表示,提案进入评审并不意味着已被接受,后续将在语言指导小组(LSG)中进行深入讨论,欢迎社区继续提出替代方案。他强调,过度猜测评审流程会影响建设性的讨论,并计划将相关讨论移至新线程,以保持评审的专注性。
Swift 核心团队正式接受了 SE-0481 提案,引入对 weak let 的支持,允许开发者声明弱引用的不可变变量。此前,Swift 强制所有 weak 变量必须使用 var 声明,这在 Sendable 类型中引发了问题,因为可变属性与 Sendable 要求不兼容。该提案解决了这一限制,使得开发者可以在不引入额外封装结构的情况下,声明符合 Sendable 要求的弱引用属性。
此外,提案还明确了在闭包中对 weak 捕获的处理方式,默认将其视为不可变,除非明确声明为可变,从而增强了语言的一致性和类型安全性。该变更被认为是源代码兼容的,并为 Swift 的并发和内存管理特性提供了更强的支持。
Swift 社区成员 Rachel Brindle 提出在 Swift Testing 框架中引入“轮询期望”(Polling Expectations)的功能,旨在提升测试异步或延迟行为的能力。该功能允许开发者在指定的时间段内持续评估一个表达式,直到其通过(passesOnce)或在整个时间段内始终通过(passesAlways)。这对于测试如 ViewModel 属性在网络请求或数据库查询后更新的场景尤为有用。 
目前,该功能的初步实现已在 swiftlang/swift-testing 的 polling-expectations 分支中提供,需通过 @_spi(Experimental) import Testing
引入。示例代码如下:
await #expect(until: .passesOnce) {
taskDispatcher.finishedTaskCalled == "Important Task"
}
社区成员对该提案表示支持,并就 API 设计展开讨论。有人建议将 passesOnce 和 passesAlways 分为不同的宏,以更清晰地表达其语义。此外,关于使用超时时间(timeout)作为停止条件的可行性也引发了讨论。由于 Swift Testing 的并行测试运行器可能导致测试时间不稳定,使用固定的超时时间可能会导致测试结果不一致。因此,有人建议改为使用评估次数作为停止条件,以提高测试的可靠性。
该提案仍在积极讨论中,欢迎社区成员提出更多建议和反馈。
随着嵌入式 Swift 的不断发展和社区的壮大,原先托管在 swiftlang/swift 仓库中的文档面临以下挑战:
- 文档难以被发现,且未在 GitHub 仓库之外托管。
- 贡献文档需要克隆 swiftlang/swift 仓库并导航复杂的 swift-ci 流程,对新贡献者而言具有一定门槛。
- 文档试图涵盖多个构建系统、SDK 集成和语言模式等广泛主题,单人维护难以应对不断增长的内容。
为了解决这些问题,文档已迁移至 swift-embedded-examples 仓库,并采用 DocC 目录结构进行组织。初步迁移版本已在 Swift Package Index 上可供查看。
新文档结构(仍在完善中)包括:
- 嵌入式 Swift 概览:从 swiftlang/swift 移植的愿景文档。
- 入门指南:如使用 Swiftly 安装 nightly 工具链的指南。
- 示例教程:基于 swift-embedded-examples 仓库的示例驱动教程,例如 Raspberry Pi Pico 的 LED 闪烁项目。
- 构建系统支持:涵盖 Bazel、CMake、Make、SwiftPM 和 Xcode 的集成指南(目前为占位符)。
- SDK 支持:如与 Raspberry Pi Pico 的集成(需更新以适应现代 Swift CMake 用法)。
- 语言细节:包括 ABI、存在类型(Existentials)和非最终泛型方法等主题(大部分需重写)。
- 开发进展:如状态页面和 Swift 6.x 的发行说明(后者尚缺)。
目前文档仍在积极开发中,社区成员被鼓励参与内容撰写、结构优化和信息流改进等工作。有兴趣的开发者可在论坛中分享想法、提交 GitHub issue 或发起 pull request。
推荐博文
摘要: QuicklySwift 是一个专注于提升 SwiftUI 及 UIKit 开发效率的第三方库,通过扩展 UIKit 组件提供了一系列便捷方法。该库的核心优势在于简化了常见的 UI 开发任务,使开发者能够以更少的代码实现相同的功能。
在 UIView 方面,它提供了快速添加子视图和设置约束的功能,采用链式语法让代码更加简洁易读。对于 UIStackView ,它简化了堆栈视图的创建和配置过程,使得构建复杂的UI布局变得更加高效。 UITextField 的扩展则让开发者能够轻松设置占位符、限制输入长度,并实时监听文本变化。
UIButton 的扩展方法让事件绑定变得更加直观,同时支持监听按钮的选中状态变化。 UITableView 的相关扩展使得注册单元格、配置行数和内容变得更加便捷,还提供了监听行选中事件的功能。UIScrollView的扩展则专注于滚动和内容大小变化的监听。
此外,UIViewController 的扩展简化了生命周期事件的监听,而 UIAlertController 的扩展则让弹窗的创建变得更加简单,支持自定义按钮和取消操作。
总体而言,QuicklySwift通过一系列精心设计的扩展方法,显著提升了SwiftUI 和U IKit 的开发效率,减少了重复代码,使开发者能够更专注于业务逻辑的实现。详细文档可参考其 GitHub 仓库。
Swift 交叉编译:在 macos 上构建 swift vapor 项目的 linux 可执行文件
摘要: 本文介绍了如何在 macOS 上利用 Swift 静态 Linux SDK 交叉编译 Vapor 项目,生成可直接在 Linux 服务器运行的可执行文件。通过静态链接技术,避免了传统动态库依赖问题,简化了部署流程。文章还对比了静态库与动态库的优缺点,并给出具体构建步骤和注意事项,帮助开发者高效完成跨平台编译。
摘要: swift 的并发模型中,“隔离”(isolation)是编译器防止数据竞争的核心机制,但它的抽象方式与其他同步机制截然不同。作者通过类比 self 的作用,揭示隔离的本质:它由函数的定义决定,而非调用方式。在同步代码中,隔离状态固定不变,只有异步调用(如 await)可能触发隔离变化。
以 SwiftUI 的 @MainActor 协议为例,文章拆解了协议成员、类型定义和全局推断如何共同影响隔离规则。例如,即使某个函数未被显式标记隔离,但如果它属于 @MainActor 协议的成员,编译器仍会强制其运行在主线程。作者强调,这种设计可能导致看似矛盾的行为——比如非隔离函数调用 @MainActor 方法时,编译器会报错,因为隔离状态无法在同步代码中动态切换。
闭包的隔离行为进一步体现了这一规则。普通闭包默认继承外部隔离,但通过 @MainActor 显式标记时,若外部无隔离则会触发编译错误。而 Task 的特殊之处在于它能继承外部隔离,而 Task.detached 则会强制创建独立上下文。
尽管隔离机制复杂,作者认为开发者可以通过类比 self 的学习过程逐步掌握它。理解编译器的检查逻辑后,并发代码的安全性将显著提升。这一过程需要练习,但最终会像熟悉面向对象编程一样自然。
话题讨论
黄金大降价,你会囤一些吗?
- 会
- 不会
关于我们
Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战、SwiftUl、Swift基础为核心的技术内容,也整理收集优秀的学习资料。
特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量。