/// 日记管理
class Logger {
- static var isDebug: Bool = true
+ static var isDebug: Bool = false
fileprivate static let shared = Logger()
private var fileHandle:FileHandle?
// v.backgroundColor = .yellow
}
line.do { v in
- v.backgroundColor = .hexString("#E9E9E9")
+ v.backgroundColor = .color(.separateLine)
}
selfLabel.do { v in
v.label.text = "你:"
// v.backgroundColor = .yellow
}
line.do { v in
- v.backgroundColor = .hexString("#E9E9E9")
+ v.backgroundColor = .color(.separateLine)
}
selfLabel.do { v in
v.label.text = "你:"
class HomeDeviceVC:BaseVC{
private var collectionView:UICollectionView!
let imgView = UIImageView()
- let edtLabel = UILabel()
var currentBg:BackgroundModel?
override func viewDidLoad() {
}
override func setupViews() {
+
navBar.do { v in
v.leftView.isHidden = true
v.rightView.isHidden = false
- v.rightView.setImage(UIImage(named: "add_icon"), for: .normal)
v.backgroundColor = .clear
+ v.setupRightViews([NavigationRightItem(image: UIImage(named: "add_icon"), target: self,action: #selector(addAction)),NavigationRightItem(image: UIImage(named: "home_bg_icon"),target: self, action: #selector(editAction))])
}
let layout = UICollectionViewFlowLayout()
layout.minimumLineSpacing = 18
layout.itemSize = CGSize(width: (kScreenWid-54)/2, height: 128)
collectionView = UICollectionView(frame: CGRect.zero, collectionViewLayout: layout)
- view.addSubviews([imgView,collectionView,edtLabel])
+ view.addSubviews([imgView,collectionView])
self.view.bringSubviewToFront(navBar)
collectionView.do { (v) in
imgView.do { v in
// v.backgroundColor = .red
}
- edtLabel.do { v in
- v.text = "设置壁纸".l10n
- v.font = .regular(12)
- v.backgroundColor = .hexString("#FAFAFA")
- v.textColor = .hexString("#4E4E4E")
- v.textAlignment = .center
- v.yc.setCornerRadius(13)
- v.yc.addTap(target: self, action: #selector(editAction))
- }
-
+
currentBg = BackgroundCache.get()
if (currentBg != nil) {
imgView.kf.setImage(with: currentBg?.bgPath.yc.asUrl)
- navBar.rightView.setImage(UIImage(named: "add_icon")?.tinted(with: UIColor.hexString(currentBg!.themeColor)), for: .normal)
+ navBar.setupRightViews([NavigationRightItem(image: UIImage(named: "add_icon"), target: self,action: #selector(addAction)),NavigationRightItem(image: UIImage(named: "home_bg_icon"),target: self, action: #selector(editAction))])
+
}
else{
imgView.image = UIImage(named: "home_bg")
imgView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
- edtLabel.snp.makeConstraints { make in
- make.width.equalTo(120)
- make.height.equalTo(26)
- make.centerX.equalToSuperview()
- make.bottom.equalToSuperview().inset(120)
- }
}
func reloadData() {
DeviceVM.shared.refresh {[weak self] result in
self?.collectionView.reloadData()
}
}
- override func navRightViewTapped() {
+ @objc func addAction() {
App.shared.goToPage(BleScanVC())
-// App.shared.goToPage(CalendarPickerVC())
-// CCBleManager.shared.checkSettingsConnected()
-// ChatCache.shared.LargeDateDemoSave()
}
@objc func editAction(){
let vc = BackgroundVC()
currentBg = model
self.imgView.kf.setImage(with: model.bgPath.yc.asUrl)
self.collectionView.reloadData()
- navBar.rightView.setImage(UIImage(named: "add_icon")?.tinted(with: UIColor.hexString(currentBg!.themeColor)), for: .normal)
+ navBar.setupRightViews([NavigationRightItem(image: UIImage(named: "add_icon"), target: self,action: #selector(addAction)),NavigationRightItem(image: UIImage(named: "home_bg_icon"),target: self, action: #selector(editAction))])
}
App.shared.goToPage(vc)
}
v.separatorStyle = .none
v.register(DialogSplitCell.self, forCellReuseIdentifier: DialogSplitCell.reuseID)
}
- line.backgroundColor = .hexString("#E9E9E9")
+ line.backgroundColor = .color(.separateLine)
}
override func setupLayout() {
tableView1.snp.makeConstraints { make in
bgView.do { v in
v.yc.setCornerRadius(12)
- v.backgroundColor = .white
+ v.backgroundColor = .color(.cellBg)
}
originalLabel.do { v in
v.font = .regular(14)
make.top.bottom.equalToSuperview().inset(10)
make.left.equalToSuperview().inset(18)
}
- bgView.backgroundColor = .white
+ bgView.backgroundColor = .color(.cellBg)
originalLabel.textColor = .color(.first)
}
}
make.top.bottom.equalToSuperview().inset(10)
make.left.equalToSuperview().inset(18)
}
- bgView.backgroundColor = .white
+ bgView.backgroundColor = .color(.cellBg)
originalLabel.textColor = .color(.first)
}
}
+++ /dev/null
-//
-// HistoryBottonView.swift
-// ShenYin
-//
-// Created by liangshi on 2025/8/12.
-//
-
-class HistoryBottonView: BaseView {
- let titleLabel = UILabel()
- var type = ModeEffectsType.pop{
- didSet{
- titleLabel.text = type.title
- }
- }
-
- override func setupViews() {
- addSubviews([titleLabel])
- titleLabel.do { (v) in
- v.textColor = .color(.secondary)
- v.font = .regular(14)
- v.numberOfLines = 0
-
- let attachment = NSTextAttachment()
- attachment.image = UIImage(named: "tips_icon2")
- attachment.bounds = CGRect(x: 0, y: 0, width: 12, height: 12)
- let attachmentString = NSAttributedString(attachment: attachment)
-
- let text = " 由于录音文件存储在手机本地,因此软件卸载后,您的录音数据将全部丢失。耳机内置存储的录音文件可以通过APP下载到手机中,并支持备注和重命名等操作。".l10n
- let textString = NSAttributedString(string: text)
-
- let mutableAttributedString = NSMutableAttributedString()
- mutableAttributedString.append(attachmentString)
- mutableAttributedString.append(textString)
- v.attributedText = mutableAttributedString
- }
- }
-
- override func setupLayout() {
- titleLabel.snp.makeConstraints { make in
- make.left.right.equalToSuperview().inset(18)
- make.top.equalToSuperview().inset(20)
- make.bottom.equalToSuperview().inset(33)
- }
- }
-}
bgView.do { v in
v.yc.setCornerRadius(8)
- v.backgroundColor = .white
+ v.backgroundColor = .color(.cellBg)
}
textField.do { v in
v.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
}
+
addSubviews([bgView,cancelBtn])
bgView.addSubviews([icon,textField,calendarBtn])
}
navBar.do { v in
v.title = "历史记录".l10n
let items = [NavigationRightItem(image: UIImage(named: "filter"),target: self, action: #selector(filterAction)),NavigationRightItem(image: UIImage(named: "search"), target: self,action: #selector(searchAction))]
-// let items = [NavigationRightItem(image: UIImage(named: "filter"),target: self, action: #selector(filterAction))]
v.setupRightViews(items)
}
rippleView.startAnimating()
radarImageView.do { v in
- v.image = UIImage(named: "device_logo")
+// v.image = UIImage(named: "device_logo")
// v.backgroundColor = .lightGray
//
// let animation = CABasicAnimation.init(keyPath: "transform.rotation.z")
class ForgetVC:BaseVC{
- let tipsLabel = UILabel()
+ let logoImg = UIImageView(image: UIImage(named: "logo_3"))
let bgView = UIView()
let titleLabel = UILabel()
let phoneView = CustomInputView()
override func setupViews(){
self.navBar.title = ""
view.backgroundColor = .color(.bgColor)
- tipsLabel.do { v in
- v.numberOfLines = 0
- v.font = .medium(22)
- v.textColor = .color(.first)
- let text = "您好, \n欢迎使用DeepChords".l10n
- let stype = NSMutableParagraphStyle()
- stype.lineSpacing = 10
- let attrString = NSMutableAttributedString(string: text)
- let attr: [NSAttributedString.Key : Any] = [.font: UIFont.medium(22),.paragraphStyle:stype]
- attrString.addAttributes(attr, range: NSRange(location: 0, length: attrString.length))
- v.attributedText = attrString
- }
-
+
bgView.do { v in
v.backgroundColor = .color(.bgColor)
v.yc.setCorners(withRoundedRect: CGRect(x: 0, y: 0, width: kScreenWid, height: kScreenHei - 244), roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 50, height: 50))
}
loginBtn.set(title: "确认".l10n,style: .theme1, target: self, action: #selector(loginAction))
agreeView.isHidden = true
- view.addSubviews([tipsLabel,bgView])
+ view.addSubviews([logoImg,bgView])
bgView.addSubviews([titleLabel,phoneView,codeView,pwdView,loginBtn,agreeView])
}
override func setupLayout(){
- tipsLabel.snp.makeConstraints { make in
- make.left.equalToSuperview().inset(28)
+ logoImg.snp.makeConstraints { make in
+ make.width.equalTo(62)
+ make.height.equalTo(80)
make.top.equalTo(kNavBtm + 20)
make.centerX.equalToSuperview()
}
class LoginVC:BaseVC{
- let tipsLabel = UILabel()
+ let logoImg = UIImageView(image: UIImage(named: "logo_3"))
let bgView = UIView()
let titleLabel = UILabel()
let phoneView = CustomInputView()
// self.navBar.title = ""
navBar.isHidden = true
view.backgroundColor = .color(.bgColor)
- tipsLabel.do { v in
- v.numberOfLines = 0
- v.font = .medium(22)
- v.textColor = .color(.first)
- let text = "您好, \n欢迎使用DeepChords".l10n
- let stype = NSMutableParagraphStyle()
- stype.lineSpacing = 10
- let attrString = NSMutableAttributedString(string: text)
- let attr: [NSAttributedString.Key : Any] = [.font: UIFont.medium(22),.paragraphStyle:stype]
- attrString.addAttributes(attr, range: NSRange(location: 0, length: attrString.length))
- v.attributedText = attrString
- }
bgView.do { v in
v.backgroundColor = .color(.bgColor)
}
loginBtn.set(title: "登录".l10n,style: .theme1, target: self, action: #selector(loginAction))
- view.addSubviews([tipsLabel,bgView])
+ view.addSubviews([logoImg,bgView])
bgView.addSubviews([titleLabel,phoneView,pwdView,loginBtn,agreeView,othersView])
}
override func setupLayout(){
- tipsLabel.snp.makeConstraints { make in
- make.left.equalToSuperview().inset(28)
+ logoImg.snp.makeConstraints { make in
+ make.width.equalTo(62)
+ make.height.equalTo(80)
make.top.equalTo(kNavBtm + 20)
make.centerX.equalToSuperview()
}
class RegisterVC:BaseVC{
- let tipsLabel = UILabel()
+ let logoImg = UIImageView(image: UIImage(named: "logo_3"))
let bgView = UIView()
let titleLabel = UILabel()
let regionView = RegionView()
// self.navBar.title = ""
// navBar.isHidden = true
view.backgroundColor = .color(.bgColor)
- tipsLabel.do { v in
- v.numberOfLines = 0
- v.font = .medium(22)
- v.textColor = .color(.first)
- let text = "您好, \n欢迎使用DeepChords".l10n
- let stype = NSMutableParagraphStyle()
- stype.lineSpacing = 10
- let attrString = NSMutableAttributedString(string: text)
- let attr: [NSAttributedString.Key : Any] = [.font: UIFont.medium(22),.paragraphStyle:stype]
- attrString.addAttributes(attr, range: NSRange(location: 0, length: attrString.length))
- v.attributedText = attrString
- }
-
+
bgView.do { v in
v.backgroundColor = .color(.bgColor)
v.yc.setCorners(withRoundedRect: CGRect(x: 0, y: 0, width: kScreenWid, height: kScreenHei - 244), roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 50, height: 50))
// v.textField.text = "19276672101"
}
registerBtn.set(title: "注册".l10n,style: .theme1, target: self, action: #selector(registerAction))
- view.addSubviews([tipsLabel,bgView])
+ view.addSubviews([logoImg,bgView])
bgView.addSubviews([titleLabel,regionView,phoneView,codeView,pwdView,registerBtn,agreeView])
}
override func setupLayout(){
- tipsLabel.snp.makeConstraints { make in
- make.left.equalToSuperview().inset(28)
+ logoImg.snp.makeConstraints { make in
+ make.width.equalTo(62)
+ make.height.equalTo(80)
make.top.equalTo(kNavBtm + 20)
make.centerX.equalToSuperview()
}
class SmsLoginVC:BaseVC{
- let tipsLabel = UILabel()
+ let logoImg = UIImageView(image: UIImage(named: "logo_3"))
let bgView = UIView()
let titleLabel = UILabel()
let regionView = RegionView()
}
override func setupViews(){
view.backgroundColor = .color(.bgColor)
- tipsLabel.do { v in
- v.numberOfLines = 0
- v.font = .medium(22)
- v.textColor = .color(.first)
- let text = "您好, \n欢迎使用DeepChords".l10n
- let stype = NSMutableParagraphStyle()
- stype.lineSpacing = 10
- let attrString = NSMutableAttributedString(string: text)
- let attr: [NSAttributedString.Key : Any] = [.font: UIFont.medium(22),.paragraphStyle:stype]
- attrString.addAttributes(attr, range: NSRange(location: 0, length: attrString.length))
- v.attributedText = attrString
- }
bgView.do { v in
v.backgroundColor = .color(.bgColor)
}
loginBtn.set(title: "登录".l10n,style: .theme1, target: self, action: #selector(loginAction))
pwdBtn.set(title: "密码登录".l10n, style: .theme2,target: self, action: #selector(pwdAction))
- view.addSubviews([tipsLabel,bgView])
+ view.addSubviews([logoImg,bgView])
bgView.addSubviews([titleLabel,regionView,phoneView,codeView,loginBtn,pwdBtn,agreeView])
}
override func setupLayout(){
- tipsLabel.snp.makeConstraints { make in
- make.left.equalToSuperview().inset(28)
+ logoImg.snp.makeConstraints { make in
+ make.width.equalTo(62)
+ make.height.equalTo(80)
make.top.equalTo(kNavBtm + 20)
make.centerX.equalToSuperview()
}
v.backgroundColor = .color(.cellBg)
}
titleLabel.do { (v) in
- v.textColor = .rgb(0x21212)
+ v.textColor = .color(.first)
v.font = .bold(14)
v.textAlignment = .left
}
import UIKit
class MyDeviceListVC: BaseVC{
let tableView = UITableView(frame: .zero, style: .plain)
- let bottomView = HistoryBottonView()
override func viewDidLoad() {
super.viewDidLoad()
v.text = "当前版本".l10n
v.textAlignment = .center
v.font = .regular(16)
- v.textColor = .hexString("#232323")
+ v.textColor = .color(.first)
v.numberOfLines = 0
}
btn.do { v in
v.setTitle("检查更新".l10n, for: .normal)
v.titleLabel?.font = .bold(14)
- v.setTitleColor(.color(.theme), for: .normal)
+ v.setTitleColor(.black, for: .normal)
v.addTarget(self, action: #selector(tapAction), for: .touchUpInside)
v.backgroundColor = .hexString("#EDEDED")
v.yc.setCornerRadius(12)
}
+ icon.do { v in
+ v.contentMode = .center
+ }
}
override func setupLayout() {
icon.snp.makeConstraints { make in
}
override func setupViews() {
- self.navBar.title = "查找耳机".l10n
+ self.navBar.title = "查找眼镜".l10n
navBar.backgroundColor = .clear
view.backgroundColor = .color(.bgColor)
view.addSubviews([titleLabel,desLabel,leftRadar,rightRadar,leftBtn,rightBtn])
icon.image = UIImage(named: "find_icon")
titleLabel.do { v in
- v.text = "查找耳机".l10n
+ v.text = "查找眼镜".l10n
v.font = .bold(16)
v.textColor = .color(.first)
titleLabel?.font = .bold(14)
}
else if style == .theme3 {
- setTitleColor(.color(.theme), for: .normal)
- backgroundColor = UIColor.white
+ setTitleColor(.color(.secondary), for: .normal)
+ backgroundColor = .color(.cellBg)
titleLabel?.font = .regular(14)
}
else{
override func setupStyle() {
super.setupStyle()
contentView.do { (v) in
- v.backgroundColor = .white
+ v.backgroundColor = .color(.cellBg)
v.yc.setCornerRadius(20)
}
imageView.do { v in
override func setupLayout() {
super.setupLayout()
contentView.do { (v) in
- v.backgroundColor = .white
+ v.backgroundColor = .color(.cellBg)
v.yc.setCornerRadius(20)
}
fontItem.snp.makeConstraints { make in
addSubviews([label,icon])
label.do { v in
v.font = .regular(14)
- v.textColor = .hexString("#232323")
+ v.textColor = .color(.first)
}
icon.do { v in
}
}
var des1:String{
- switch self {
- case .dialog:
- return "一方手持手机,一方戴上耳机,对手机发言时,耳机播放译文,对耳机发言时,手机播放译文".l10n
- case .chinese2english:
- return "手机靠近音源,两人各佩戴一只耳机,双方耳机中播放目标语言".l10n
- case .tongchuan:
- return "手机靠近音源收音,佩戴耳机收听译文".l10n
+ if CCDevice.isJoy {
+ switch self {
+ case .dialog:
+ return "一方手持手机,一方戴上耳机,对手机发言时,耳机播放译文,对耳机发言时,手机播放译文".l10n
+ case .chinese2english:
+ return "手机靠近音源,两人各佩戴一只耳机,双方耳机中播放目标语言".l10n
+ case .tongchuan:
+ return "手机靠近音源收音,佩戴耳机收听译文".l10n
+ }
+ }
+ else{
+ switch self {
+ case .dialog:
+ return "一方手持手机,一方戴上眼镜,对手机发言时,眼镜播放译文,对眼镜发言时,手机播放译文".l10n
+ case .chinese2english:
+ return "手机靠近音源,两人各佩戴一只耳机,双方耳机中播放目标语言".l10n
+ case .tongchuan:
+ return "手机靠近音源收音,佩戴眼镜收听译文".l10n
+ }
}
}
var des2:String{
- switch self {
- case .dialog:
- return "- 情景示例 -\n张张靠近手机讲中文,对方耳机播放英语".l10n
- case .chinese2english:
- return "- 情景示例 -\n张张戴一只耳机讲中文,双方耳机播放英文翻译 Lucy戴一只耳机讲英文,双方耳机播报中文翻译".l10n
- case .tongchuan:
- return "- 情景示例 -\nLisa对着手机讲英语,小徐耳机中播放中文".l10n
+ if CCDevice.isJoy {
+ switch self {
+ case .dialog:
+ return "- 情景示例 -\n张张靠近手机讲中文,对方耳机播放英语".l10n
+ case .chinese2english:
+ return "- 情景示例 -\n张张戴一只耳机讲中文,双方耳机播放英文翻译 Lucy戴一只耳机讲英文,双方耳机播报中文翻译".l10n
+ case .tongchuan:
+ return "- 情景示例 -\nLisa对着手机讲英语,小徐耳机中播放中文".l10n
+ }
+ }
+ else{
+ switch self {
+ case .dialog:
+ return "- 情景示例 -\n张张靠近手机讲中文,对方耳机播放英语".l10n
+ case .chinese2english:
+ return "- 情景示例 -\n张张戴一只耳机讲中文,双方耳机播放英文翻译 Lucy戴一只耳机讲英文,双方耳机播报中文翻译".l10n
+ case .tongchuan:
+ return "- 情景示例 -\n张张靠近手机讲中文,小徐眼镜播放英语".l10n
+ }
}
}
}
override func setupStyle() {
super.setupStyle()
- contentView.backgroundColor = .white
+ contentView.backgroundColor = .color(.cellBg)
scorllView.do { v in
- v.backgroundColor = .white
+ v.backgroundColor = .clear
}
titleLabel.do { (v) in
v.textColor = .color(.first)
v.setImage(UIImage(named: "tip_selected"), for: .selected)
}
agreeTitle.do { (v) in
- v.textColor = .hexString("##999999")
+ v.textColor = .color(.tertiary)
v.font = .regular(12)
v.textAlignment = .left
v.text = "下次不再提示".l10n
"你":"",
"对方":"",
"我可以帮你搜索、答疑、写作,请把你的任务交给 我吧~":"",
+
+ "查找眼镜":"",
+ "一方手持手机,一方戴上眼镜,对手机发言时,眼镜播放译文,对眼镜发言时,手机播放译文":"",
+ "手机靠近音源收音,佩戴眼镜收听译文":"",
+ "- 情景示例 -\n张张靠近手机讲中文,小徐眼镜播放英语":"",
+ "- 情景示例 -\n张张靠近手机讲中文,对方耳机播放英语":"",
]
"scale" : "1x"
},
{
- "filename" : "Group 1255@2x.png",
+ "filename" : "Slice 75@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group 1255@3x.png",
+ "filename" : "Slice 75@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
"scale" : "1x"
},
{
- "filename" : "Frame@2x(2).png",
+ "filename" : "Frame@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Frame@3x(2).png",
+ "filename" : "Frame@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
"scale" : "1x"
},
{
- "filename" : "Frame 1987@2x.png",
+ "filename" : "Frame 1938@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Frame 1987@3x.png",
+ "filename" : "Frame 1938@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
--- /dev/null
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Frame@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Frame@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
"scale" : "1x"
},
{
- "filename" : "对话翻译@2x.png",
+ "filename" : "Slice 98@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "对话翻译@3x.png",
+ "filename" : "Slice 98@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
"scale" : "1x"
},
{
- "filename" : "同传听译@2x.png",
+ "filename" : "Slice 99@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "同传听译@3x.png",
+ "filename" : "Slice 99@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
--- /dev/null
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Slice 69@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Slice 69@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
"scale" : "1x"
},
{
- "filename" : "Group 1255@2x.png",
+ "filename" : "Slice 73@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group 1255@3x.png",
+ "filename" : "Slice 73@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
"scale" : "1x"
},
{
- "filename" : "Group_2440@2x.png",
+ "filename" : "Slice 118@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2440@3x.png",
+ "filename" : "Slice 118@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
{
"images" : [
{
- "filename" : "Group_2302.png",
"idiom" : "universal",
"scale" : "1x"
},
{
- "filename" : "Group_2302@2x.png",
+ "filename" : "Slice 108@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2302@3x.png",
+ "filename" : "Slice 108@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
{
"images" : [
{
- "filename" : "Group_2305.png",
"idiom" : "universal",
"scale" : "1x"
},
{
- "filename" : "Group_2305@2x.png",
+ "filename" : "Slice 106@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2305@3x.png",
+ "filename" : "Slice 106@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
{
"images" : [
{
- "filename" : "Group_2300.png",
"idiom" : "universal",
"scale" : "1x"
},
{
- "filename" : "Group_2300@2x.png",
+ "filename" : "Slice 111@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2300@3x.png",
+ "filename" : "Slice 111@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
{
"images" : [
{
- "filename" : "Group_2307.png",
"idiom" : "universal",
"scale" : "1x"
},
{
- "filename" : "Group_2307@2x.png",
+ "filename" : "Slice 109@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2307@3x.png",
+ "filename" : "Slice 109@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
{
"images" : [
{
- "filename" : "Group_2301.png",
"idiom" : "universal",
"scale" : "1x"
},
{
- "filename" : "Group_2301@2x.png",
+ "filename" : "Slice 110@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2301@3x.png",
+ "filename" : "Slice 110@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
{
"images" : [
{
- "filename" : "Group_2304.png",
"idiom" : "universal",
"scale" : "1x"
},
{
- "filename" : "Group_2304@2x.png",
+ "filename" : "Slice 107@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
- "filename" : "Group_2304@3x.png",
+ "filename" : "Slice 107@3x.png",
"idiom" : "universal",
"scale" : "3x"
}