Swift 周报 第五十六期

news2024/12/30 2:25:59

在这里插入图片描述

在这里插入图片描述

文章目录

    • 前言
    • 新闻和社区
      • 苹果与消费者修改 3500 万美元 iPhone 音响和解协议
      • 苹果(AAPL.US)因监管担忧今年不会在欧盟推出 AI 功能
      • 苹果暂停高端 Vision 头戴设备研发 计划推出更廉价版
    • Swift论坛
    • 推荐博文
    • 话题讨论
    • 关于我们

前言

本期是 Swift 编辑组自主整理周报的第五十六期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。

Swift 周报在 GitHub 开源,欢迎提交 issue,投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。

夜色难免黑凉,前行必有曙光。Swift社区不相信运气,但坚信勇气。且与旧事归于尽,明日依旧迎花开!👊👊👊

周报精选

新闻和社区:苹果暂停高端 Vision 头戴设备研发 计划推出更廉价版

Swift 论坛:讨论 Swiftly 即将推出的增强功能

推荐博文:Swift 中的仓库设计模式详解

话题讨论:

苹果将新 AI 功能限制在高端设备的策略,这会让你换新的 iPhone 吗?

上期话题结果

在目前情况下,全国统一高考试卷的实施需要谨慎对待。虽然统一试卷在一定程度上能够提高考试的公平性和质量,但也必须考虑到各地教育发展的不平衡性。

新闻和社区

苹果与消费者修改 3500 万美元 iPhone 音响和解协议

2024 年 6 月 22 日

苹果公司和消费者的律师更新了一项价值 3500 万美元的和解协议,该协议将解决苹果公司销售的 iPhone 7 和 7 Plus 手机音质差、通话能力受损的指控。美国加州北区地方法院于 2023 年 11 月初步批准了该和解协议。消费者称,iphone 的一个缺陷降低了音频质量,使其难以拨打电话或使用 Siri 等功能。(来源:新浪网)

苹果(AAPL.US)因监管担忧今年不会在欧盟推出 AI 功能

2024 年 6 月 22 日

苹果( AAPL.US )拒绝向欧盟数亿消费者提供大量 AI 新技术,理由是欧盟监管机构试图控制大型科技公司,这引发了担忧。苹果今年将不会对欧盟用户发布 Apple Intelligence、iPhone Mirroring 和 SharePlay Screen Sharing,因为据称《数字市场法》会迫使苹果降低产品和服务的安全级别。

苹果在一份声明中说,“我们担心《数字市场法》对互操作性要求可能会迫使我们以削弱用户隐私和数据安全的方式损害产品的完整性”。

《数字市场法》对被归为“看门人公司”的互联网巨头企业提出一系列规范性要求,包括不得滥用市场支配地位打压或并购竞争对手、不得未经用户允许强行推送广告或安装软件,不得将采集的用户数据移作他用等等。违者将被处以相当于该企业年营业额 10% 的高额罚款。作为规定的一部分,欧盟指定 6 家最大的科技公司为“看门人”——需要更严格审查的强大平台。除苹果外,这份名单还包括微软( MSFT.US )、谷歌母公司 Alphabet( GOOGL.US )和 Facebook 所有者 Meta Platforms(META.US)。

欧盟委员会在回应苹果的计划时表示:“只要遵守我们旨在确保公平竞争的规定,我们欢迎守门人在欧洲提供服务。”

苹果的 AI 技术“苹果智能( Apple Intelligence )”是其最近全球开发者大会( WWDC )演讲的亮点,该演讲还包括对苹果操作系统的更新。该技术将有助于总结文本、创建原始图像,并在用户需要时检索最相关的数据。这一举措还包括升级后的 Siri,这是苹果曾经开创性的数字语音助理。这些新功能在最近几周帮助推动了苹果股价的上涨。自 6 月 10 日的 WWDC 发布会以来,苹果股价已经上涨了约 9%,使该公司的估值超过 3.2 万亿美元。

