Skip to content

老司机 iOS 周报 #278 | 2024-02-26

Compare
Choose a tag to compare
@ChengzhiHuang ChengzhiHuang released this 26 Feb 02:12
· 139 commits to master since this release

ios-weekly
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新闻

App Store Connect upload requirement starts April 29

预计在 4 月 29 日,App Store Connect 就将限制必须使用 >= Xcode 15.0 进行提交,并支持最新的系统。还未升级的同学们需要尽快切换并进行适配啦。

🐢 Flutter 3.19.0 系列更新

@CrazyCoderShi: 国内新年假期期间 Flutter 团队发布了 2024 一季度的更新:Flutter 3.19.0 ;按照惯例随着一起发布的还有 Dart 3.3 ;此次更新除了功能迭代、性能调优、工具优化之外,有几个点值得开发同学们着重关注:

  • Gemini Dart SDK: 可以更方便地让 Dart 开发人员在 App 里集成 LLM 的 AI 能力
  • Impeller Android Preview: 意味着 Flutter 彻底抛弃 Skia 的进程迈出了很大一步
  • 弃用 Window 7 & 8,弃用 iOS 11 以前的版本
  • Dart 对于 JS interoperably 支持增强
  • Dart Macros 支持

其他相关博文:

文章

🐕 通过 Headphone Motion 访问 AirPods 的头部跟踪数据

@EyreFree:本文介绍了如何利用 Core Motion 框架访问 AirPods 的头部跟踪数据。介绍了在 iOS 应用中如何设置和获取用户授权,以及如何通过 CMHeadphoneMotionManager 类开始和停止设备运动数据更新,接收头部跟踪数据,并通过 CMDeviceMotion 类解析这些数据,最后说明了如何处理连接和断开耳机的事件。并且提供了完整 Demo 工程,推荐感兴趣的同学阅读。

🐕 On-device ML research with MLX and Swift

@JonyFang: Swift 编程语言因其易用性和高性能,配合 MLX 库,为 Apple 芯片上的机器学习研究提供了强大支持。MLX Swift 将 MLX 扩展到了 Swift 语言,简化了机器学习在 Apple 芯片上进行实验的复杂度,并提供了相应的 Swift API、高级的神经网络和优化器包,以及文本生成和 MNIST 训练的示例。所有这些都在 MIT 许可下发布,旨在利用 Swift 的高性能和易用性,为机器学习研究者提供一个友好的实验框架。文中提供了文档和示例,API 覆盖的能力可以具体看下文档,感兴趣可以研究下 Examples ~

🐕 Code Injection with Dyld Interposing

@Cooper Chen:众所周知 Objective-C 运行时的动态性可用于多种用途,例如我们熟知的 Method swizzling,然而 Method Swizzling 不能用于 C/C++ 函数的交换,这对于需要在 C/C++ 下进行逆向的时候并不能如人所愿,本篇文章介绍如何使用 dyld 动态绑定的特性进行插入方法,从而达到对 C/C++ 语言进行替换绑定的目的,同时也建议与 Fishhook 进行异同点比较来达到最佳的阅读体验。

🐎 The SwiftUI Field Guide

@zoeGuo:这个网站直观地解释了 SwiftUI 布局系统的工作原理。可以通过改变属性或参数数值动态看到布局上的变化,更有利于理解 SwiftUI 参数、属性的含义。 网站目前更新了 AlignmentHStackAspect RatioPadding 四个模块,推荐给正在学习 SwiftUI 的读者。

🐕 云音乐 RN 新架构升级之 iOS 灰度方案

@Smallfly:文章主要介绍了网易云音乐在升级 React Native(RN)架构时,iOS 侧采用的灰度方案。阐述了实现渐进式升级的思路和挑战,包括静态链接和动态链接两种方案的优缺点,以及他们最终采用的双动态库方案。这个方案通过引入一个中间层(NEReactNative)来解决静态链接过程中的符号引用问题,并在运行时动态加载新旧版本的 RN 代码。

文章适合对 React Native 架构升级、iOS 灰度发布策略、以及 Objective-C 运行时特性感兴趣的资深 iOS 开发者阅读。

代码

armhf-swift-toolchain

@kemchenj

  1. 可以学习如何使用源码编译 Swift
  2. 学习如何使用 SPM 进行交叉编译
  3. 对嵌入式 32 位 Linux 平台,可以使用 Swift 编码。例如作者已在 fpga 上运行 Swift Run Swift On Zynq petalinux

由:CmST0us 自荐

内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考

具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom

说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)