什么是R.Swift
-
R.Swift
是一款基于Swift
平台,针对iOS
以及tvOS
开发的资源引用框架 -
R.Swift
能够使用类似语法R.资源类型.资源名称
来对某资源进行引用构建 -
R.Swift
有着动态生成代码的机制, 它具有以下优点:- 代码自动补全:就像输入其他的代码一样,
R.Swift
支持IDE
的代码自动补全 - 自动检测: 可以自动检测代码是否存在问题, 当我们的资源文件名修改的时候, 这是就会提示资源引用错误
- 代码自动补全:就像输入其他的代码一样,
-
R.swift
可以获取强类型、自动完成的资源,如图像、字体和段落完全类型化。更少的强制转换和猜测方法将返回什么编译时检查,运行时不再有导致应用程序崩溃的错误字符串自动完成,再也不用怀疑图片名字是不是复制错了。
一、终端导入R.swift
source 'https://github.com/CocoaPods/Specs.git' #source源
platform :ios, '10.0'
target '文件名' do
use_frameworks!
pod 'R.swift'
end
解释:
在pod install 过程中终端有可能会出现[!] CDN: trunk Repo update failed
这种错误,如下图:
这是由于CocoaPods 1.8将CDN切换为默认的spec repo源
按照官方文档 podfile文件中添加source源:
source 'https://github.com/CocoaPods/Specs.git'
最后pod install 就行
二、R.swift的安装步骤
1.添加Run Script文件
2.挪动Run Script文件位置,在Mainfest.lock和Compile Sources之间
3.添加Run Script 的脚本及配置
对于要添加的内容
1)
"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/项目名称"
2)
$TEMP_DIR/rswift-lastrun
3)
$SRCROOT/R.generated.swift
4.Command+B 编译项目,show in finder在项目代码目录下,会生成一个 R.generated.swift 的文件,拖到项目中
5.当你把一些资源拖进项目后R.generated.swift会实时更新,如下图
6.用法
原来用法
let lightFontTitle = UIFont(name: "Acme-Light", size: 22)
使用 R.swift
let lightFontTitle = R.font.acmeLight(size: 22)
注意:
1.不要勾选 Copy items if needed 选项,因为每次编译都会生成新的 R.generated.swift 文件,copy的话,旧的R.generated.swift将不会 被覆盖.
2.每一次项目中资源文件有变动的时候,都要执行一下Command+B,保证R.generated.swift实时更新。包括.storyboard、.xib、图片等等。
以上完成后就可以使用 R.swift 了。
相关链接:
R.swift安装视频教程
关于 R.swift 的更多用法,可以看着里