肘子的 Swift 周报 #008

肘子的话

欢迎访问 fatbobman.substack.com 订阅本周报的中英文电子邮件版本。

在11月22日,OpenAI 的 CEO 风波最终以 Sam Altman 的回归落下了帷幕。伴随着他的回归,该公司的董事会也进行了改组。

最近两周,我一直都在高强度地使用 ChatGPT 来帮助我创建新的项目(详情请见本期博客的文章)。不知道是否受本次事件的影响,ChatGPT 近期的稳定性相当不令人满意,希望随着公司管理团队的重新稳定,服务质量也能有所改善。

尽管在上周有关 OpenAI 事件的各种消息充斥着社交媒体的时间线,但真正让我感兴趣的反倒是一个由设计师和开发者自行发起的网络"派对":基于窗口位置的内容互动。

"派对"似乎是由这条推文所引发的。在推文中,Bjørn Staal 展示了基于 localStorage 实现的多浏览器窗口元素之间的互动视频。

很快,这个创意启发了不少的设计师和开发者,他们纷纷展示了自己的实现(@devdevcharlie、@nonfigurativ、@hakimel、@convey_it、@hungrydonke、@jw1dev),形成了一个自发的派对。

如果你也有兴趣,不妨参与到这次的"派对"中去。

前一期内容|全部周报列表

原创

与 AI 结对编程

fatbobman(东坡肘子)

在过去的两周时间里,在 AI 的辅助下,我在一个不熟悉的开发环境中使用陌生的语言和框架启动了博客的重建工作。通过这次重建过程,我希望能够对新的语言和框架有一定的掌握。本文记录了我与 AI 一起工作的一些体会。

近期推荐

Checking Out Assistive Access

Jordan Morgan

无论在功能机还是智能机的时代,在中国的手机市场上,老年机作为一个专门的品类,都占据不小的市场份额。通常这类手机的特点是,超长待机、字体大、声音大、按键大。从 iOS 17 开始,苹果在 iPhone 上提供了一种类似的模式:辅助访问( Assisitive Access)。辅助访问是一种独特的 iOS 体验,可让有认知障碍的用户更轻松地独立使用 iPhone。在本文中, Jordan Morgan 表达了他在使用后对这种模式的看法和一些建议。文章指出,开启此模式所需的一些步骤是有意为之的,因为这不是一个随意切换的功能,而是长期(或永久)使用的功能。文章的最后指出,目前缺乏API来判断是否启用了Assistive Access,这在作者看来是一个遗憾,因为这限制了Assistive Access的潜力。作者希望苹果能为第三方开发者提供更多支持,因为他们也愿意为这个使命贡献力量。

Daniel Saidi

在本文中 Daniel Saidi 介绍了如何在 SwiftUI 中定制 macOS 应用的菜单栏。除了讲解了 CommandMenu、CommandGroup 的基本用法外,作者还探讨了一些高级主题,例如,如何处理多窗口应用中的菜单命令和实现自定义焦点值( FocusedValueKey )。作者通过示例代码和截图清晰地展示了每个步骤,使读者能够跟随并应用这些技巧在自己的 SwiftUI 应用中,以实现更加有特色的 macOS 菜单栏。

Using Swift SDKs to cross-compile Swift packages to Linux

Pol Piella Abadia

跨平台编译在开发中是十分常见的需求,在 Swift 5.8 及更早版本中,开发者需要通过所谓的"目标文件"(destination file)来实现跨平台编译代码,创建和分发过程比较繁琐。幸运的是,Apple 的 Swift 团队通过引入 Swift SDKs 大大简化了这个过程。在这篇文章中,Pol Piella Abadia 详细介绍了如何使用 Swift 命令行工具检索、安装和使用 Swift SDKs。本文为想要在 Linux 等平台上对 Swift 代码进行交叉编译的开发者提供了详细的指导和有用的资源。

Swift JSON/Model 库调研

songgeb

本文是作者对用于 JSON 和 Model 互转的 Swift 代码库进行的调研总结。文章的目的是寻找一种易用的工具,解决 Swift 原生 Codable 存在的一些不易用的问题( Codable 能够解决,但通常需要开发者手动编写额外的代码)。文章对比了几个不同的 JSON 库,包括 ObjectMapper、HandyJSON、KakaJSON、ExCodable 和 CodableWrapper。并在综合考虑了功能、稳定性、接入成本和最低 iOS 版本要求后给出了自己的选择。

VisionOS: Debug Window

Yasuhito Nagatomo

预计明年一季度,开发者就能收到 Apple Vision Pro 了。那么,在佩戴上设备调试应用时,开发者该如何获取到调试信息呢?Yasuhito Nagatomo 在这篇推文中给出了他的解决方案。

播客

完蛋!我被 OpenAI 新闻包围了!

枫言枫语播客

美国时间11月17日,OpenAI 官宣开除 CEO Sam Altman,自此,每日新闻一直反转,堪比宫斗神剧。枫言枫语的两位主播 枫影 Justin Yan 和 自力hzlzh ,将通过播客的形式与广大听众一起吃瓜。

在本期播客即将发布之际,Sam Altman 又回去当 CEO 了,之后应该还会有持续的报道。

活动

🇸🇬 来自 iOS Conf SG 的邀请信

你好,中文圈的开发者!我们是 iOS 新加坡大会的筹办团队,在新加坡有许多说中文的华人,所以我们相信这是一个让中文开发者交流的好机会,希望能邀请更多中文圈的开发者一起参与 😊 。

大会亮点:

🔥 业界大佬 Paul Hudson 带来的最新数据保存框架「SwiftData」实战工作坊

🗣️ 10+ 位不同背景的资深开发者与设计师组成的演讲阵容

🤝 来自 30+ 个国家的开发者参与一同交流

活动详情:

日期:2024 年 1 月 18-19 日

地点:新加坡 SingPost Centre(巴耶利巴地铁站步行 2 分钟)

折扣码

非常感谢肘子让我们在电子报推广,在肘子的 Discord 上也有专属频道,欢迎大家一起讨论和组团参加!(3 人以上有团报优惠价)

我们也特别提供各位专属的购票折扣码「FLY2SG」,希望能在大会上见到大家 💗。

了解更多并报名:iosconf.sg/

折扣码有效期间至 12 月 12 日中午 12 时

THANK YOU

如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞 、赞赏 ,并将其 转发 给更多的朋友。

欢迎访问 fatbobman.substack.com 订阅本周报的中英文电子邮件版本。

相关推荐
茶底世界之下8 小时前
导出进度不是一个百分比:AVFoundation 收尾阶段的状态建模
ios·swift
大熊猫侯佩8 小时前
macOS27 上可变界面尺寸 iOS App 揭秘
macos·ios·swiftui
大熊猫侯佩8 小时前
iPhone Duo 从外屏到内屏:ArrangementView 抢先适配
swiftui·xcode·apple
茶底世界之下8 小时前
为什么媒体源不能在回调仍执行时提前报告 finish?
swift
大熊猫侯佩8 小时前
为 iPhone Duo 做准备:containerConcentric 自适配指南
前端·swiftui·xcode
茶底世界之下8 小时前
为什么视频处理器必须提前声明“它能处理什么帧”
swift
茶底世界之下8 小时前
录制结束,不代表视频文件已经交付:AVFoundation 录制完成状态的工程化判断
swift
茶底世界之下6 天前
为什么预览、录制、离线导出不能共享同一个背压策略?
ios·swift
2501_915909066 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
东坡肘子6 天前
一场关于 SwiftUI 动画的“原生”之争 -- 肘子的 Swift 周报 #154
人工智能·swiftui·swift