老司机 iOS 周报 #244 | 2023-05-15 #4002
ChengzhiHuang
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
GitHub 的 Code Scanning 正式提供 Swift 的支持
GitHub 的 Code Scanning 会扫描和索引项目的 Dependency 信息,并且提供:
增强全球定价机制 基准调整引发涨价
苹果在 3 月时就公告会进行 增强全球定价机制 的调整,老司机技术也提醒过大家,希望大家都可以提前根据需要选择合适的基准。5 月 9 日凌晨已准时上线,但开发者们发现虽然已经提前将基准设置为了中国大陆,但却依旧有概率 被 涨价,例如:原本设置为 6 元的 IAP 物品变成了 8 元。问题在上午 10 点左右陆续恢复,部分开发者早上一醒来收到部分付费用户的投诉只能含泪处理了~
文章
🐢 🌟 用 VSCode 基于 Bazel 打造 Apple 生态开发环境
@Cooper Chen:如何优化编译开发体验一直是开发者老生常谈的问题,而 Xcode 作为 Apple 开发者必须要使用的工具,其相对封闭的生态环境,让大多数开发者对它的编译优化都常常感到捉襟见肘。哔哩哔哩作为国内较早尝试 Bazel 作为 iOS 主力编译系统的团队,针对这些问题提出了使用 VSCode + Bazel 的方案来打造一套全新的开发环境。其中作者对编译优化最核心的思路包括:
根据以上思路,作者使用的是 VSCode + rules_bis 的自研方案,在研发体验和效率上实现了较大的提升。在发文时,B 站所有 Apple 项目已经切换至 vscode(bis) / rules_xcodeproj(bwb) / 双模式下。
@Damonwong:发布这篇文章的目的是一个全新的视角,希望大家可以有所了解,但是从我个人的技术判断来看,除非规模化的团队,不然 Xcode 依然是最好用的 iOS 开发工具。
规模化团队会因为团队特色、组织架构等各种原因出现不同的问题,因此团队内部配备一些对工程化有解决能力的同学是必须的,如果没有这方面的投入,一线同学会苦不堪言。
当然,也有一部分同学会考虑技术价值,但是技术价值在不同场景大小差异是不同的。
说个题外话,很多同学都喜欢搞组件化,但是不知道大家有没有考虑过,当工程能力不足的时候,组件化是否真的是一个合理的架构设计?
🐕 A Swift Spelling Corrector
@含笑饮砒霜:这是一篇基于 Peter Norvig 的博文《How to Write a Spelling Corrector》中的 Python 代码,使用 Swift 编写的拼写纠正器,下面是代码的一些说明:
这段代码演示了如何使用 Swift 编写一个简单的拼写纠正器。它使用了一些字符串操作和集合操作,以及一些基本的 Swift 语言特性。
🐕 Behind-the-Design: Meet Copilot. When the system is the product; on … | by Microsoft Design | Microsoft Design | Apr, 2023 | Medium
@Barney:这篇文章主要探讨了人工智能产品 Copilot 的设计理念、体验框架和开发原则,以及如何通过 AI 增强人类的能力。以下是几个要点:
总的来说,文章阐述了微软如何通过 Copilot 展示了 AI 的协作价值,同时强调了在设计和开发过程中保持以人为本,不断学习和改进的重要性。
🐎 Double Protocol Conformance
@zvving:双重协议一致性是指一个类型多次声明遵循某个协议。当同一个 target 中的类型多次声明遵循相同协议时,Xcode 会抛出错误并停止编译,但是在不同 target 中声明同样的协议实现时,问题就变得难以发现。
作者还分享了一个更极端的情况,当涉及到三个 target,Xcode 不再显示警告信息,导致很难发现我们在设置协议一致性方面的错误。作者建议在多模块化代码库中工作的开发团队,确保为协议一致性设置规则,避免出现类似的极端情况。
🐕 iOS 客户端动图优化实践
@Smallfly:在 App 内展示动图是非常常见的需求,本文介绍了 QQ 音乐 iOS 端在使用动图时,遇到内存不足引起的各种崩溃,经过一系列的优化,在性能以及稳定性方面取得较大的提升,主要包括:
对具体优化措施感兴趣的同学可参阅原文。
🐎 文件名还是顶级域,傻傻分不清
@Damien:Google 五月初放出来一波新的顶级域名,包括 .dad, .phd, .prof, .esq, .foo, .zip, .mov 和 .nexus 等域名,其中 .zip 和 .mov 最让人容易误解是文件地址,基于此容易引申出了一个 MacOS 的安全漏洞,对漏洞感兴趣的同学不妨阅读。
🐎 京喜 APP - 图片库优化 | 京东云技术团队
@J_Knight_:本文介绍了京喜团队对图片框架上的两个优化方向:一方面是降低图片网络传输,提高图片加载速度。另一方面是减少图片内存消耗。在网络传输上,图片框架先对图片 URL 进行预处理,预处理包括域名统一,添加缩放参数,添加 webP 参数,添加降质参数的方式减少图片网络传输大小。在内存消耗上,使用了图片缩放以及限制缓存上限的方法来避免缓存使用过高。文章结尾还介绍了在 Flutter 中优化的几个方向。
🐢 淘宝 APP 网络架构演进与弱网破障实践
@AidenRao:本文将介绍淘宝 APP 统一网络库演进的过程,讲述如何围绕体验持续构建南北向(client-server 之间的流量)从监测到加速一体化的终端网络架构,通过构建 NPM 弱网诊断感知能力,落地原生多通道技术 / 多协议择优调度手段,贴合厂商赋能网络请求加速,实现去 SPDY 及规模化 IPv6/H3 协议簇的平滑过渡,为用户提供弱网更好、好网更优的 APP 加载浏览体验,支撑业务创造更多的可能性。
工具
AppleParty(苹果派)v3 支持 App Store 新定价机制 - 批量配置自定价格和销售范围
@ChengzhiHuang:苹果派是一个可以便捷地管理所有 IAP 内购项目的工具,相比在 AppStore Connect 上一个个项目操作,在苹果派里的操作更加便捷,同时还支持了 基准国家和自定价格配置、销售范围配置、批量上传 等实用功能。同时工程代码全部 开源,Connect API 等调用方式也有相当的参考价值。
音视频
🐎 微软开发者拆解 SwiftUI 优化秘籍,教你轻松提升百倍性能
@EyreFree:作者用视频演示的方式总结了用两周时间优化公司 SwiftUI 项目得出的相关经验,其中结合了对基本 SwiftUI 控件布局和刷新机制的解释,在做 SwiftUI 开发的小伙伴们不要错过。
摸鱼周报
@摸鱼周报 #93:第 93 期摸鱼周报来了,一起来看下本期概要:
内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release 老司机 iOS 周报 #244 | 2023-05-15.
Beta Was this translation helpful? Give feedback.
All reactions