File tree Expand file tree Collapse file tree 2 files changed +73
-13
lines changed Expand file tree Collapse file tree 2 files changed +73
-13
lines changed Original file line number Diff line number Diff line change 4242
4343[ @xiaofei86 ] ( https://github.com/xiaofei86 ) :在 iOS 15 “应用预热” 和 ”敏感数据解锁前不可访问(钥匙串等)“ 2 个系统功能的互相影响下,会出现 ` UserDefaults.standard ` 实例取到空的偶现问题。一但问题出现,程序可能认为是首次启动,进而用默认数据覆盖 UserDefaults,导致更严重的问题。作者总结了能够大概率复现的场景,并提供解决方案。同时也封装了 [ TinyStorage] ( https://github.com/christianselig/TinyStorage ) 用来替代 UserDefaults,感兴趣同学可以阅读原文了解。
4444
45- ### 🐕 [ How to build a Safari extension with SwiftUI] ( https://www.polpiella.dev/safari-extensions-swiftui/ )
46-
47- [ @Barney ] ( https://github.com/BarneyZhaoooo ) :Polpiella 在博客中分享了如何使用 SwiftUI 构建 Safari 扩展的步骤。首先,在 Xcode 中创建 Safari 扩展目标并修改 Info.plist 文件,设置工具栏项和网站访问权限。接着,利用 SFSafariExtensionHandler 创建 SwiftUI 视图,并通过 PopoverViewController 展示。最后,运行应用即可在 Safari 中安装并测试扩展。
48-
4945### 🐕 [ MoveMe - SwiftUI Edition] ( https://whackylabs.com/swift/swiftui/ios/animation/2024/09/12/moveme-swiftui-edition/ )
5046
5147[ @AidenRao ] ( https://weibo.com/AidenRao ) :使用 SwiftUI 来处理手势和动画实际上并不像听起来那么直观,这篇文章讲解了如何实现正方形的拖动、缩放以及过渡动画效果,并解决了一些在实现过程中出现的问题。文章还提供了代码示例和 GitHub 链接供参考。
5248
53- ### 🐎 [ Phase Animator Behavior] ( https://chris.eidhof.nl/post/phase-animator/ )
54-
55- [ @AidenRao ] ( https://weibo.com/AidenRao ) :在这篇文章中,Chris Eidhof 探讨了 PhaseAnimator 的工作原理。当视图的位置从 -100 更改为 -100 时,更新前后的节点完全相同,并不会产生任何动画,当没有具体的动画时,会立即调用动画的完成处理程序。换句话说,我们马上就进入了下一个阶段。
56-
57- ### 🐎 [ Swift Macro 在业务开发中的探索与实践] ( https://juejin.cn/post/7428200842229055529 )
58-
59- [ @JonyFang ] ( https://github.com/jonyfang ) : 结合模块化场景及曝光场景下的应用,通过模块宏能解决模块化通用模版定义的繁琐, 通过曝光宏能降低整个曝光体系接入的复杂度,本质上都是让 Swift Macro 帮助我们减少重复样板代码的编写,提供快速接入的能力。接入 Swift Macro 可以玩出很多花样,增加了代码的趣味性和可读性,降低了维护成本。
60-
6149### 🐎 [ So how does this whole @preconcurrency thing work?] ( https://www.massicotte.org/preconcurrency )
6250
6351[ @DylanYang ] ( https://github.com/Dylan19Yang ) :@preconcurrency 是一个新增的关键字,帮助开发者屏蔽并发相关的警告。在开发者往严格的并发框架逐渐迁移的流程上,有时会出现无法快速迁移,甚至无法迁移的情况,而 @preconcurrency 能够允许开发者忽略这部分警告,使得开发者能够增量的完成并发框架的迁移。本文介绍了 @preconcurrency 可以在哪些场景下帮助开发者处理这些问题,比如在一个 @MainActor 的类型里实现一个 nonisolated 的 protocol 场景,或是处理三方库中无法迁移到 concurrency 框架的代码等。有遇到类似问题的开发者可以阅读此文了解更多。
6654
6755### [ ProtobufKit] ( https://github.com/OpenSwiftUIProject/ProtobufKit )
6856
69- 轻量跨平台 ProtoBuf Swift 解决方案,实现了基础的序列化 API,并且提供一套类似 Codable 的方案支持,对比原版 5.7MB 的二进制大小,这个版本只需要 142KB。
57+ [ @ kemchenj ] ( https://kemchenj.github.io/ ) : 轻量跨平台 ProtoBuf Swift 解决方案,实现了基础的序列化 API,并且提供一套类似 Codable 的方案支持,对比原版 5.7MB 的二进制大小,这个版本只需要 142KB。
7058
7159## 内推
7260
Original file line number Diff line number Diff line change 1+ # 老司机 iOS 周报 #310 | 2024-11-04
2+
3+ ![ ios-weekly] ( https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/310.jpg?raw=true )
4+ 老司机 iOS 周报,只为你呈现有价值的信息。
5+
6+ 你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [ Issues] ( https://github.com/SwiftOldDriver/iOS-Weekly/issues ) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [ Issues] ( https://github.com/SwiftOldDriver/iOS-Weekly/issues ) 提出。
7+
8+ ## 新闻
9+
10+ > 行业相关的新闻、趣事、看法
11+
12+ ## Developer - 设计开发加速器
13+
14+ > 设计开发加速器相关活动
15+
16+ ## 新手推荐
17+
18+ > 收集一些对新手友好且质量不错的文章
19+
20+ ## 文章
21+
22+ > 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
23+
24+ ### 🐕 [ How to build a Safari extension with SwiftUI] ( https://www.polpiella.dev/safari-extensions-swiftui/ )
25+
26+ [ @Barney ] ( https://github.com/BarneyZhaoooo ) :Polpiella 在博客中分享了如何使用 SwiftUI 构建 Safari 扩展的步骤。首先,在 Xcode 中创建 Safari 扩展目标并修改 Info.plist 文件,设置工具栏项和网站访问权限。接着,利用 SFSafariExtensionHandler 创建 SwiftUI 视图,并通过 PopoverViewController 展示。最后,运行应用即可在 Safari 中安装并测试扩展。
27+
28+ ### 🐎 [ Phase Animator Behavior] ( https://chris.eidhof.nl/post/phase-animator/ )
29+
30+ [ @AidenRao ] ( https://weibo.com/AidenRao ) :在这篇文章中,Chris Eidhof 探讨了 PhaseAnimator 的工作原理。当视图的位置从 -100 更改为 -100 时,更新前后的节点完全相同,并不会产生任何动画,当没有具体的动画时,会立即调用动画的完成处理程序。换句话说,我们马上就进入了下一个阶段。
31+
32+ ### 🐎 [ Swift Macro 在业务开发中的探索与实践] ( https://juejin.cn/post/7428200842229055529 )
33+
34+ [ @JonyFang ] ( https://github.com/jonyfang ) : 结合模块化场景及曝光场景下的应用,通过模块宏能解决模块化通用模版定义的繁琐, 通过曝光宏能降低整个曝光体系接入的复杂度,本质上都是让 Swift Macro 帮助我们减少重复样板代码的编写,提供快速接入的能力。接入 Swift Macro 可以玩出很多花样,增加了代码的趣味性和可读性,降低了维护成本。
35+
36+ ## 工具
37+
38+ > 开发过程中常用的工具,及一些新工具的介绍
39+
40+ ## 代码
41+
42+ > 库,代码段,开源app
43+
44+ ## 书
45+
46+ > 比较不错的书的推荐和书评
47+
48+ ## 音视频
49+
50+ > 比较不错的书的推荐和书评
51+
52+ ## 内推
53+
54+ 重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
55+
56+ 具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
57+
58+ ## 关注我们
59+
60+ 我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
61+
62+ ** 关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参**
63+
64+ ![ ] ( https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true )
65+
66+ 同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
67+
68+ ## 说明
69+
70+ 🚧 表示需某工具,🌟 表示编辑推荐
71+
72+ 预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
You can’t perform that action at this time.
0 commit comments