SwiftUI 编程 Tips
SwiftUI 编程 Tips 本文记录了使用 SwiftUI 编程时需要注意的一些细节. View.onAppear 使用 GeometryReader 获取基于父视图的布局空间 View 协议当作类型使用 @StateObject 和 @EnvironmentObject @ViewBuilder View.mask 和 Vi...
SwiftUI 编程 Tips 本文记录了使用 SwiftUI 编程时需要注意的一些细节. View.onAppear 使用 GeometryReader 获取基于父视图的布局空间 View 协议当作类型使用 @StateObject 和 @EnvironmentObject @ViewBuilder View.mask 和 Vi...
开发中的零碎知识点(持续更新) 本文记录一些开发中不常用但是很基础的零碎知识点. 因为我经常写一些 Demo 总是遇到. Swift 编译环境下设置 DEBUG 编译参数 Swift 设置 DEBUG 编译参数 在项目 Build Setting 中查找 Swift Compiler Custom Flags, 并在 Other Swift Flags 中新...
CocoaPods 报错处理 本文记录了一个 cocoapods 报错的处理, 由于我经常创建 Demo, 频繁处理此问题,遂记录一下 CocoaPods 1.14.3 Xcode Version 15.0.1 (15A507) pod install 成功之后 project run fail: 报错: 执行沙盒脚本报错 Sandbox: rsy...
创建不使用 UIScene 的工程 本文记录了创建不使用 UIScene 的工程的两种方法 暴力删除法, 直接删除 UIScene 相关配置,不做支持 版本适配法, 针对 iOS 12 以下系统使用 AppDelegete, iOS 13 + 使用 UIScene UIScene 已经是 Xcode 默认创建项目的默认配置了, 并且现在开发新项目也基本...
对通用平台项目的思考 本文记录了对于近期项目设计方式, 实现方式的思考 前言 我司项目以 iOS 小组件为核心, 主要包含组件详情/编辑 & 桌面小组件, 是一款通用的小组件平台. 欢迎体验我司产品 万象小组件 如何设计一款通用,可扩展的通用平台就成了最核心的方向性问题. 本文则记录了主要的设计思路和逻辑问题 基本的业务流程设计 简单来说通用平台就是要支持所有类型...
iOS 音视频处理小记 本文记录了处理音频时候踩的坑, 主要是其中因不熟悉导致耗时较长的点 从视频中提取音频 音频文件的播放 AVAudioPlayer 创建报错 系统中音频文件的格式 从视频中提取音频 视频由视轨和音轨组成, 从视频中提取音轨需要用到 AVFoundation 框架中 AVAsset & AVURLAsset...
iOS 小组件 - 创建透明小组件 本文记录了创建透明小组件的思路和实现 可以尝试一下我们的 万象小组件 来体验效果 何为透明小组件 用户将手机桌面截图上传到 App, App 内根据组件位置和尺寸进行截图, 用作小组件的背景, 这样放到桌面的小组件看起来就和桌面浑然一体好像透明一样. 用户操作步骤为: 手机桌面截屏, 上传用于制作透明背景 在 App 中保存...
本文主要记录了如何基于创建一个自己的 HTTP / FTP 服务器 这样能在不破坏开发环境的情况下提供稳定接口调试服务, 为自己节省大量时间 背景 详细说一下背景(写给自己, 记录一下当时情况, 可以直接看下面实操): 刚接手公司项目时, 要做一个网络文件下载/解析/本地存储/读取的功能. 这些直接依赖于公司服务器, 由于我所开发的任务是预研新功能并开发, 所以服务端并没...
灵动岛 (Dynamic Island) 是 iPhone 14 Pro 系列推出. 最低适配系统 iOS 16.1 在开发中灵动岛相关开发称为 ‘实时活动’(Live Activity) Live Activity overView Activity framework Programatic layout with SwiftUI and WidgetKit Ex...
Tips: 本文是创建基于 SiriKit 的可配置小组件 最新基于 AppIntent 的可配置组件移步Making a configurable widget 桌面小组件分为两种: 静态小组件 & 可配置小组件 静态小组件就是 Xcode 默认创建的小组件, 不再赘述. 这里主要讲可配置小组件. 可配置小组件有两种创建方式: SiriIntent 和 AppIn...