首页
/ SwiftOldDriver/iOS-Weekly 技术周报第324期解读

SwiftOldDriver/iOS-Weekly 技术周报第324期解读

2025-06-12 11:12:33作者:庞眉杨Will

项目介绍

SwiftOldDriver/iOS-Weekly 是一个专注于 iOS 开发领域的技术周报项目,由国内资深 iOS 开发者维护。该项目每周精选 iOS 开发相关的新闻、文章、工具和技巧,为开发者提供高质量的技术资讯。第324期周报发布于2025年2月24日,涵盖了iOS 18.4 Beta 1新特性、SwiftUI Preferences机制、Swift 6同步框架等多个技术主题。

iOS 18.4 Beta 1新特性解析

苹果最新发布的iOS 18.4 Beta 1版本为中国用户带来了期待已久的中文版Apple Intelligence功能。根据官方发布说明,开发者需要注意以下两点:

  1. 对于非英语的中文用户,使用Apple Intelligence功能需要预先启用Siri,并允许通过任何方式唤醒Siri。
  2. 设备还原后可能会出现Apple Intelligence显示"Downloading support..."的错误提示,此时重启设备可能解决问题。

SwiftUI Preferences机制深度解析

SwiftUI中的Preferences机制是视图间通信的重要方式,特别是在父子视图间传递数据时非常有用。Preferences允许子视图向上传递信息到父视图,而不需要显式地通过绑定或环境对象。

开发者可以利用Preferences构建各种自定义视图功能,如表单验证等。在Swift 6中,Preferences机制可能会有一些变化,开发者需要关注这些潜在的兼容性问题。

Preferences的工作流程通常包括:

  1. 定义自定义PreferenceKey类型
  2. 在子视图中设置preference值
  3. 在父视图中使用onPreferenceChange接收更新

Swift 6同步框架详解

Swift 6引入了全新的同步框架,主要包含两个底层结构:Mutex和Atomics。

Mutex(互斥锁)

Mutex能够自动为被它包裹的数据访问加锁,其性能与手动代码加锁相当,但相比使用Actor有显著性能优势。不过需要注意的是,Mutex会阻塞当前线程,这是它与Actor的主要区别。

Atomics(原子操作)

Atomic可以确保被它包裹的操作成为原子操作,不会被并发打断。从性能角度看,Atomic与Actor相比没有明显优势,因此在大多数情况下使用Actor已经足够满足需求。

开发者应根据具体场景选择合适的同步机制:

  • 需要高性能且可以接受线程阻塞时,考虑使用Mutex
  • 需要简单易用的并发控制时,Actor是更好的选择
  • 需要确保单个操作的原子性时,可以使用Atomic

VisionOS开发与TabletopKit框架

在VisionOS应用开发中,TabletopKit框架为桌面游戏类应用提供了强大支持。这个框架特别适合开发密室逃脱等交互式场景,主要特性包括:

  1. 多人互动支持
  2. 智能的桌面Persona布局
  3. 丰富的交互能力
  4. 针对Vision Pro设备的优化

对于想要开发Vision Pro桌面游戏的开发者,TabletopKit提供了完整的解决方案和API支持。

Xcode 16开发问题解决方案

升级到Xcode 16后,开发者可能会遇到"Waiting to reconnect to..."的问题,特别是在Apple TV(tvOS 17.7)上构建应用时。这个问题通常是由于DDI(Developer Disk Image)内容过时导致的。

解决方案是运行以下命令更新DDI:

xcrun devicectl manage ddis update

这个方法不仅适用于tvOS开发,也可以解决iOS开发中的类似连接问题。Xcode 16引入了新的DDI管理方式,开发者需要适应这一变化。

FFmpeg汇编课程简介

FFmpeg团队推出的汇编课程对于视频编解码开发人员非常有价值。FFmpeg作为业界最重要的开源视频编解码库,使用了大量汇编代码来优化性能。

目前课程主要基于x86架构的汇编语言,但团队表示未来会添加ARM架构的内容。学习这些汇编优化技术可以帮助开发者:

  1. 理解高性能视频处理的底层原理
  2. 学习关键的优化技巧
  3. 掌握现代多媒体开发的底层技术

iOS设备离线运行LLM模型

现在可以在iPhone上离线运行大型语言模型(LLM)了。通过fullmoon应用,用户可以直接在设备上运行mlx-community/DeepSeek-R1-Distill-Qwen-1.5B-4bit模型。

技术实现基于苹果的MLX Swift框架,iOS开发者可以通过修改LLMEval示例来运行DeepSeek模型。根据测试:

  • iPhone 16 Pro可以流畅运行1.5B和7B规模的模型
  • 无需网络连接,完全离线运行
  • 响应速度快,适合隐私敏感场景

DispatchConcurrentQueue使用注意事项

开发者在使用DispatchConcurrentQueue时需要注意,这个API实际上从iOS 17才开始可用。Xcode 15存在标注错误,虽然能通过编译检查,但在运行时会导致崩溃。

关键点:

  • Xcode 15错误地标记了API可用性
  • Xcode 16已修正这个问题
  • 实际最低支持版本是iOS 17
  • 使用时务必进行版本检查

总结

本期SwiftOldDriver/iOS-Weekly技术周报涵盖了从系统更新到底层优化的多个技术主题。对于iOS开发者来说,这些内容既有即时的实用价值,也有长期的技术参考意义。特别是Swift 6的同步框架和VisionOS开发工具,代表了苹果平台开发的未来方向。开发者可以根据自己的项目需求,选择性地深入研究相关技术点。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
897
533
KonadoKonado
Konado是一个对话创建工具,提供多种对话模板以及对话管理器,可以快速创建对话游戏,也可以嵌入各类游戏的对话场景
GDScript
21
13
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
85
4
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
374
387
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
94
15
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
626
60
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
402
378