阅读视图

发现新文章,点击刷新页面。

老司机 iOS 周报 #350 | 2025-09-08

ios-weekly
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

文章

🐕 What's New in the Lambda V2 Runtime (Beta)

@Kyle-Ye: Lambda V2 Runtime 是 AWS Lambda Swift 运行时的重大升级,核心改进是使用 Swift 结构化并发重写了内部实现。新版本引入了更灵活的执行模型,开发者可以控制 main 函数入口,支持后台执行(LambdaWithBackgroundProcessingHandler)和流式响应(StreamingLambdaHandler)等高级特性。同时提供了统一的服务生命周期管理机制,让 Lambda 函数能够优雅地处理初始化和清理工作。对于需要在 AWS Lambda 上运行 Swift 代码的开发者来说,V2 运行时带来了更强大的控制能力和更好的性能表现,值得关注并适时迁移。

🐎 Flutter 小技巧之有趣的 UI 骨架屏框架 skeletonizer

@Crazy:骨架图是 app 中经常用来等待网络加载的一种方式,这种方式可以更友好的让用户知道 app 的状态。Skeletonizer 可以让使用者快速的完成骨架图的功能开发,只需把布局包裹在 Skeletonizer 外层,开启 enabled: true 即可得到骨架屏动画。简单来说 skeletonizer 就是通过自定义 PaintingContext 拦截处理 child 的渲染,让原 UI 直接转化为骨架,而不是手写一份骨架版 UI。还可以通过配置来实现更精细的控制骨架化逻辑,比如跳过、合并等。但是越复杂的界面实现起来也就越困难,很多时候需要自己来实现骨架图。这篇文章主要是给大家一个思路,这种实现方案不仅可以用于骨架图,也可以用来其他的功能开发。

🐕 果味儿幽灵 -- Xcode 新 AI 助手深度解析

@Smallfly:这篇文章深度拆解了 Xcode 26 全新 AI 助手的技术内核,从源码到行为策略揭示其「苹果味儿」的设计逻辑。核心内容包括:

  • 架构设计:采用 Planner-Executor 模型,planner 负责意图分类与方案规划,executor 调用 edit_file 等工具执行代码修改,确保行为确定性。
  • 策略驱动:通过外部 .idechatprompttemplate 文件定义「苹果优先」规则,强制使用 Swift Concurrency、Swift Testing 等技术,甚至要求回答「苹果新特性」前必须调用 search_additional_documentation 检索内部文档。
  • 扩展潜力:prompts 外置、工具动态加载的设计,为开发者定制助手提供可能——修改文本模板或注入自定义工具即可调整其「灵魂」。
  • 对比价值:与 Cursor、Claude Code 等工具对比,突出 Xcode AI 在 IDE 深度集成、企业合规上的优势。

文章结合框架源码与实践案例,为开发者理解这一「执拗」助手的行为逻辑,甚至是二次定制提供了关键视角。

🐎 iOS 26 正式版即将发布,Flutter 完成全新 devicectl + lldb 的 Debug JIT 运行支持

@david-clang:Apple 在 iOS 26 中禁止 Debug 时 mprotectRX 权限,将导致真机无法在 Debug Mode 编译成功的错误,Flutter 之前采取的 hack 方案会导致容易出现 Timed out *** to update 错误,现在的方案是在  iOS 17+ 和 Xcode 26+ 上利用 devicectllldb 突破 RX 权限限制, 完成了全新 LLDB 调试的适配迁移。

🐎 What makes Claude Code so damn good (and how to recreate that magic in your agent)!?