苹果决定停止在欧盟的推广 AI 技术服务,这意味着欧盟所有 27 个国家的消费者,包括法国、德国、西班牙和意大利等国,目前将无法获得该公司雄心勃勃的新人工智能技术。这款软件将于今年秋天在其他地方推出,但只适用于苹果的一小部分设备,而且只支持美式英语。目前尚不清楚这些功能可能如何违反《数字市场法》,但苹果拒绝提供该技术可能会激怒该地区的消费者,他们可能会向监管机构施加压力。

苹果高管已经在大型科技公司的市场垄断问题上与欧盟发生争执。苹果最早将于周一收到欧盟监管机构根据《数字市场法》发出的正式警告,原因是苹果涉嫌阻止应用程序引导用户在网络上进行更便宜的订阅交易——根据传统的反垄断法,苹果今年早些时候已经被布鲁塞尔监管机构处以 18 亿欧元( 19 亿美元)的罚款。(来源:智通财经网)

苹果暂停高端 Vision 头戴设备研发 计划推出更廉价版

2024 年 6 月 19 日

据《信息报》周二报道,援引自一家为苹果 VisionPro 提供关键部件的制造商员工,苹果公司目前已经暂停了对下一代高端 Vision 头戴设备的研发。此消息一出,立即在科技界引发了广泛关注。

报道中提到,有供应链及耳机制造的相关人士透露,这家知名的 iPhone 制造商目前正集中精力,计划在明年年底之前推出一款价格更为亲民、功能较为简化的 Vision 产品。面对路透社的评论请求,苹果公司尚未立即作出回应。

业内分析认为,这一策略调整可能与市场需求的变化有关。苹果原计划在包括中国和日本在内的八个新国家推广其售价为 3500 美元的 VisionPro,以期提振销量。然而,在产品发布初期的热潮过后,该设备面临着需求放缓的挑战。

本月早些时候,在苹果的年度开发者大会上,公司揭开了其人工智能战略的神秘面纱,同时宣布了与 ChatGPT 的制造商 OpenAI 的合作关系。这一消息发布后,苹果股价得到了显著提升,今年迄今为止已上涨超过 11%。这一涨幅是在年初中国 iPhone 需求疲软,苹果股价一度落后于其他大型科技公司的情况下实现的。

报道还提到,苹果原本打算效仿 iPhone 的产品线,将 Vision 产品分为标准版和 Pro 版两种型号。但现在,随着研发重点的转移,这一计划可能会有所调整。

据悉,苹果在过去的一年中逐渐降低了 VisionPro 继任产品的开发优先级。公司内部资源分配的变化显示,开发下一代车型的员工数量在减少,而公司更多地专注于降低第一代车型的零部件成本,以提高产品的市场竞争力。(来源:环球网)

Swift论坛

  1. 宣布Swift 项目的新 GitHub 组织

内容概括

Swift 编程语言正在迁移到一个专门的 GitHub 组织(GitHub.com/swiftlang)。这一迁移反映了 Swift 社区的成长和成熟,并强调了 Swift 在 Apple 生态系统之外的多样性。新的 GitHub 组织将为协作和创新创造更有利的环境,使 Swift 能够扩展到更多平台和用例。

迁移将分阶段进行,初始范围包括 Swift 项目的基础元素,如编译器、核心工具、标准库、核心 API、示例、Swift.org 网站以及官方客户端和驱动程序等。

迁移过程将解决几个关键的治理方面,包括新项目整合方法、扩大贡献者基础、明确提交者角色,以及扩展持续集成支持。
这是一个社区范围的努力,由核心团队、贡献者体验工作组、Swift 服务器工作组和网站工作组等多个群体共同推动。迁移将逐步进行,保持完全透明。

作为第一步,swift-evolution 仓库将于今天迁移,其他仓库将在接下来的几周内陆续转移。核心团队对过去十年来为 Swift 梦想做出贡献的每个人表示深深的感谢,并期待 Swift 的下一个篇章。

  1. 讨论[已接受] Swift 测试的新方向

