本期是 Swift 编辑组自主整理周报的第五期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。
Swift 周报在 GitHub 开源[1],欢迎提交 issue,投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。
小时候幸福很简单,长大后简单很幸福。Swift社区有你未领取的小幸福,等你简简单单来开启!👊👊👊
周报精选 新闻和社区:iPhone灵动岛无法适配大部分应用 提案:Swift 5.8 实现的提案 Swift 论坛:
conformance
关键字 推荐博文:SwiftUI 新功能 Layout 协议 话题讨论: 大厂养老,你会选择谁
近日,有海外程序员小哥哥曝光了灵动岛的开发代码,并配文称原本想安装完 Xcode 14.1 Beta 版(iOS 开发程序)去了解下 iPhone 14 Pro 的灵动岛 API 接口情况,但没想到,苹果并未开放 API,也就是说第三方开发人员很难自行适配灵动岛这个系统级的交互功能。如果想要适配灵动岛恐怕只能向苹果官方申请开放 API 接口。这也是为什么很多 App 至今都没能适配灵动岛的情况出现。(新浪数码)
最早于 2022 年 10 月 5 日起,下列地区 App Store 上的 App 及 App 内购买项目 (自动续期订阅除外) 价格将有所提高:智利、埃及、日本、马来西亚、巴基斯坦、波兰、韩国、瑞典、越南和所有使用欧元货币的地区。在越南,相关的价格提升反映了要求 Apple 代扣代缴适用税款的新规定,其中适用税款包括 5% 的增值税 (VAT) 和 5% 的企业所得税 (CIT)。
您的收益将随之进行调整,并会根据不含税的价格来进行计算。《付费 App 协议》的附录 B 将会更新,表明 Apple 在越南征收和汇付适用税款。
以上调整生效后,在“我的 App”中“价格与销售范围”部分会随即更新。您可以随时在 App Store Connect 中更改您的 App 和 App 内购买项目的价格 (包括自动续期订阅)。如果您有提供订阅项目,您可以选择为现有订阅者保留当前价格。
据 MacRumors 看到的一份备忘录,苹果称,“iOS 16 有一个已知的问题,可能会影响到使用开放的 Wi-Fi 网络的设备激活”。为了解决这个问题,苹果表示,用户应该在初始化 iOS 时,在提示连接到 Wi-Fi 网络时选择“用 iTunes 连接到 Mac 或 PC”,然后返回到之前的屏幕,使用 Wi-Fi 再次尝试,直到激活成功。
新的 ActivityKit 框架现已在 iOS 16.1 Beta 版和 Xcode 14.1 Beta 版中推出,探索如何通过这一框架为您的 App 构建实时活动。借由实时更新,实时活动能帮助用户跟踪您的 App 内容。App 的实时活动会显示在锁定屏幕和灵动岛中 — “灵动岛”作为一项全新设计,可以让用户直观、愉悦地体验 iPhone 14 Pro 和 iPhone 14 Pro Max。
实时活动功能和 ActivityKit 将包含在今年晚些时候推出的 iOS 16.1 中。当 iOS 16.1 发布候选版本可用时,您即可将配置了实时活动功能的 App 提交至 App Store。
SE-0372[2] 更新稳定排序文档 该提案已在十三期周报正在审查的提案模块做了详细介绍。
SE-0369[3] 同步 CustomDebugString 协议到 AnyKeyPath
此提案主要目的是将 CustomDebugStringConvertible
的协议添加到 AnyKeyPath
。
SE-0367[4] 优化新属性的条件编译 。该提案已在十二期周报已通过的提案模块做了详细介绍。
Swift community 工作组将努力提高 Swift 的平台可用性
工作组内容包括:
工作组不涉及的内容有:
conformance
关键字的意思是:此声明由程序员定义并满足协议要求。conformance
不是 protocol 必须有的关键字。但是,当 conformance 存在时,除非声明确实符合协议要求,否则程序格式错误。
栗子🌰:
protocol Program {
func run()
}
struct HelloWorld: Program {
// OK
conformance func run() { ... }
// error: function crash() does not fulfill any requirement of the protocol 'Program'.
conformance func crash() { ... }
}
7)讨论PassthroughSubject 和 CurrentValueSubject[11]
SwiftUI Layout 协议——第 1 部分[12]
摘要: 今年 SwiftUI 新增比较实用的功能当属 Layout 协议。本篇文章主要介绍 Layout 协议的基础知识和常用功能使用。
SwiftUI Layout 协议——第 2 部分[13]
摘要: 本篇文章是 SwiftUI Layout 协议的第二部分介绍,主要讲述 Layout 协议的高级布局包含自定义动画、递归布局等功能。
摘要: 本文介绍了当涉及到水平和垂直的变体时( HStack 和 VStack ),我们需要如何在这两者之间动态的切换。
摘要: 用户反馈 iPhone11 iOS14.7 下载安装 App Store 已上架项目后,点击图标,App 闪一下就回到了桌面。
摘要: 本文详细的介绍了本地化上线的过程,建议收藏,以后新开项目作为参考。
Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战、SwiftUl、Swift基础为核心的技术内容,也整理收集优秀的学习资料。
特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量。
周报仓库:https://github.com/SwiftCommunityRes 文章中外引链接较多,可以点击 阅读原文 更加方便阅读。
[1]SwiftWeekly: https://github.com/SwiftCommunityRes/SwiftWeekly
[2]SE-0372: https://github.com/apple/swift-evolution/blob/main/proposals/0372-document-sorting-as-stable.md
[3]SE-0369: https://github.com/apple/swift-evolution/blob/main/proposals/0369-add-customdebugdescription-conformance-to-anykeypath.md
[4]SE-0367: https://github.com/apple/swift-evolution/blob/main/proposals/0367-conditional-attributes.md
[5]Swift Evolution: https://www.swift.org/blog/swift-5.7-released/
[6]Swift Platform Work Group: https://forums.swift.org/t/initiative-swift-platform-work-group/60340
[7]使用 conformance 关键字的让协议符合要求: https://forums.swift.org/t/pre-pitch-explicit-protocol-fulfilment-with-the-conformance-keyword/60246
[8]clock.sleep(for:): https://forums.swift.org/t/pitch-clock-sleep-for/60376
[9]用于web和swift server交互的框架: https://forums.swift.org/t/html-framework-for-swift/60241
[10]在init方法中使用async function: https://forums.swift.org/t/call-an-async-function-in-an-initializer/60396
[11]PassthroughSubject 和 CurrentValueSubject: https://forums.swift.org/t/asyncsequence-stream-version-of-passthroughsubject-or-currentvaluesubject/60395
[12]SwiftUI Layout 协议——第 1 部分: https://swiftui-lab.com/layout-protocol-part-1/
[13]SwiftUI Layout 协议——第 2 部分: https://swiftui-lab.com/layout-protocol-part-2/
如果没有你想要的选项,请在留言中留下心仪的公司。
- EOF -