- Foundation
- Core ML
- ARKit
- Vision
- UIKit
- WebKit
- GroupActivities
- Core Image
- APP Icon
- App Clip
- App Documents Share
- Network
- StoreKit
- Certificates
- Dispatch
- DocC
- Dynamic Type
- On-Demand Resources Essentials
- LLVM
- CallKit
- Push to Talk iOS 16.0+
- ActivityKit
- SPM
- AST
- Image I/O
- iOS APP添加桌面快捷方式
- ReplayKit
- AVFoundation
https://developer.apple.com/documentation/foundation/formatter/displaying_human-friendly_content
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
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
https://developer.apple.com/documentation/foundation/date/3766588-formatted
WWDC 2021新Formatter API:新老比较及如何自定义
https://www.andyibanez.com/posts/the-mysterious-codablewithconfiguration-protocol/
深入 Decodable —— 写一个超越原生的 JSON 解析器
通过block接口添加通知NotificationCenter.addObserver(forName: object: queue: using:),需要手动删除,否则内存泄漏
let token = addObserver(forName: name, object: obj, queue: queue, using: block) NotificationCenter.default.removeObserver(token as Any)
Detecting Hand Poses with Vision
Detecting Human Body Poses in an Image
VisionKit
isionKit document scanner
用苹果官方 API 实现 iOS 备忘录的扫描文稿功能
【WWDC22 10025】VisionKit 的机器视觉方案,更智能的捕获文本与条码
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)修改的安全区域的大小时,是在原来的安全区域的基础上做出修改的;
iOS 13 Compositional Layouts in CollectionView
Compositional Layout 詳解 讓你簡單操作 CollectionView!
Advances in UI Data Sources -Apple Session
NSDiffableDataSourceSnapshot -Apple Doc
iOS开发之DiffableDataSource
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,动画
干货:探秘WKWebView
webview NSURLErrorCancelled
WKWebView get Javascript Errors
Enabling the Inspection of Web Content in Apps
Enabling Web Inspector
Core Image
Core Image Filter Reference
Core Image Tutorial for iOS: Custom Filters
Native QR Code Generation in Swift with CIFilter
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
A Deep Dive Into Swift’s DispatchWorkItem
1.可以跟定时器配合取消任务 2.可以用来任务通知
不改一行业务代码,飞书 iOS 低端机启动优化实践 调整GCD的优先级,不抢占主线程资源从而提高启动时间
Create great documentation with DocC
swift-docc
swift-docc-plugin
【老司机精选】DocC: 未曾设想的苹果文档
Scaling Fonts Automatically
13 | 功能组件:如何设置动态字体,提升视力辅助功能?
由使用者決定 App 文字大小的 Dynamic Type
UIFontMetricsA utility object for obtaining custom fonts that scale to support Dynamic Type.
On-Demand Resources Essentials
iOS On-Demand Resource 按需加载资源
Alibaba.com App瘦身实践——iOS包大小技术与ROI总结
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 (and Live Activities): Quick start tutorial
Dynamic-Islands About A sample of dynamic island designs recreated for inspiration
iOS灵动岛开发实践
盒马 iOS Live Activity &“灵动岛”配送场景实践
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
SourceKitten
利用 Jazzy + SourceKitten 生成多依赖库的在线文档
SwiftSyntax 抽象语法树(Abstract Syntax Tree,AST)
sourcekit-lsp