内容概括

将成立 Swift 测试工作组,隶属于生态系统指导小组。
该愿景是 swift-testing 项目的延续,旨在改进 Swift 的测试 API 和工具。

语言指导小组和平台指导小组已审核并接受了这一愿景。

该文档强调了测试的目标和基本设计方法,具体设计将由社区讨论和审核。

然而,有评论指出:

  1. 这些变化主要是表面的,focusí 于改善易用性和表达能力。
  2. 缺乏解决开发者在测试中遇到的最大问题的雄心,例如没有涉及模拟(mocking)。
  3. 模拟是开发者最 struggle 的部分,与 Swift 的严格类型系统相矛盾。
  4. 需要更多、更大的创意来真正实现 Swift 测试的"新方向"。

总的来说,这个愿景虽然有所进步,但可能不足以称为测试的"新方向",还需要更多实质性的改进。

  1. 讨论Swiftly 即将推出的增强功能

内容概括

Swiftly 即将推出的增强功能

Swiftly 是一个命令行工具,帮助用户开始使用 Swift 工具链并在多个版本之间轻松切换。以下是计划中的主要改进:

  1. macOS 支持:扩展到 macOS 平台。
  2. 命令代理:允许为不同项目指定特定工具链版本。
  3. 迁移到纯 Swift:将安装脚本逻辑移至 Swiftly 本身。
  4. 移除 GitHub API 依赖:改用 swift.org 获取元数据和更新。
  5. 新功能:
    • 查询可用工具链
    • 设置项目默认版本
    • 改进安装体验

这些改进旨在使 Swiftly 成为 Swift 的默认安装体验,提高易用性和灵活性。

对于 CI 系统,将考虑提供迁移指南。系统级包管理器仍是最无缝的安装方式,但 Swiftly 提供了更灵活的用户级管理。

为改善用户体验,计划调整系统依赖项安装流程,提高透明度并保持用户级工具的心智模型。对于 CI 环境,可能会添加检测 root 用户并自动安装依赖的功能。

总体目标是让 Swift 开发更accessible,并为新手提供更好的体验。

  1. 讨论在某些情况下,“包”访问级别可以是隐式的吗?

内容概括

讨论涉及 Swift 编程语言中 package 访问级别的隐式使用。主要问题是:为什么包类型的成员声明不能默认为 package 访问级别?

提议的优点:

  1. 减少代码中显式 package 关键字的使用,可能减少约85%。
  2. 如果类型已标记为 package,其成员通常也需要相同级别的可见性。

反对意见:

  1. 可能会降低代码的可读性,使读者更难理解代码。
  2. 可能会影响本地推理能力。

讨论还涉及了代码读者如何查找成员引用的问题。对于 public、private 和 fileprivate 成员,查找方法明确。而对于 internal、package 或无显式修饰符的成员,都需要使用全局搜索。

提议者认为,在大多数成员都是 package 可见性的情况下,显式的 package 修饰符可能成为视觉干扰。但如果大多数成员是 internal 的,则当前做法更好。

最后,讨论指出,即使采用提议的更改,读者也可以通过一次"跳转到定义"操作来确定类型的访问级别。

总的来说,这个讨论权衡了代码简洁性和可读性之间的关系,以及对代码作者和读者的影响。

  1. 讨论在 switch case 中绑定枚举

内容概括

这个问题讨论了在 Swift 中如何在 switch 语句中绑定枚举值。作者提出了两种方法:

  1. 使用 if let 进行可选绑定,然后在 switch 语句中匹配枚举值。这种方法是有效的。
  2. 作者希望在 switch 语句中直接处理可选的枚举值,并在每个 case 中绑定非空值。这种语法在 Swift 中是无效的,但作者想知道是否有类似的方法可以实现。