@zhangferry:在编程领域为什么总感觉 Claude Code 比其他 Agent 要强不少?除了模型本身的差异,更重要的是对 Agent 的设计逻辑上,本文罗列了几点值得借鉴的 Agent 设计原则。

  1. 控制逻辑设计
  • 只保留一个主循环,最多增加一个处理分支。过多分支路径下既容易出错,还不容易调试
  • 一些简单工作比如读文件、总结记录等交给小模型处理
  1. Prompts 设计
  • 要有一个整体的配置文件(类似 claude.md)以记录用户偏好,比如跳过某些文件夹,使用特定的库。来自 MinusX 的实践,在 AI 首次遇到一些不了解的专有名词时,会自动提醒要不要补充信息到该配置文件。
  • 一些标记或者示例,可以使用 XML 标签或者 Markdown 语法,以强化提醒
  1. Tools 设计
  • 在内容搜索时使用 jq、find 这类轻量工具而不是 RAG 这种重工具
  • 给工具分类,低级工具(bash 命令、读文件)、中级工具(grep、glob)、高级工具(网页搜索等 MCP),每个工具都注明其适用场景
  • 让 AI 自己管理 todo list。长任务里,AI 容易忘事,就让它自己写待办、随时看,还能中途改,避免做到一半 “跑偏”
  1. 可控性设计
  • 语气和风格限制,使得 AI 回答更简洁
  • 对于重要的规则,使用这些关键字 IMPORTANTNEVER 会很有效
  • 「什么时候该做什么,不该做什么」不易过多,因为他们容易冲突,处理逻辑的关键步骤需补充一些启发式的方法和处理策略

代码

awesome-nano-bananaawesome-gpt4o-images

@EyreFree:当下 AI 生图技术发展迅猛,Nano Banana 和 GPT-4o 备受关注。Nano Banana 基于谷歌 Gemini 2.5 Flash Image 架构,解决了角色一致性等难题,能深度理解物理逻辑,支持对话式编辑,在商业、营销及个人创作等领域应用广泛。GPT-4o 是 OpenAI 的多模态大模型,风格多样,构图真实,便于再编辑且响应迅速,常用于广告、艺术、设计等场景。相关的 JimmyLv/awesome-nano-bananajamez-bondos/awesome-gpt4o-images 仓库,收集了大量图像案例与提示词,为探索 AI 生图技术提供了丰富资源。

内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考

具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom

说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

老司机 iOS 周报 #349 | 2025-09-01

ios-weekly
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

文章

🐎 Why I'm Not Using Xcode 26's AI Chat Integration (And What Could Change My Mind)

@阿权:文章者结合自身开发体验,分析了 Xcode 26 中 AI 集成的不足,并建议 Apple 补齐(作者也是恨铁不成钢啊!):

  1. 请求队列:AI 功能会阻塞输入,无法 “边等待边规划”,打断开发思路。
  2. 上下文工程支持:不支持输入上下文文档,需反复解释编码规则,难以调教。
  3. 构建验证能力:无法自行构建、读取错误日志,频繁依赖人工操作,打断开发节奏。
  4. Git 集成:无法搜索历史、对比版本、自动提交,无法利用代码历史辅助开发(如恢复旧代码、更新文档)。
  5. 终端与 CLI 访问:无法通过终端运行自定义的 CLI 工具,简化多任务工作流。
  6. 项目文件限制:无法打开多仓库文件夹,适配复杂项目结构的能力差。
  7. 网页搜索与文档访问:无法获取最新 API / 提案信息,需手动查找,降低信息获取效率。

作者认为 Xcode AI 目前更像个 “功能展示”(有但难用),而非真正的生产力工具,核心问题是未围绕 “ AI 驱动开发” 的工作流设计(如频繁的人工干预、缺少自动化能力)。

为此,作者也是放弃了 Xcode 转向了 Cursor + Claude Code。

🐎 Working with partially generated content in Xcode previews

@DylanYang:iOS 26 有了新的 Foundation Models 框架支持开发者通过系统端侧的模型来生成一些数据,本文作者在此之上探索了如何让 Xcode Preview 功能和这些端生成的数据结构进行交互预览。预览 SwiftUI 的静态布局的话我们可以通过代码构造对应的数据结构来 mock 一个实现,此外也可以通过 json 的方式构造一个 GeneratedContent 作为端生成数据结构的初始化参数。如果需要验证流式输出对于 UI 布局的影响,则可以借助 AsyncThrowingStream 来模拟模型生成的场景。

🐢 From GPT-2 to gpt-oss: Analyzing the Architectural Advances And How They Stack Up Against Qwen3

@阿权:本文围绕 OpenAI 新发布的开放权重模型 gpt-oss(20B/120B)展开,对比了从 GPT-2 的架构演进,并与 Qwen3 的特性进行对比,最后总结其实用价值和局限。内容可概括为:

从 GPT-2 到 gpt-oss 的架构演进:

