借助 Cocoapods 动态控制 Xcode 项目的依赖引入和条件编译 —— Ficow 的实战笔记

| iOS , Xcode , 实用工具

当一个大型的移动开发项目内有多个相似的 Target 的时候,如果需要动态地控制不同 Target 引入的依赖,我们该怎么做? 如果还需要用条件编译来控制某些代码只在某些 Target 中引入,我们该怎么做? 如果这些条件编译还允许 CI 动态地进行配置,我们又该怎么做? Ficow在这里为你提供一种实现思路,希望对你有所帮助~

WWDC22 - Swift 5 新特性

| Swift , WWDC

Swift 5 又经历了几次大迭代,截至 WWDC 22,Swift 的最新版本是 5.7。 在 Swift 迈向下一个大版本 Swift 6 之前,Swift 5 已经进化出了原生的并发模型,而 Swift 6 将会在此基础上去实现完全线程安全的并发编程。 现在,和 Ficow 一起来看看,Swift 5 中有哪些特性可以帮助我们更快更安全地搬砖吧~

WWDC22 - Xcode 14 新特性

| Swift , iOS , WWDC

Xcode 14 重新设计了 SwiftUI 的预览体验,强化了代码补全和导航。除此之外,还有更好用的 TestFlight 呢。一句话总结就是:更快,更强,更易用。和 Ficow 一起来看看吧~

小番茄App 技术支持页

| 实用工具

即刻安装小番茄App,采用番茄工作法,轻松实现劳逸结合。更健康的工作方式,让你的学习、工作和生活都更加游刃有余~

Ficow 陪你看 WWDC 2022

| iOS , WWDC

去年,Ficow 陪你看 WWDC 2021。今年,同样不能缺席呢~ WWDC 2022 的完整视频列表,足足有180多个视频,想全部看完还是需要耗费很多的精力。 所以,Ficow 在这里为你提供一些实战建议。

用 fastlane 简化单元测试、打包和TestFlight流程

| iOS , 测试 , 实用工具

【fastlane】可以有效地帮助我们简化测试、打包、部署、发布等流程。 只需要完成一些简单的配置,之后我们只需要一行命令即可完成这些常规的重复流程,what a relief ! 话不多说,马上和 Ficow 一起嗨起来吧~

用 TestFlight 添加【外部】测试人员,让用户尝鲜

| iOS , 测试

如果您希望大批量导入 TestFlight 测试用户,或者您想邀请测试用户但是又不希望邀请用户到 App Store Connect,您可以考虑添加【外部测试人员】。

用 TestFlight 添加【内部】测试人员,把好最后一关

| iOS , 测试

想要提前测试即将发布到 App Store 的App? 【TestFlight】 是你的不二之选。 只需要几分钟,Ficow 让你在新版 App 尚未上架前就试用它。这样,就可以提前发现问题,确认最终的线上版本可以正常工作。 千万不要等到App审核发布之后才发现问题,老板可能会找你促膝长谈喔~

声名显赫的 MVVM 和 MVVM-C,到底牛在哪里?

| Swift , iOS , 架构 , 设计模式

MVC 模式是一个非常经典且精简的设计模式,常见的 iOS 项目基本上都采用了这种模式进行开发。 然而,随着项目规模的增长,MVC 模式已经无法很好地帮助我们解耦,构建一个易维护的项目变得愈发艰难。 业务逻辑愈加复杂,导致项目的代码量剧增是最直接的原因。某个 View Controller 可能会有几千行代码,这样的项目代码易读性非常差,维护难度也会增大。而且,这也容易导致数据的读写不同步,在较为混乱的代码中维护复杂的数据流,非常容易导致盘根错节的问题。 MVVM 在 MVC 的基础上增加了 ViewModel,实现了与 MVP 相近的效果。 由于 App 开发往往涉及许多导航逻辑的处理,而这些导航逻辑如果与业务逻辑耦合在一起就会难以管理,MVVM-C 也在iOS开发社区中应运而生。 接下来,请和 Ficow 一起结合架构图来分析这两种App设计模式吧~

一字之差,MVP 比 MVC 强在哪里?

| Swift , iOS , 架构 , 设计模式

MVC 模式是一个非常经典且精简的设计模式,常见的 iOS 项目基本上都采用了这种模式进行开发。 然而,随着项目规模的增长,MVC 模式已经无法很好地帮助我们解耦,构建一个易维护的项目变得愈发艰难。 业务逻辑愈加复杂,导致项目的代码量剧增是最直接的原因。某个 View Controller 可能会有几千行代码,这样的项目代码易读性非常差,维护难度也会增大。而且,这也容易导致数据的读写不同步,在较为混乱的代码中维护复杂的数据流,非常容易导致盘根错节的问题。 MVP 在 MVC 的基础上采用了面向接口/协议编程,最终使业务逻辑代码更易测试。如果结合 Clean Architecture,还可以有效地减轻我们的思维负担。 接下来,请和 Ficow 一起结合架构图来分析这两种App设计模式吧~