使用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/与我联系