即刻App年轻人的同好社区
下载
App内打开
老司机技术周报
2关注64被关注0夸夸
老司机技术周报,只为你呈现有价值的信息
老司机技术周报
4年前
#iOS 周报# 第 129 期周报发布啦!! - t.cn

强烈推荐:🌟 🐢 系列文章:用 Swift 实现一个 Swift Runtime - t.cn

@享耳先森:这个系列的文章来自于今年愚人节的一个项目,作者让 Mac OS 9 支持运行 Swift 程序,其中 Swift Runtime 没有将 C++ 的实现迁移过来,而是使用 Swift 实现了一套,文章里就分享了具体的实现细节,包含了大量的 Swift 指针操作技巧。

通过阅读系列文章,你应该对 Swift Runtime 会有更深的理解,推荐阅读。
- t.cn
- t.cn
- t.cn
00
老司机技术周报
4年前
#iOS 周报# 第 126 期周报发布啦!!

强烈推荐:🌟 🐕 Ex1. CocoaPods 中的 Ruby 特性之 Mix-in

@JonyFang :本文从 CocoaPods 中用到的 Ruby 语法特性说起,讲述了 Ruby 中为了解决多继承问题而引入的 Mix-in 模式,并且 Ruby 也为其定义了 module 和 include 关键词的语法糖。

可以带着这几个问题来看这篇文章:

什么是 Mix-in,它与多继承是什么关系?
Mix-in 在大多数编程语言中是如何落地的?(可以说说 Swift 中的应用)
多继承的缺点有什么?
在 CocoaPods 中是如何使用 Mix-in 特性的?
文中最后引入了 Duck Tying 程序设计思想,有兴趣可以自行研究。

老司机 iOS 周报 #126 | 2020-08-31

00
老司机技术周报
4年前
#iOS 周报# 第 125 期周报发布啦!! t.cn

@JonyFang :Cocoapods 作为包管理工具,随着 Apple 生态的发展不断地迭代和进化,各部分核心功能也都演化出了相对独立的组件。这些功能独立的组件,均被拆分为一个个独立的 Gem 包,而 CocoaPods 则是这些组件的集合。本文主要介绍了CocoaPods 的主要构成,及各个组件在整个 Pods 工作流的关系。

可以带着这几个问题来看这篇文章:

- CocoaPods 的核心模块包含哪些?
- pod 命令是如何找到并启动 CocoaPods 程序的?
- pod install 的流程是怎样的?
- resolve_dependencies 阶段中的 pre_download 是为了解决什么问题?
- validate_targets 都做了哪些校验工作?

在我们知道了 CocoaPods install 的大致过程后,我们可以对其做一些修改和控制。例如知道了插件的 pre_install 和 post_install 的具体时机,我们就可以在 Podfile 中执行对应的 Ruby 脚本,达到我们的预期。同时了解 install 过程也有助于我们进行每个阶段的性能分析,以优化和提高 install 的效率。
01
老司机技术周报
4年前
#WWDC内参# @享耳先森:隐私一直是 iOS 系统的重中之重,在刚刚结束的 WWDC 2020 ,苹果向我们展示了新的 iOS14 系统。iOS14 的适配,很重要的一环就集中在用户隐私和安全方面。本文介绍了 iOS 14 系统隐私方面的调整以及开发者如何跟进适配,涉及以下方面的调整:

- 相册增加 Limited
- 地理位置增加模糊定位
- 局域网信息
- 剪贴板
- 相机和麦克风
- IDFA

t.cn

iOS14 隐私适配及部分解决方案

00
老司机技术周报
4年前
#WWDC内参# 为小组件构建 SwiftUI 视图

本文属于 WWDC20 中 Widgets 系列的文章。Widgets 是使用 SwiftUI 进行开发的,如果您对 SwiftUI 还不是很了解请翻看 Introduction to SwiftUI[1]。如果希望先了解更多 Widgets 请移步文末的相关链接。

t.cn ​​​

为小组件构建 SwiftUI 视图

00
老司机技术周报
4年前
#iOS 周报# 123 期周报发布啦!!

推荐阅读:Flutter 1.20 正式发布,新特性解读

@邦ben是我 :Flutter 1.20 正式发布,带来了不少新特性,Flutter 的更新速度还是非常让人满意。

- 图标字体摇树优化(即删除你未使用的图标字体,降低体积)
- 提供 SKSL 预热功能,优化动画效果(需要设置)。
- 优化了鼠标命中测试,提高 web 性能。
- Dart 2.9 优化了 utf-8 解码器,在低端 ARM 设备上,英语文本的解码速度也提升至近 200%,而中文文本更是提升至 400%。
- 支持 Android iOS 自动补全功能。
- 更新了 InteractiveViewer 组件(用于平移、缩放、拖拽以及大小调整等)。
- 更新 Meterial Slider、RangeSlider、TimePicker 以及 DatePicker.
- AboutDialog 用于显示所有用到的 package licenses
- pubspec.yaml 新格式,主要是指定特定平台
- VSCode 集成 Dart DevTools(可以不打开网页了)。
- DevTools 支持网络分析。
- VSCode 重命名或者移动自动更新对应引用。
- Channel 生成器(Pigeon),通过 Dart 声明,工具生成 Channel 三端通信代码。
- 还有很多的 bugfix 以及一些新特性处理。

除了性能优化之外,特别推荐关注一下 Pigeon,可以节省下不少编写 Channel 的时间。

https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/Reports/2020/%23123-2020.08.10.md

00
老司机技术周报
4年前
#WWDC内参# 如何用 SwiftUI 写一个独立的 App?

通过此 Session 你将学习如何在 SwiftUI 中构建文档型 App, 通过 DocumentGroup API,以及 Pure SwiftUI App Scenes 组合,使你的 App 对文档管理的快速集成,例如文档浏览和 iCloud 文件浏览,而无需繁琐多余的工作。

如何用 SwiftUI 写一个独立的 App?

00
老司机技术周报
4年前
#WWDC内参# 十年过去了,Swift 发展的怎么样了?

Chris Lattner 开始设计 Swift 到现在已经十年过去了,今年 Swift 又升级了哪些能力呢?让我们一起来看一下。

每一年的「What's new in ...」系列都会有很多提纲挈领的作用。Swift 这个逐渐完善的语言在今年也必会大放异彩,为我们开发者带来更多讨喜的新特性。在这个 Session 中,虽然无法得知 Swift 5.3 的所有进化细节,但是已经将 Swift 5.3 新特性中最重要的部分归纳到一起,让我们对新的 Swift 有一个更好的认识。

话不多说,来看正文。

十年过去了,Swift 发展的怎么样了?

01
老司机技术周报
4年前
在 SwiftUI 中创建复杂功能

使用 SwiftUI 在 Apple Watch 上增加图形复杂功能。我们将教你如何在 Meridian 和图文这种表盘的复杂功能上使用自定义 SwiftUI 视图,查看创建复杂功能的最佳方法,我们还将演示在 Xcode 12 中的成果预览。

#WWDC20

在 SwiftUI 中创建复杂功能

00
老司机技术周报
4年前