3

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

 1 year ago
source link: https://zhangferry.com/2022/10/14/iOSWeeklyLearning_71/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
moyu_weekly_cover.jpeg
  • 本期话题:十月份 One More Thing? Apple 新增 QA 活动;Swift 和 SwiftUI 在 iOS 系统中的使用情况。
  • 本周学习:在 iOS 16 中更改文本编辑器背景;解决 Cocoapods 导致的 Showing Recent Messages 问题
  • 内容推荐:SwiftUI 好文推荐
  • 摸一下鱼:推荐一款图片在线处理网站以及老地图查询网站;供摸鱼的迷宫生成器。

One More Thing?

@zhangferry:虽然还没有官宣,但是网上已经讨论很多了,Apple 10 月还会有一场发布会。YouTube 博主 GregsGadgets 录了一期视频爆料新产品:Apple October Event LEAKS!

20221011224436.png

新产品会有这些:New iPads、New M2 iPad Pros、M2 Mac mini、M2 MacBook Pro(14/16寸),M2 版本的 Mac Pro 和 Apple TV 也可能会一起发布。

Apple 提供 Ask People 服务

20221012233542.png

@zhangferry:Apple 提供了 Ask People 服务让开发者能够通过 Slack 与 Apple 专家进行交流。Ask People 可以理解为一个 QA 环节,可以问代码级别的支持、设计建议、系统库使用等内容,Apple 指定了一段时间用于问答,从 10月 17 号开始到 21 号结束,这个期间会按照不同专题进行问答,这些专题对应 Slack 不同频道。活动注册,需要为开发者计划会员,具体日程和话题安排可以参照这个日程表

Tech Talks 和 Meet with Apple Store Experts 项目在过去一年提供了 200 多个现场演示时长达数千小时。Apple 从这些活动中看到开发者对 Apple 专家交流的诉求,于是有了 Ask People。所以有理由相信后面还会有更多的 Ask People。

Swift 和 SwiftUI 在系统层面使用情况

@zhangferry:作者通过分析系统库的所有二进制文件来统计 Swift 和 SwiftUI 在系统版本上的占比情况:

20221011222541.png

统计方式是把系统中的所有二进制文件数量作为总数(不包含 XNU 和固件代码),如果该二进制文件中包含以上统计信息(语言或框架)就加一,按照比例划分做出上图。从这张图中可以得出以下结论:

  • Objective-C 仍然是 iOS 系统的核心语言。
  • Swift 在系统库中的使用越来越高,相对成熟;SwiftUI 开始崭露头角但仍处于早期阶段。
  • C 语言在慢慢退出。

整理编辑:FBY 展菲

iOS Xcode 解决 Showing Recent Messages :-1: Unable to load contents of file list

Xcode 运行 pod 项目报错 Showing Recent Messages :-1: Unable to load contents of file list


Showing Recent Messages
:-1: Unable to load contents of file list: '/Users/fanbaoying/Desktop/AWSDemo/amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/Pods/Target Support Files/Pods-AmazonFreeRTOSDemo/Pods-AmazonFreeRTOSDemo-frameworks-Debug-output-files.xcfilelist' (in target 'AmazonFreeRTOSDemo')

导致原因: 因为是下载的第三方的项目 cocoapods 的版本不同导致

解决方法:

重新安装或者升级一下就好


sudo gem install cocoapods

然后把工程里面的 Pod 文件夹和 Podfile.lock 文件删掉,然后 cd 到项目根目录,然后重新运行一下 pod install 命令,重新编译即可。

使用上面重新安装命令时可能会报下面的错


ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

解决方法:

执行下面命令


sudo gem install cocoapods -n /usr/local/bin

来源:iOS Xcode 解决 Showing Recent Messages :-1: Unable to load contents of file list - Swift社区

在 iOS 16 中更改文本编辑器背景

从iOS 16开始,我们可以使用 scrollContentBackground()background() 视图修饰符的组合在SwiftUI中为 TextEditor 设置自定义背景。我们首先必须通过应用 scrollContentBackground(.hidden) 来隐藏 TextEditor 上的默认背景,否则我们的自定义背景将不可见。然后,我们可以轻松地使用 background() 方法设置新的背景。

struct ContentView: View {
    @State private var text = "Some text"
    
    var body: some View {
        TextEditor(text: $text)
            .frame(width: 300, height: 200)
            .scrollContentBackground(.hidden)
            .background(.indigo)
    }
}