演进点 旧设计(GPT-2) 新设计(gpt-oss) 收益
正则化 Dropout 无 Dropout 单轮训练场景无过拟合风险,提升效率
位置编码 绝对位置编码 RoPE(旋转位置编码) 支持更长上下文,减少参数
激活函数 GELU + 2 层前馈 SwiGLU + 3 层门控前馈 降低计算成本,增强表达能力
前馈模块 单前馈模块 MoE(混合专家模型) 平衡模型容量与推理效率
注意力机制 MHA(多头注意力) GQA(分组查询注意力) 减少显存与计算开销
长上下文优化 滑动窗口注意力(128 token) 进一步降低长文本推理成本
归一化层 LayerNorm RMSNorm 简化计算,提升 GPU 训练效率
推理控制 推理强度可调(低 / 中 / 高) 平衡成本与准确率

gpt-oss 与 Qwen3 模型差异较小,在一些特性上各有千秋:

维度 gpt-oss-20B Qwen3 30B-A3B
架构权衡 更宽(嵌入维度 2880)、少量大型专家(32 个) 更深(48 个 Transformer 块)、大量小型专家(128 个)
长上下文处理 滑动窗口(13.1 万 token),但设计了 Attention Bias、Attention Sinks 纯 GQA 支持更长上下文(26.2 万 token)

实用价值与局限:

  • 优势:MXFP4 优化适配单 GPU(20B 需 16GB 显存,120B 需 80GB 显存),推理强度可调,性能接近闭源模型;
  • 局限:幻觉率较高,无训练代码 / 数据集(仅开源权重与推理代码),未提供基础模型;
  • 未来潜力:随着工具集成成熟,可通过调用外部资源(如搜索引擎)弥补知识遗忘,进一步释放推理能力。

总体而言,gpt-oss 的发布丰富了开源 LLM 生态,为需要本地部署、高推理能力的场景提供了新选择,也为研究 Transformer 架构演进提供了重要参考。

注意:尽管 gpt-oss 名称中,oss 为 Open-source Software,但官方明确它只是开放权重(Open-weight)模型,仅提供模型权重与推理代码,而非完全开源。

🐕 GPT-5 Thinking System Prompts Leak

@Barney:这份提示词让我们看到 GPT-5 Thinking 模型的内部运作机制。核心内容包括:
知识边界:模型知识截止 2024 年 6 月,当前时间设定为 2025 年 8 月,具备 Web 搜索、Python 分析、图像生成等多种工具集成能力
交互规范:采用三通道架构(analysis、commentary、final),支持富文本 UI 组件(图片轮播、产品卡片、图表),强制要求立即完成任务不可推诿
安全机制:严格的事实核查要求(需引用来源),时效性信息强制网络验证,设有 1-10 级详细度控制参数
为理解大语言模型的提示工程和安全设计提供了珍贵的第一手资料,对 AI 应用开发者极具参考价值。

🐕 Corner concentricity in SwiftUI on iOS 26

@AidenRao:iOS 26 的同心圆角(Corner Concentricity)是苹果在 WWDC 2025 上强调的一项重要设计理念和视觉特性。同心圆角的核心思想是让嵌套的 UI 元素具有和谐一致的圆角,即使它们的大小或层级不同,其圆角的视觉“圆心”也尽可能保持一致,从而营造出统一、精致且富有纵深感的界面效果。

SwiftUI 引入了 ConcentricRectangle 这个新的 API,帮助开发者更高效地在复杂布局中实现完美的同心圆角效果,让界面设计更加统一与精致。

🐕 MNN LLM Chat iOS 流式输出优化实践

@JonyFang: 本文针对 iOS 应用中部署大语言模型(LLM)时出现的文字流式输出卡顿问题,提出了一套高效的三层优化方案:通过智能流缓冲解决模型输出与 UI 更新的频率不匹配,利用 UI 更新批处理与节流降低主线程压力,并借助打字机动画渲染增强视觉流畅性。这一方案提升了本地 LLM 应用的交互体验,适合开发高性能 AI 聊天应用的团队参考实践。其开源实现:MNN GitHub 项目 - https://github.com/alibaba/MNN

内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考

具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom

说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

老司机 iOS 周报 #348 | 2025-08-25

ios-weekly
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新手推荐

🐎 High Level Anatomy of a Camera Capturing Session