作者强调他们主要出于学术原因对这个问题感兴趣,并且关注的是如何在 case 语句内引用枚举实例,而不是具体的处理逻辑。
这个问题探讨了 Swift 语言中枚举处理和模式匹配的高级用法,反映了对语言特性和语法糖的深入思考。

  1. 讨论分布式、分布式集群模块的初学者建议

内容概括

主要讨论了分布式系统中的 Distributed 和 DistributedCluster 模块的使用建议,特别是针对初学者。作者正在尝试解决 Fly.io的Gossip Glomers 挑战中的"高效广播"问题,希望使用这些模块来实现节点间的通信和消息传播。

主要内容包括:

  1. 作者介绍了他在 Elixir/Erlang 生态系统中的分布式系统背景。
  2. 解释了"高效广播"挑战的要求: 25 个程序实例需要形成集群并进行消息广播。
  3. 询问是否有现成的模块可以实现集群、节点发现和通信功能。
  4. 讨论了 Swift 的 ClusterSystem 与 Erlang 节点系统的异同:
    • 两者都是基于 TCP 端口的对等节点系统
    • Erlang 有额外的守护进程简化了本地节点发现
    • Swift 目前需要手动编写节点加入代码,但后续可能会改进
  5. 提供了在 Swift 中启动多个集群节点的代码示例。
  6. 建议改进文档,以便更好地解释节点加入过程和集群形成。
  7. 提出了添加类似 Erlang 的辅助守护进程的想法,以简化 Swift 中的集群配置过程。

文章强调了改进文档和用户体验的重要性,以使 Swift 的分布式系统开发对初学者更加友好。

  1. 讨论为什么assumeIsolated()现在需要T:Sendable?

内容概括

这段讨论涉及 Swift 语言中的区域隔离(Region-Based Isolation, RBI)和并发安全性。主要观点包括:

  1. Swift 使用"并发域"而非线程作为并发安全的基础,这可能是一个优势。
  2. RBI 允许在独立区域间传输非 Sendable 值,这引入了新的能力和复杂性。
  3. 有人表示,RBI 的引入使 Swift 并发的安全性变得更加难以理解。
  4. 每个新版本的 Swift 编译器都可能将之前认为安全的操作标记为不安全,这增加了开发者的困惑。

这段讨论反映了 Swift 并发模型正在不断演进,同时也带来了一些挑战和争议。

推荐博文

swift 使用 swift-protobuf 协议通讯,使用指北

摘要: 文章全面介绍了如何在 Swift 中利用 Swift-protobuf 进行高效的协议通信。作者解释了 Protocol Buffers 的优势,如高效性、简洁性和版本兼容性,以及适用场景。介绍了如何安装 Swift-protobuf 编译器,并通过示例展示了如何编译 .proto 文件生成 Swift 代码。随后,文章详细介绍了如何将生成的 Swift 代码集成到项目中,确保项目能够顺利使用 Swift-protobuf。此外,文章还探讨了常见问题的解决方法,特别是关于模块引用错误的处理。

在文章的最后作者还通过一个简单的 SwiftUI 示例演示了如何创建、序列化和反序列化协议消息对象,帮助读者理解实际应用中的操作流程。这篇文章结构清晰,内容详尽,为想要在 Swift 应用中应用 Protocol Buffers 的开发者提供了全面的指导和实用技巧。

Swift 中的仓库设计模式详解

摘要: 这篇博客详细介绍了如何使用仓库(Repository)设计模式在Swift应用中管理数据访问逻辑。文章从定义仓库接口开始,使用 Swift 的协议(protocol)来描述数据操作方法,例如创建、删除和查找用户。接着演示了如何创建多个仓库实现,包括基于内存和基于 UserDefaults 的实现,这些实现隐藏了具体数据存储的细节。

最后,文章展示了如何在应用中使用 ViewModel 来操作数据,通过依赖注入不同的仓库实现,实现了数据访问逻辑的灵活切换。通过仓库设计模式,开发者能够更好地组织和测试应用的数据访问层,提升代码的灵活性和可维护性。

Swift中的扩展:以及何时使用它们

