使用SwiftGen以Swifty方式管理资源

在iOS Xcode Project中管理图像,字体,颜色,字符串文字的干净方法!

很多时候,在iOS项目中管理资产和本地化字符串确实很麻烦,这个博客的目的是讨论在SwiftGen的帮助下使用资产和本地化字符串的一种干净方法。

什么是SwiftGen?

SwiftGen是一种工具,用于自动为项目的资源生成Swift代码,以使其易于使用。

它们是整合它们的许多方法,通常,我更喜欢简单而安全的方法是使用cocoapods。 我们可以简单地将pod 'SwiftGen'添加到Podfile

如果您不熟悉cocoapods,建议您在这里看看:Cocopods教程

注意:当我们点击Pods / SwiftGen时,文件夹将为空,这是因为:

SwiftGen并不是真正的pod,因为它不是您的代码在运行时将依赖的库。 因此,通过CocoaPods进行安装只是将SwiftGen二进制文件安装在Pods /文件夹中的一个技巧,但是您不会在Xcode的Pods.xcodeproj的Pods / SwiftGen组中看到任何swift文件。 这是正常的:SwiftGen二进制文件仍然存在于Finder中的该文件夹中。

添加一个名为Resources的新组,并将Assets.xcassets移到resources文件夹中。

创建一个新文件Colors.json来存储我们所有的颜色,类似地存储字符串:Localizable.strings来存储我们所有的字符串

对于字体,我们必须维护许多字体文件,因此最好创建一个名为Font的组,然后将字体文件放入其中。

现在创建一个新文件GenerateResource.sh并将以下代码添加到其中,

  “ $ PODS_ROOT / SwiftGen / bin / swiftgen” \ xcassets -t swift4“ $ RSROOT / Assets.xcassets” \-输出“ $ RSROOT / Assets.swift” 

用于提供输入文件,模板和输出文件以生成资产的快速代码,上面的字符串,字体和颜色也是如此。

添加此文件后,我们需要在Xcode中创建运行脚本。

如果您不熟悉什么是运行脚本及其运行方式,请在此处查看:运行shell脚本

添加运行脚本后,我们需要在其中添加输入和输出文件,如下所示:

在`Colors.json`和localizable.strings中添加一些条目,如下所示:

添加它们之后,当您尝试构建项目时,它将生成如下所示的输出swift文件:

将这些文件复制到Xcode项目导航器中。 让我们看看如何在代码中使用它们:

这就是IT,我们完成了。 现在

  • 避免使用字符串时可能出现的错字
  • 免费自动补全
  • 避免使用不存在的资产名称的风险
  • 所有这些将由编译器确保。

请在评论建议中添加您对本文的查询和有价值的建议。 我要感谢Dominic Freeston,他使我理解了清洁资产管理在项目中的重要性!

谢谢阅读。 再见!

您可以通过https://www.linkedin.com/in/kmuralidharan91/与我联系