老司机 iOS 周报 #246 | 2023-05-29 #4032
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 提出。
新闻
来 WWDC23 之夜深圳场,看直播!领 Apple 周边!
今年的 WWDC 有线下观影活动哟!6 月 5 日晚,由 T 沙龙主办的「WWDC 之夜(深圳场)」将在货拉拉深圳研发中心举行,在深圳(或附近)的朋友可以线下参加一起熬夜!点击周报下方外链可以直接报名。活动现场还邀请到了两位货拉拉的嘉宾进行精彩分享,分别是:
新手推荐
🐕 Handling WebP Images When Using PHPickerViewController
@极速男孩:在 iOS14 中苹果推出了 PHPickerViewController 来取代 UIImagePickerController,本身 PHPickerViewController 是不支持 WebP 格式的图片的。这篇文章介绍了如何通过给 NSItemProvider 添加扩展的方式来给 PHPickerViewController 增加 WebP 格式图片的支持。
文章
🐎 SwiftUI under the Hood: Variadic Views
@Smallfly:这篇文章主要讲了在 SwiftUI 中的可变参数视图(Variadic Views)。它介绍了如何使用
TupleView
来构建多个视图,并展示了它在视图修饰符方面的透明性。文章还讨论了 SwiftUI 中的一些底层机制,如_VariadicView
和_VariadicView.Tree
,以及它们与VStack
和其它视图类型的关系。最后,文章演示了如何编写自定义的容器视图,类似于List
和VStack
,以在视图之间插入分隔线。🐕 云音乐中 In-App Purchase 实践总结篇 - 掘金
@Barney:这篇文章主要讨论了如何使用 StoreKit 库进行应用内购买 (IAP) 的开发,并提出了处理 IAP 中挑战和问题的方案。
🐕 This Window Is Leaking
@Cooper Chen:这篇文章主要关注了 macOS SwiftUI 应用开发过程中,在
NSWindow
上设置自定义NSWindowDelegate
可能会引入内存泄漏,并且说明了作者如何发现问题到尝试解决问题的思路,作者建议在在设置自定义 Delegate 之前保存原有的 Delegate,并在窗口关闭之前恢复它。另外值得一提的是这个解决方案对于未来版本是否适配是未知的,因此引入这个方案需要较为谨慎。🐎 构建稳定的预览视图 —— SwiftUI 预览的工作原理
@J_Knight_:文章由一个引发 SwiftUI 预览崩溃的代码为切入点,深入分析和介绍了 SwiftUI 的预览机制(比如生成预览衍生文件等等);也提示了为了提高开发效率需要注意的几个问题。
🐎 饿了么开源自研多端框架 MorJS
@老峰:Mor 是饿了么开发的一款基于小程序 DSL 的可扩展多端研发框架,允许开发者编写一套小程序代码并通过转端编译在多个平台(如微信、支付宝、百度等)运行,从而提高开发效率并确保兼容性和一致性。特点包括:
除此上述核心能力外,MorJS 还实现了对于多端或不同环境构建产出不同代码的能力,产物压缩,程序本地 JSAPI mock 能力。
🐎 Using Layout protocol to align explicitly positioned views in SwiftUI
@JonyFang: 介绍了在 SwiftUI 中定位视图的不同方法。
position()
修饰符允许我们通过设置中心点坐标将视图放在其父容器内。然而,在某些情况下,我们不希望视图遮挡住其他标签,因此需要将视图和锚点右对齐或左对齐。在 iOS15 及之前的版本中,通常的解决办法是使用
GeometryReader
来测量视图的大小并调整偏移量。然而,这种方法存在一些问题,如动画的不一致性等。iOS 16 引入了新的 Layout 协议,它允许我们显式地放置视图,并在调用
place()
方法时指定一个锚点。Layout 协议有多种使用方式,但在只有一个标注的情况下,更简单的选项是每个标注都有自己的布局。实例代码放在了 Github:NilCoalescing/SwiftUI-Code-Examples
Public
🐕 在 iOS 中使用 IdentifyLookup 进行短信过滤
@AidenRao:垃圾短信是一个长期存在、令人困扰的问题,Apple 在 WWDC 2017(iOS 11) 推出了 IdentityLookup 框架,让开发者可以参与到过滤短信的过程中。本文将介绍如何阻止这些短信、设备端的检测以及服务器检测等。
代码
🐕 Sparkle - Mac 应用更新框架
@水水:如果你的应用上了 App Store ,其中最大便利之一就是更新处理,苹果可以通过 App Store 进行应用程序的传播和更新。但是如果你在外部分发应用程序,你需要一种替代方法来进行更新通知和执行更新等操作,Sparkle 就是一个帮你的 Mac 应用进行外部更新的框架,Sparkle 框架功能非常全面。如果你也有这方面的需要,具体可以参考 Sparkle 的实现和接入 一文。
内推
重新开始更新「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 周报 #246 | 2023-05-29.
Beta Was this translation helpful? Give feedback.
All reactions