摘要: 这篇文章介绍了如何使用 Swift 中的扩展(Extensions),以扩展已有的类、结构体、枚举或协议,增加新功能。无论是自定义类型还是框架中的现有类型,扩展都可以创建自定义访问器,提升与类型的互动体验。文章解释了扩展的基本概念及其在所谓的逆向建模中的应用,让你能在无法访问源代码的情况下,仍能为类型添加自定义功能层。通过示例展示了如何在不同情境下使用扩展,包括为类型添加新属性、实现协议及提供默认行为。总体来说,本文帮助开发者掌握使用 Swift 扩展的重要技能,从而优化代码结构和提高可重用性。

话题讨论

苹果将新 AI 功能限制在高端设备的策略,这会让你换新的 iPhone 吗?

  1. 会的。AI 功能需要大量计算能力,而旧设备可能难以顺利提供。
  2. 不会。这是推动新硬件销售的理由,再多的RAM也跟不上模型的发展速度。
  3. 中立。我计划至少再使用我的 iPhone 几年,苹果智能不是升级的理由。

欢迎在文末留言参与讨论。

关于我们

Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战SwiftUlSwift基础为核心的技术内容,也整理收集优秀的学习资料。

特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1870214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小红书2024LLM论文分享

2024小红书大模型论文分享 BatchEval基于LLM评估LLM生成文本的质量 ACL2024 https://ypw0102.github.io/ 如果文本评价需要多个维度,需要调整BatchEval么? 目前是完整流程走一遍的,因此没有具体考虑细粒度。 评测连续的数据域,S…

JavaScript中的Date对象,以及常用格式化日期的方法封装

一、Date对象 二、操作Date对象 1、创建Date对象 (1)常用方法 (2)使用示例 2、获取日期 (1)常用方法 (2)使用示例 3、设置日期 (1)常用方法 &…

youlai-boot项目的学习(3) 本地redis、MinIO的安装与配置

youlai-boot项目除了使用mysql数据库、还有redis,以及OSS服务,OSS除了云OSS服务,还有自部署的MinIO服务。 前面我们已经安装好了mysql数据库,那么我们来看看本地redis、MinIO服务怎么部署 环境 mac OS, iterm2&#…

中霖教育怎么样?注册会计师考试难吗?

中霖教育:注册会计师(CPA)考试的难度高吗? 对于不同背景的考生来说,注册会计师考试的挑战程度不同。那些有良好基础和充裕准备时间的考生,通过考试的可能性要超过那些从零开始且准备时间有限的人。 据最近…

YOLO目标检测综述(2024.6月最新!)

1 基本概念 目标检测(Object Detection)是计算机视觉领域的重要任务之一,旨在识别图像或视频中的特定目标并将其位置标记出来。与图像分类任务不同,目标检测要求不仅能够识别目标类别,还需要精确地定位目标的位置。由于…

1.2章节input输入函数语法使用和示例

在Python中,input() 函数用于从用户获取输入。这个函数会等待用户输入一行文本,然后按回车键,最后将输入的文本作为字符串返回。 一、基本语法 当你运行上面的代码时,它会打印出 "请输入一些文字: ",然后等…

.idea文件夹里面iml文件有啥用

.idea文件夹和其中的.iml文件对于IntelliJ IDEA项目非常重要,它们共同构成了IDEA对项目理解的基础。让我们详细了解一下这两者的作用: .idea文件夹 .idea文件夹包含了IntelliJ IDEA项目的所有配置信息,包括但不限于: 编译器设置…

jmeter之接口数据与数据库数据检验!

前言 本文讲解使用jmeter测试接口,然后与数据库里面的数据进行校验对比。本节使用一个新增数据的接口,新增一条数据,然后在数据库里面进行查询,是否能够查询到此条数据。 一、接口环境搭建 1.1 新建一个http请求,写…

3d合并模型一直加载有哪些原因---模大狮模型网