@AidenRao:这边文章用比较简单易懂的话,介绍苹果的相机从拍摄到 Swift 中展示的完整流程。文章不长,比较适合做个相机原理了解。

文章

🌟 🐕 从 DisplayList 到 Transaction: SwiftUI 调试实战

@Kyle-Ye: 文章介绍了如何通过 SwiftUI 中的相关环境变量,使用 DisplayList 输出分析视图渲染问题,通过符号断点和汇编调试深入分析 SwiftUI 内部机制,并使用 AttributeGraph 等调试工具进行问题定位。

🐕 Faster Equatable and Hashable conformances with Identifiable

@Smallfly:这篇文章聚焦 Swift 中 EquatableHashable 协议的性能优化,揭示了编译器自动合成实现的潜在瓶颈,并提出结合 Identifiable 协议的改进方案。核心内容包括:

  • 问题分析:默认合成的 Equatable/Hashable 会逐成员比较或哈希,对含大集合(如 [User])或嵌套结构的类型,复杂度达 O(N),在 SwiftUI 视图更新、Set 操作中易成性能瓶颈。
  • 优化方案:利用 Identifiableid 属性(如 UUID),仅基于唯一标识实现 EquatableHashable,将操作复杂度降至 O(1)。
  • 数据验证:基准测试显示,含 1000+ 员工的 Company 类型,Identifiable 方案的 Equatable 快 3 倍,Hashable 快 3 万倍。

文章结合编译器源码与 SwiftUI 实践,为性能敏感场景提供了可落地的优化思路。

🐢 What's New in UIKit

@Barney:这篇文章详细总结了 iOS 26 中 UIKit 的全面更新。尽管 UIKit 不再是 WWDC 的主角,但今年仍获得了大量新特性。
主要更新概况:
Liquid Glass 设计语言:新增 UIGlassEffectUIButton.Configuration 的玻璃按钮样式,以及 UIBarButtonItem 的共享背景支持
• 导航栏增强:UINavigationItem 新增 subtitlelargeTitleattributedTitle 等属性,支持更丰富的标题展示
• 分割视图改进:UISplitViewController 支持新的 inspector 列,提供类似 macOS 的检查器面板
• 标签栏配件:UITabAccessory 允许在标签栏上方添加浮动工具栏,支持折叠展开动画
• HDR 色彩支持:UIColor 新增 HDR 初始化方法,UIColorPickerViewController 支持曝光调节
• 角落配置 API:UICornerConfiguration 提供统一的圆角设置方案,支持容器同心圆角
• 自然文本选择:UITextView 支持混合左右文字的自然选择,selectedRanges 替代 selectedRange
• 主菜单系统:UIMainMenuSystemiPadOS 提供 macOS 风格的菜单栏
• 观察者模式集成:UIViewUIViewController 原生支持 Swift Observation 框架
• 滑块增强:UISlider 新增刻度配置和无拖柄样式
整体而言,iOS 26 的 UIKit 更新聚焦于视觉现代化、跨平台一致性和开发便利性的提升。

🐕 SwiftUI for Mac 2025

@Cooper Chen:这篇文章总结了 SwiftUI 在 macOS 26 上的多项改进,主要亮点包括:

  • 统一图标格式:Xcode 26 新增 Icon Composer,可用 SVG 分层生成跨平台图标,并向下兼容旧系统。
  • Liquid Glass 风格:按钮、滑块、切换等控件拥有玻璃质感与动态反馈,UI 更现代。
  • 原生 WebView:SwiftUI 首次内置 WebView,无需桥接即可加载网页并追踪导航事件。
  • 列表性能优化:List 在处理上万条数据时依然流畅,适合大数据量展示。

整体来看,SwiftUI 在 Mac 上的易用性与表现力进一步提升,对想要打造现代化界面的开发者非常有参考价值。

🐎 Git 2.51 support push/pull stash

@david-clang:过去 git stash 难以在不同机器之间迁移,Git 在 8 月 18 日发布的 2.51.0 版本支持 push/pull stash,实现跨机器共享 stash。但要在 GUI 工具上应用该特性,还要再等等,目前 Fork 支持的 Git 版本是 2.45.2。

内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考

具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom

说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

What's Changed

Full Changelog: #347...#348

❌