Skip to content

Files

Latest commit

5814fb9 · Oct 23, 2022

History

History
145 lines (79 loc) · 10.6 KB

iOSWeeklyLearning_72.md

File metadata and controls

145 lines (79 loc) · 10.6 KB

iOS 摸鱼周报 #72 | 1024 开始预热

本期概要

  • 本期话题:1024 程序员节活动,App Store 现已开放 iOS 16.1 和 iPadOS 16.1 App 提交
  • 本周学习:当设置 UIImageView 高亮时,会暂停当前的动画;Xcode 14 编译包在 iOS 12.2 以下设备崩溃
  • 内容推荐:灵动岛有很多玩法还待探索,本期推荐一些相关文章
  • 摸一下鱼:CleverToolKit:iOS 开发者辅助工具,页面简洁,体积小巧。目前包含 json2model 功能。

本期话题

1024 程序员节活动

@远恒之义:一年一度的 1024 程序员节日即将到来,作为程序员的我们又可以开心度过(摸鱼)这个专属节日。摸鱼周报的全体编辑在这提前祝大家节日快乐,代码无 bug!

过节少不了活动,我们收集了一些 1024 程序员主题活动,感兴趣的同学可以浏览参与一下

@远恒之义:锁定屏幕和灵动岛上的“实时活动”已正式在 iOS 16.1 和 iPadOS 16.1 发布。即日起,你可以使用 Xcode 14.1 RC 发布候选版本来构建 App 并提交审核。此外,自 2023 年 4 月起,所有提交至 App Store 的 iOS 和 iPadOS App 都必须使用 Xcode 14.1 和 iOS 16.1 SDK 来构建。iOS 16 系统更新了许多新 API 和功能,开发者们尽快下载最新的 Xcode 来对 App 进行优化适配吧。

本周学习

整理编辑:夏天

当设置 UIImageView 高亮时,会暂停当前的动画

问题背景

项目通过配置 UIImageViewanimationImages 实现 loading 动画。项目基于 UICollectionView 实现分页组件。当 loading 动画时,双击图片,动画会暂停。

问题描述

通过 hook``UIImageViewstopAnimating 方法并添加断点,查看当动画停止时的调用栈,发现正在设置当前 imageView 为高亮。

这是因为当我们双击UICollectionView 时,UICollectionView 会高亮展示当前的 CollectionViewCell,此行为会将当前 CollectionViewCell上支持高亮展示的 subview 的显示状态成高亮。

UIImageView 在设置高亮状态时,会先调用 stopAnimating

解决方案

禁止 UICollectionView 高亮行为, UICollectionView 的代理方法shouldHighlightItemAt 返回 false

optional func collectionView(
    _ collectionView: UICollectionView,
    shouldHighlightItemAt indexPath: IndexPath
) -> Bool

Xcode 14 编译包在 iOS 12.2 以下设备崩溃

由于项目支持 iOS 12.0 以上,最新版本测试时发现 iOS 12.1.4 的系统无法打开安装包,而 12.4 的设备可以正常打开。

Xcode 14 的编译包会多出一些系统库,你需要添加 libswiftCoreGraphics.tbd ,否则在 iOS 12.2 以下的系统找不到 libswiftCoreGraphics.tbd 而发生崩溃。

来源:iOS小技能:Xcode14新特性(适配)

内容推荐

本期我们将推荐一些与实时活动和灵动岛有关的优秀内容

1、在 iOS 16 中显示实时活动 -- 来自:Majid

@东坡肘子:实时活动小组件是 iOS 16 最突出的功能之一。iOS 16 允许我们在锁屏界面或 iPhone 14 Pro 的灵动岛区域显示来自应用程序持续活动的实时状态。本文将介绍如何使用新的 ActivityKit 框架为我们的应用程序构建实时活动小组件。

2、掌握 SwiftUI 的灵动岛 -- 来自:Majid

@东坡肘子:本文将介绍如何使用灵动岛功能在 iPhone 14 Pro 上显示应用程序中的实时活动,是上篇文章的延续。

3、灵动岛 Dynamic Island 初探 -- 来自:Kingnight

@东坡肘子:本篇文章将从软件开发角度,探索灵动岛的展现形式、功能限制、如何具体实现、适用场景等各方面的问题;帮助还不了解相关信息的开发者快速理解这一新的展现形式,并结合自身产品形态做出创新。

4、为 iPhone 14 Pro 的灵动岛设计 -- 来自:Niels Boey

@东坡肘子:作者是一个产品设计师,本文将从设计师的角度对灵动岛功能进行了介绍和讲解。

5、实时活动( Live Activity )- 在锁定屏幕和灵动岛上显示应用程序的实时数据 -- 来自:Layer

@东坡肘子:本文参考、翻译并实现了 Apple‘s documentation activitykit displaying live data with live activities 及 Updating and ending your Live Activity with remote push notifications 内容,并提供了范例代码。

6、如何激活灵动岛中的像素 -- 来自:iPhone 15 Ultra

@东坡肘子:打开黑暗模式 -> 在后台播放一些音乐 -> 转到设置 -> 辅助功能 -> 显示与文本大小 -> 开启/关闭智能反转 -> 你将看到完整的💊。

7、iOS灵动岛【电商商品秒杀】开发实践 -- 来自掘金

@邓利兵:iOS灵动岛【电商商品秒杀】开发实践,详细讲解了灵动岛的基本概念、开发基本要素及细节。Demo中展示了主工程和灵动岛Widget的通讯方式及灵动岛Widget的布局方式。

摸一下鱼

整理编辑:师大小海腾

1、CleverToolKit:iOS 开发者辅助工具,页面简洁,体积小巧。

目前包含 json2model 功能,将 json 解析成项目中使用的 Model,支持 Swift、OC 两种语言,Swift 支持的框架包括 Codable、SwiftyJSON、HandyJSON,OC 支持的框架包括 YYModel、MJExtension。同时该功能还支持了 Xcode Editor Extension,无需打开工具在 Xcode 内部便可以实现操作,共享工具外部设置。

后续还会添加一些好用的功能到这个软件中去。

2、Mac-QuickLook:收录了许多好用的 QuickLook 的插件和软件包。

3、MenuBarX:一款强大的 Mac 菜单栏浏览器,把网页添加到菜单栏上,像原生 App 一样即开即用,为你打开 Web Apps 的新世界。

4、SpiderCard 蜘蛛纸牌 for Mac:仿 Windows 经典单机游戏 —— 蜘蛛纸牌。

关于我们

iOS 摸鱼周报,主要分享开发过程中遇到的经验教训、优质的博客、高质量的学习资料、实用的开发工具等。周报仓库在这里:https://github.com/zhangferry/iOSWeeklyLearning ,如果你有好的的内容推荐可以通过 issue 的方式进行提交。另外也可以申请成为我们的常驻编辑,一起维护这份周报。另可关注公众号:iOS成长之路,后台点击进群交流,联系我们,获取更多内容。

往期推荐

iOS 摸鱼周报 #71 | iOS / One More Thing?

iOS 摸鱼周报 #70 | iOS / iPadOS 16.1 公测版 Beta 3 发布,支持老款 iPad 台前调度

iOS 摸鱼周报 #69| 准备登陆灵动岛

iOS 摸鱼周报 #68 | iPhone14 灵动岛创意