当在3D软件中合并3d模型时,可能会遇到加载时间过长或持续加载的情况。这可能是由以下原因之一引起的: 一:模型复杂度 合并的模型可能非常复杂,包含大量的面片、顶点或纹理等。这会增加加载和处理的时间。解决方法是优化模型&…

希喂生骨肉冻干值得入手吗?拯救瘦弱、增强抵抗力最强主食测评!

希喂生骨肉冻干值得入手吗?很多小姐妹觉着自家猫咪太瘦了、体质不咋好,换季还敏感、掉毛、不吃东西,听说生骨肉冻干好吸收、营养好,可以改善体质、拯救瘦弱、增强抵抗力,为了图省事,开始盲入生骨肉冻干&…

常见的Java开发难题包含解决办法内存泄漏异常处理代码质量和维护

常见的Java开发难题包含解决办法内存泄漏异常处理代码质量和维护 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 I…

解决卸载TabX explorer软件后导致系统文件资源管理器无法正常使用问题

最近安装了最新版本的鲁大师,安装过程中不小心同时安装了捆绑软件TabX explorer。这个软件和系统自带的文件资源管理器很像,最后弹出会员到期才发现,这个不是系统文件资源管理器,是第三方的文件资源管理器,就按正常流程…

解锁高效运维新纪元:网络基础设施数字孪生管理工具

随着信息技术的飞速发展,网络基础设施的运维管理变得日益复杂。北京耐威迪科技股份有限公司凭借其创新技术,推出了nVisual网络基础设施数字孪生管理工具,这一革命性的解决方案不仅提升了运维效率,更在成本节约和项目进度上实现了突…

cad报错:由于找不到vcruntime140.dll无法继续执行代码

在现代的工程设计中,计算机辅助设计(CAD)软件已经成为了工程师们不可或缺的工具。然而,在使用CAD软件的过程中,有时我们会遇到一些问题,其中之一就是“找不到vcruntime140.dll”的错误提示。本文将详细介绍…

智慧校园-就业管理系统总体概述

在当代教育与信息技术深度融合的背景下,智慧校园就业管理系统成为了连接学生、高校与企业的重要纽带,它以创新的服务理念和技术手段,重塑了职业规划与就业服务的传统模式。这一系统致力于为即将步入社会的学生们提供全面、个性化的支持&#…

SaaS产品运营:维护四个不同类型的合作伙伴的实战指南

在SaaS(软件即服务)行业的竞争中,与合作伙伴建立并维护良好关系至关重要。不同类型的合作伙伴对于产品的推广、市场覆盖和用户增长都起着不同的作用。如何有效维护这四种类型合作伙伴?看个案例一起学习吧。 一、合作伙伴的四种类型…

使用sorted对字典排序

有时我们需要按照字典数据的键值对进行排序,这个时候就可以用到sorted函数。 import operator dic{"testA":3,"testC":1,"testB":4,"testD":2} dicnsorted(dic.items(),keyoperator.itemgetter(0)) print(dicn) 比如我们要…

DB-GPT Docker部署

感谢阅读 拉取镜像linux判断拉取是否成功的方法windows判断拉取是否成功的方法 模型以及启动容器模型启动容器 界面如下(0.56): 拉取镜像 docker pull eosphorosai/dbgpt:latestlinux判断拉取是否成功的方法 docker images | grep "eo…

IDEA 插件推荐【一】

好使的插件可以让工作事倍功半。下面就推荐一些常用的IDEA插件,如果你有其他好使的插件,欢迎评论区留言分享出来~ 1.Key Promoter X Key Promoter X 插件,IDEA 快捷键提示工具。 在每次我们使用鼠标进行 IDEA 的某个操作,Key Pr…

AGV叉车自动化存取货场景到底有哪些?

AGV 在各种新技术发展的今天,叉车越来越智能化,agv无人叉车作为工业自动化领域的不可或缺的搬运设备,被广泛应用于各个行业中,主要用来实现重复性搬运、搬运工作强度大、工作环境恶劣、环境要求高的领域,近些年&#x…