来源:在 iOS 16 中更改文本编辑器背景 - Swift社区

1、StateObject 与 ObservedObject -- 来自:东坡肘子

@远恒之义:StateObject 和 ObservedObject 两者都是用来订阅可观察对象( 符合 ObservableObject 协议的引用类型 )的属性包装器。当被订阅的可观察对象通过内置的 Publisher 发送数据时( 通过 @Published 或直接调用其 objectWillChange.send 方法 ),StateObject 和 ObservedObject 会驱动其所属的视图进行更新。StateObject 是在 SwiftUI 2.0 中才添加的属性包装器,它的出现解决了在某些情况下使用 ObservedObject 视图会出现超预期的问题。本文将介绍两者间的异同,原理以及注意事项。

2、SwiftUI 开发之旅:适配深色模式 -- 来自:掘金 new_cheng

@远恒之义:从 iOS 13 开始,苹果支持了深色模式,在昏暗的环境中,我们打开深色模式可获得出色的视觉体验。SwiftUI 默认支持深色模式,对于基本视图的文字和背景都有默认的深色模式样式。本文作者介绍了 Color Set、overrideUserInterfaceStyle 等适配方法,还有如何支持用户手动切换颜色模式。对于深色模式的适配,推荐采用 Assets.xcassets 的方式去定义一个完整的颜色集来适配。

3、How to dismiss sheet in SwiftUI -- 来自:sarunw

@远恒之义:模态或表单(.sheet)是 iOS 中的核心展示之一。在 SwiftUI 中有三种方法(in the same viewwith @Bindingwith @Environment)来关闭表单,具体的方式取决于你的视图结构以及支持的最低 iOS 版本。

4、SwiftUI List Style examples -- 来自:sarunw

@远恒之义:SwiftUI 中的 list 列表有多种样式,基于不同的平台也支持许多不同的风格。本文中将专注于 iOS 平台,介绍六种不同的风格:.automatic.insetGrouped.grouped.inset.plain.sidebar,每种样式都有简单的代码示例和展示配图。

5、How to show badge on Tab Bar Item in SwiftUI -- 来自:sarunw

@远恒之义:tabItem 上的红点角标非常能吸引用户的注意,通常与应用程序图标上未读通知的数量相关联。在 SwiftUI 中,我们能非常方便的实现这个功能,使用 badge(_:) 来修饰选项卡栏项目(tabItem),支持设置整数(.badge(3))和字符串(.badge("99+"))。

6、How To Automatically Create .gifs From The iOS Simulator -- 来自:digitalbunker

@远恒之义:如何在不需要任何第三方工具的情况下,直接从 iOS 模拟器录制视频并导出 .gif?首先,请按住 Option 键并将鼠标悬停在模拟器“保存屏幕”按钮上。按下该 Option 键,此设置将更改为“录制屏幕”。接着,你可以像往常一样继续录制你的应用程序。最后,停止录制,在视频预览消失之前,右键单击它并选择“另存为动画 GIF”。

来自 digitalbunker 的演示操作 gif

整理编辑:东坡肘子

1、迷宫生成器:一个可以生成多种形状、规格迷宫的网站。生成的迷宫图形可以以 PDF 的格式下载,并且会附带迷宫解法。

image-20221013094111617

2、老地图查询:该网站汇总了大量文献中的老地图,选择你要查询的位置,网站会列出与其相关的各个时期的老地图资料。

image-20221013095128193

3、来自幽灵的数字:Peter Adams 为自己的音乐创建的一个虚幻的空间。音乐与视觉共同营造了一个梦幻的氛围。

image-20221013100119087

4、imagesTool —— 无需上传的在线图片处理服务:提供了格式转换、水印、拼接、Gif 处理、视频转 Gif 等多项功能。所有工具均使用浏览器本地技术实现,无需上传,速度更快、隐私也更有保障。

image-20221013101815464

5、第一批彩色字体在谷歌字体上发布:通过 COLRv1 格式,字体设计师可以设计并制作更富表现力的可定义字体。本次一共发布了九款彩色字体。Chrome、Android 和 Google 字体 API 中已经提供了对 COLRv1 格式的支持。

1-google-font.png

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

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

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

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

iOS 摸鱼周报 #67 | Xcode Cloud 已支持订阅

WechatIMG384.jpeg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK