Apple

Foundation

Data Formatting

Sample Code

https://developer.apple.com/documentation/foundation/formatter/displaying_human-friendly_content

ListFormatter&PersonNameComponentsFormatter

https://www.swiftbysundell.com/articles/exploring-some-of-the-lesser-known-formatter-types/
https://developer.apple.com/videos/play/wwdc2020/10160/
https://developer.apple.com/documentation/foundation/data_formatting

Stringsdict File Format

https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/StringsdictFileFormat/StringsdictFileFormat.html
https://www.hackingwithswift.com/example-code/strings/how-to-display-different-strings-based-on-available-space-using-variantfittingpresentationwidth
https://www.jianshu.com/p/a271347324de

Formatter API

https://developer.apple.com/documentation/foundation/date/3766588-formatted
WWDC 2021新Formatter API:新老比较及如何自定义

Codable

https://www.andyibanez.com/posts/the-mysterious-codablewithconfiguration-protocol/
深入 Decodable —— 写一个超越原生的 JSON 解析器

AttributedString

AttributedString
AttributedString——不仅仅让文字更漂亮

NotificationCenter

Typed Notifications

通过block接口添加通知NotificationCenter.addObserver(forName: object: queue: using:),需要手动删除,否则内存泄漏

let token = addObserver(forName: name, object: obj, queue: queue, using: block)
NotificationCenter.default.removeObserver(token as Any)

Notification

Using Critical Alerts in iOS applications



Core-ML

Core ML
Awesome-CoreML-Models



ARkit

Awesome-ARKit



Vision

Detecting Hand Poses with Vision
Detecting Human Body Poses in an Image

VisionKit

VisionKit
isionKit document scanner
用苹果官方 API 实现 iOS 备忘录的扫描文稿功能
【WWDC22 10025】VisionKit 的机器视觉方案,更智能的捕获文本与条码



UIKit

UIView

ios UIView的mask属性,view和layer的关系

Autolayout

iOS9下代码创建约束
Align UIButton and UILabel text with different font sizes
IOS AutoLayout 详解
Adventures in iOS Programming: Self-Sizing Cells
setNeedsLayout VS layoutIfNeeded
Editing Multiple Constraints
YW浣熊的iOS— Size Class — Compact vs Regular
Auto Layout Guide
Demo

iOS safeAreaInsets相关知识 修改安全区域, 如果对系统所提供的安全区域不满意, 还可以通过additionalSafeAreaInsets属性来修改安全区域

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = UIColor.redColor;
    //修改安全区域  
    self.additionalSafeAreaInsets = UIEdgeInsetsMake(100, 30, 100, 40);
}
输出结果:
self.view.safeAreaInsets.top = 144.000000
self.view.safeAreaInsets.left = 30.000000
self.view.safeAreaInsets.bottom = 134.000000
self.view.safeAreaInsets.right = 40.000000 

从输出接口可以看出:
(1)通过additionalSafeAreaInsets可以修改安全区域的大小;
(2)修改的安全区域的大小时,是在原来的安全区域的基础上做出修改的;



UICollectionView

iOS 13 Compositional Layouts

iOS 13 Compositional Layouts in CollectionView
Compositional Layout 詳解 讓你簡單操作 CollectionView!

ios 13 diffable data source

Advances in UI Data Sources -Apple Session
NSDiffableDataSourceSnapshot -Apple Doc
iOS开发之DiffableDataSource

Customizing Collection View Layouts

Customizing Collection View Layout
uicollectionview-layouts-kit A set of custom layouts for UICollectionView with examples
Longpress drag and drop using UICollectionView with Animation 拖拽cell排序,删除cell,动画

UIViewPropertyAnimator

UIViewPropertyAnimator
使用 UIViewPropertyAnimator 做动画

Drawing&UIBezierPath

運用 UIBezierPath 繪製各種形狀
利用 mask 設計特別形狀的圖片



WebKit

WKWebView

干货:探秘WKWebView
webview NSURLErrorCancelled
WKWebView get Javascript Errors
Enabling the Inspection of Web Content in Apps
Enabling Web Inspector



GroupActivities

GroupActivities
SharePlay for Developers



Core-Image

Core Image
Core Image Filter Reference
Core Image Tutorial for iOS: Custom Filters
Native QR Code Generation in Swift with CIFilter



APP-Icon

Xcode 配置多套 App 图标的方法 --- AppStore 图标 A/B Test 实践



App-Clip

App Clip 新特性



App-Documents-Share

App Documents Share



An observer that you use to monitor and react to network changes. Native Network Monitoring In Swift
Observe Your iOS App’s Network Connection Using Combine



StoreKit

iOS StoreKit 2 新特性解析
StoreKit 配置文件和搭建本地测试环境



iOS | 图解iOS签名背后的原理



A Deep Dive Into Swift’s DispatchWorkItem

1.可以跟定时器配合取消任务
2.可以用来任务通知

不改一行业务代码,飞书 iOS 低端机启动优化实践 调整GCD的优先级,不抢占主线程资源从而提高启动时间



DocC

DocC

Create great documentation with DocC
swift-docc
swift-docc-plugin
【老司机精选】DocC: 未曾设想的苹果文档



Dynamic-Type

Scaling Fonts Automatically
13 | 功能组件:如何设置动态字体,提升视力辅助功能?
由使用者決定 App 文字大小的 Dynamic Type
UIFontMetricsA utility object for obtaining custom fonts that scale to support Dynamic Type.



On-Demand-Resources-Essentials

On-Demand Resources Essentials
iOS On-Demand Resource 按需加载资源
Alibaba.com App瘦身实践——iOS包大小技术与ROI总结



LLVM

使用 LLVM



微信重磅功能回归,终于解禁



Push to Talk 实现“对讲机”



With the ActivityKit framework, you can start a Live Activity to share live updates from your app on the Lock Screen
ActivityKit可以在锁屏画面添加App的活动
iOS 16 锁定屏幕的实时活动现在可供具有最新测试版的开发人员使用

Dynamic Island(灵动岛)

Dynamic Island (and Live Activities): Quick start tutorial
Dynamic-Islands About A sample of dynamic island designs recreated for inspiration
iOS灵动岛开发实践
盒马 iOS Live Activity &“灵动岛”配送场景实践



SPM

Swift Package plugins

Swift Package plugins 初探
命令 plugins 可以运行一些自定义的操作,例如代码格式化,代码扫描等。
构建工具 plugins 扩展了构建系统的依赖关系图,可以直接在构建过程中生成源代码或资源
SwiftGenPlugin 使用Command plugin在project prebuild时执行swiftgen命令
使用 Swift Package 插件生成代码
Meet Swift Package plugins
Xcode 中使用 SPM 和 Build Configuration 的一些坑
Swift Package Manager工程实践
Binary Targets in Swift Package Manager 利用SwiftPackag 管理xcframework
How to Use Swift Package Manager to Save Gigabytes of Network Traffic and Disk Space



AST-Abstract-Syntax-Tree

SourceKitten
利用 Jazzy + SourceKitten 生成多依赖库的在线文档
SwiftSyntax 抽象语法树(Abstract Syntax Tree,AST)
sourcekit-lsp



Image-I/O

Image I/O
探秘越来越复杂的 ImageIO 框架



iOS-APP添加桌面快捷方式

iOS APP添加桌面快捷方式



ReplayKit

iOS ReplayKit 与 屏幕录制



AVFoundation

淘宝iOS拍立淘微距能力探索与实现