Skip to content

Commit

Permalink
refactor: 部分内容挪至下周
Browse files Browse the repository at this point in the history
  • Loading branch information
ChengzhiHuang committed Oct 27, 2024
1 parent f50164f commit 3faea11
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 13 deletions.
14 changes: 1 addition & 13 deletions Reports/2024/#309-2024.10.28.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,10 @@

[@xiaofei86](https://github.com/xiaofei86):在 iOS 15 “应用预热” 和 ”敏感数据解锁前不可访问(钥匙串等)“ 2 个系统功能的互相影响下,会出现 `UserDefaults.standard` 实例取到空的偶现问题。一但问题出现,程序可能认为是首次启动,进而用默认数据覆盖 UserDefaults,导致更严重的问题。作者总结了能够大概率复现的场景,并提供解决方案。同时也封装了 [TinyStorage](https://github.com/christianselig/TinyStorage) 用来替代 UserDefaults,感兴趣同学可以阅读原文了解。

### 🐕 [How to build a Safari extension with SwiftUI](https://www.polpiella.dev/safari-extensions-swiftui/)

[@Barney](https://github.com/BarneyZhaoooo):Polpiella 在博客中分享了如何使用 SwiftUI 构建 Safari 扩展的步骤。首先,在 Xcode 中创建 Safari 扩展目标并修改 Info.plist 文件,设置工具栏项和网站访问权限。接着,利用 SFSafariExtensionHandler 创建 SwiftUI 视图,并通过 PopoverViewController 展示。最后,运行应用即可在 Safari 中安装并测试扩展。

### 🐕 [MoveMe - SwiftUI Edition](https://whackylabs.com/swift/swiftui/ios/animation/2024/09/12/moveme-swiftui-edition/)

[@AidenRao](https://weibo.com/AidenRao):使用 SwiftUI 来处理手势和动画实际上并不像听起来那么直观,这篇文章讲解了如何实现正方形的拖动、缩放以及过渡动画效果,并解决了一些在实现过程中出现的问题。文章还提供了代码示例和 GitHub 链接供参考。

### 🐎 [Phase Animator Behavior](https://chris.eidhof.nl/post/phase-animator/)

[@AidenRao](https://weibo.com/AidenRao):在这篇文章中,Chris Eidhof 探讨了 PhaseAnimator 的工作原理。当视图的位置从 -100 更改为 -100 时,更新前后的节点完全相同,并不会产生任何动画,当没有具体的动画时,会立即调用动画的完成处理程序。换句话说,我们马上就进入了下一个阶段。

### 🐎 [Swift Macro 在业务开发中的探索与实践](https://juejin.cn/post/7428200842229055529)

[@JonyFang](https://github.com/jonyfang): 结合模块化场景及曝光场景下的应用,通过模块宏能解决模块化通用模版定义的繁琐, 通过曝光宏能降低整个曝光体系接入的复杂度,本质上都是让 Swift Macro 帮助我们减少重复样板代码的编写,提供快速接入的能力。接入 Swift Macro 可以玩出很多花样,增加了代码的趣味性和可读性,降低了维护成本。

### 🐎 [So how does this whole @preconcurrency thing work?](https://www.massicotte.org/preconcurrency)

[@DylanYang](https://github.com/Dylan19Yang)@preconcurrency 是一个新增的关键字,帮助开发者屏蔽并发相关的警告。在开发者往严格的并发框架逐渐迁移的流程上,有时会出现无法快速迁移,甚至无法迁移的情况,而 @preconcurrency 能够允许开发者忽略这部分警告,使得开发者能够增量的完成并发框架的迁移。本文介绍了 @preconcurrency 可以在哪些场景下帮助开发者处理这些问题,比如在一个 @MainActor 的类型里实现一个 nonisolated 的 protocol 场景,或是处理三方库中无法迁移到 concurrency 框架的代码等。有遇到类似问题的开发者可以阅读此文了解更多。
Expand All @@ -66,7 +54,7 @@

### [ProtobufKit](https://github.com/OpenSwiftUIProject/ProtobufKit)

轻量跨平台 ProtoBuf Swift 解决方案,实现了基础的序列化 API,并且提供一套类似 Codable 的方案支持,对比原版 5.7MB 的二进制大小,这个版本只需要 142KB。
[@kemchenj](https://kemchenj.github.io/)轻量跨平台 ProtoBuf Swift 解决方案,实现了基础的序列化 API,并且提供一套类似 Codable 的方案支持,对比原版 5.7MB 的二进制大小,这个版本只需要 142KB。

## 内推

Expand Down
72 changes: 72 additions & 0 deletions Reports/2024/#310-2024.11.04.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# 老司机 iOS 周报 #310 | 2024-11-04

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/310.jpg?raw=true)
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

> 行业相关的新闻、趣事、看法
##  Developer - 设计开发加速器

> 设计开发加速器相关活动
## 新手推荐

> 收集一些对新手友好且质量不错的文章
## 文章

> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
### 🐕 [How to build a Safari extension with SwiftUI](https://www.polpiella.dev/safari-extensions-swiftui/)

[@Barney](https://github.com/BarneyZhaoooo):Polpiella 在博客中分享了如何使用 SwiftUI 构建 Safari 扩展的步骤。首先,在 Xcode 中创建 Safari 扩展目标并修改 Info.plist 文件,设置工具栏项和网站访问权限。接着,利用 SFSafariExtensionHandler 创建 SwiftUI 视图,并通过 PopoverViewController 展示。最后,运行应用即可在 Safari 中安装并测试扩展。

### 🐎 [Phase Animator Behavior](https://chris.eidhof.nl/post/phase-animator/)

[@AidenRao](https://weibo.com/AidenRao):在这篇文章中,Chris Eidhof 探讨了 PhaseAnimator 的工作原理。当视图的位置从 -100 更改为 -100 时,更新前后的节点完全相同,并不会产生任何动画,当没有具体的动画时,会立即调用动画的完成处理程序。换句话说,我们马上就进入了下一个阶段。

### 🐎 [Swift Macro 在业务开发中的探索与实践](https://juejin.cn/post/7428200842229055529)

[@JonyFang](https://github.com/jonyfang): 结合模块化场景及曝光场景下的应用,通过模块宏能解决模块化通用模版定义的繁琐, 通过曝光宏能降低整个曝光体系接入的复杂度,本质上都是让 Swift Macro 帮助我们减少重复样板代码的编写,提供快速接入的能力。接入 Swift Macro 可以玩出很多花样,增加了代码的趣味性和可读性,降低了维护成本。

## 工具

> 开发过程中常用的工具,及一些新工具的介绍
## 代码

> 库,代码段,开源app
##

> 比较不错的书的推荐和书评
## 音视频

> 比较不错的书的推荐和书评
## 内推

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

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

## 关注我们

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

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

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

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

## 说明

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

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

0 comments on commit 3faea11

Please sign in to comment.