老司机 iOS 周报 #334 | 2025-05-12 #4998
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
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
🐕 Adding dependencies to binary Swift packages
@含笑饮砒霜:这篇文章介绍了作者如何为 Swift 的二进制包(binary Swift packages)添加依赖的问题和解决方案。普通 Swift 包可以直接声明依赖,但二进制包无法这样做,这给闭源 SDK 的开发带来了挑战。过去作者采用复制依赖库源代码到二进制包中的方式来解决,但这种方式混乱、低效、并增加了编译时间。后来作者发现可以通过在 Swift 包中同时声明多个二进制目标(binary target),并将它们一起加入到产品中,从而实现依赖的间接引入,这样包管理器就会自动下载和链接所需的依赖库。作者用这种方法解决了 VietnameseInput 这类闭源 SDK 的依赖管理问题,大大简化了项目结构并提升了构建效率,同时也指出这种方案尚未在更多场景下验证,需要更多开发者一起探索和交流。
🐎 支付宝客户端 Kotlin/Native 包体积优化实践
@Kyle-Ye:支付宝在使用 Kotlin/Native 进行跨端开发时 , 针对应用安装包体积过大的问题 , 采取了一系列优化措施。通过增加 LLVM 优化参数和 DCE 优化,支付宝团队成功将 iOS 和鸿蒙平台上的 Kotlin/Native 应用包体积分别减少了 50% 和 15% 以上。对于正在使用或计划使用 Kotlin/Native 的开发者来说,这篇文章或是一份很好的优化实践参考。
🐢 使用 AVPlayer 播放 FairPlay DRM 视频的最佳实践
@阿权:DRM,数字版权管理,可以简单理解为加密媒体 / 音视频。文章围绕使用 AVPlayer 播放 FairPlay DRM 视频展开,详细介绍了相关技术要点和操作方法,具体内容如下:
对于 DRM 视频,其场景不仅可用于点播视频,直播视频场景也可以使用。只要是 Apple 支持的格式,使用系统的 AVPlayer 播放 DRM 足矣,系统提供一定自由度来让用户定义自己的加解密业务流程,剩下的音视频编解码就交由 AVPlayer 自身管理了。这样实现一个满足自身业务的 DRM 播放器门槛自然就低了很多,也不一定都要白手起家捣鼓起 FFmpeg 来。
🐕 Gatekeeper change in macOS 15.4
@Cooper Chen:苹果在 macOS 15.4 中调整了安全策略:用户下载文件后,拖拽至部分应用(如 TextEdit)时会反复弹出安全警告,而 Preview 等应用却不受影响。
问题核心:
解决方案:
这一调整究竟是安全升级还是过度防护?目前苹果尚未回应,用户可暂用上述方法应对。
🐎 How a Single Line Of Code Could Brick Your iPhone
@david-clang:本文介绍了 Darwin Notify 的系统漏洞,仅一行代码
notify_post("com.apple.MobileSync.BackupAgent.RestoreStarted")
即可让设备进入“恢复中”界面且无法退出,只能重启设备,再利用 iOS 自动唤醒小组件的机制,使设备在每次重启后重复触发漏洞,最终实现一行代码把 iPhone 变砖。不限制该敏感通知发送权限的漏洞疑似 iOS 18.2 beta 2 引入的,在作者报告漏洞后,iOS 18.3 已修复。工具
DeepWiki
@EyreFree:DeepWiki 是一个将 GitHub 仓库转化为交互式 wiki 的工具网站,它能够根据项目代码、文档等内容为 GitHub 上的 Public 项目生成详细文档、绘制交互式图表、提供对话式 AI 助手等。用法是把 GitHub 项目 URL 中的
github
换成deepwiki
,例如 kingfisher 的对应访问地址就是 deepwiki.com/onevcat/Kingfisher,或直接在 DeepWiki 官网搜索仓库名称,主流项目基本上已经做了预处理,搜不到的话在主页点击Add repo
等待处理即可。代码
swift-subprocess
@kemchenj:Swift 近日开源了 swift-subprocess 这个库,作为 Swift Foundation 团队的提案,旨在提高 Process 相关 API 的易用性,支持更多的 Swift 现代化的特性,设计部份参考了 Python 和 Rust,目前属于 0.1 版本,并且在后续可能会直接加入 Swift Foundation 库。
内推
重新开始更新「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)
This discussion was created from the release 老司机 iOS 周报 #334 | 2025-05-12.
Beta Was this translation helpful? Give feedback.
All reactions