Commit f877ea57 authored by David黄金龙's avatar David黄金龙

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

* 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  // UI
  //  家庭信息UI
  新增受养人逻辑添加
  //  旅行
parents 16c6c617 9d81745b
......@@ -114,6 +114,7 @@ extension YHAdoptedChinaTravelViewController: UITableViewDelegate, UITableViewDa
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.firstImageName = "service_adopter_card_china_travel_front"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -125,6 +125,7 @@ extension YHAdopterBirthViewController: UITableViewDelegate, UITableViewDataSour
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.firstImageName = "service_adopter_card_birth_front"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -114,6 +114,7 @@ extension YHAdopterChinaLifeViewController: UITableViewDelegate, UITableViewData
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.firstImageName = "service_adopter_card_china_life_front"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -141,6 +141,8 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterTravelCardTableViewCell.self)
cell.firstImageName = "service_adopter_card_id_front"
cell.lastImageName = "service_adopter_card_id_back"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -115,6 +115,7 @@ extension YHAdopterIdCardViewController: UITableViewDelegate, UITableViewDataSou
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.firstImageName = "service_adopter_card_idcard_front"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -258,7 +258,10 @@ extension YHAdopterIncomeDetailViewController: UITableViewDelegate, UITableViewD
maxCount = 9
}
let sheetView = YHCertificateUploadSheetView.sheetView()
sheetView.tips = "支持的文件格式为jpg/jpeg、png、pdf,最多可上传10张图片或文件"
sheetView.maxSelectImageCount = maxCount
sheetView.fileTypes = [ "public.image",
"com.adobe.pdf"]
sheetView.uploadFilesBlock = {
[weak self] fileUrl in
guard let self = self else { return }
......
......@@ -125,6 +125,7 @@ extension YHAdopterResidentViewController: UITableViewDelegate, UITableViewDataS
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.firstImageName = "service_adopter_card_resident_front"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -131,6 +131,8 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterTravelCardTableViewCell.self)
cell.firstImageName = "service_adopter_card_travel_front"
cell.lastImageName = "service_adopter_card_travel_back"
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
......
......@@ -168,7 +168,7 @@ class YHAdopterMarryCardTableViewCell: UITableViewCell {
frontImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
button.setBackgroundImage(UIImage(named: "service_adopter_card_marry_front"), for: .normal)
button.addTarget(self, action: #selector(frontImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......@@ -200,7 +200,7 @@ class YHAdopterMarryCardTableViewCell: UITableViewCell {
backSurfaceImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_back"), for: .normal)
button.setBackgroundImage(UIImage(named: "service_adopter_card_marry_second"), for: .normal)
button.addTarget(self, action: #selector(backSurfaceImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......@@ -232,7 +232,7 @@ class YHAdopterMarryCardTableViewCell: UITableViewCell {
thirdImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
button.setBackgroundImage(UIImage(named: "service_adopter_card_marry_back"), for: .normal)
button.addTarget(self, action: #selector(thirdImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......@@ -355,19 +355,19 @@ class YHAdopterMarryCardTableViewCell: UITableViewCell {
@objc func frontDeleteClick() {
frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: "service_hk_card_front"), for: .normal)
frontImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_front"), for: .normal)
frontImageButton.setContent("card_upload", "点击上传")
}
@objc func backSurfaceDeleteClick() {
backSurfaceDeleteButton.isHidden = true
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_hk_card_back"), for: .normal)
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_second"), for: .normal)
backSurfaceImageButton.setContent("card_upload", "点击上传")
}
@objc func thirdDeleteClick() {
thirdDeleteButton.isHidden = true
thirdImageButton.setBackgroundImage(UIImage(named: "service_hk_card_back"), for: .normal)
thirdImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_back"), for: .normal)
thirdImageButton.setContent("card_upload", "点击上传")
}
}
......@@ -17,6 +17,11 @@ class YHAdopterResidentTableViewCell: UITableViewCell {
var activityIndicator: UIActivityIndicatorView!
var viewModel: YHBaseViewModel = YHBaseViewModel()
var firstUrl: String = ""
var firstImageName: String = "" {
didSet {
frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
}
}
var urls: [String]? {
didSet {
guard let firstUrl = urls?.first, firstUrl.count != 0 else { return }
......@@ -99,7 +104,7 @@ class YHAdopterResidentTableViewCell: UITableViewCell {
frontImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
button.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
button.addTarget(self, action: #selector(frontImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......@@ -170,7 +175,7 @@ class YHAdopterResidentTableViewCell: UITableViewCell {
@objc func frontDeleteClick() {
frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: "service_hk_card_front"), for: .normal)
frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
frontImageButton.setContent("card_upload", "点击上传")
}
......
......@@ -21,6 +21,16 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
var viewModel: YHBaseViewModel = YHBaseViewModel()
var firstUrl: String = ""
var lastUrl: String = ""
var firstImageName: String = "" {
didSet {
frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
}
}
var lastImageName: String = "" {
didSet {
backSurfaceImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
}
}
var urls: [String]? {
didSet {
guard let firstUrl = urls?.first, firstUrl.count != 0 else { return }
......@@ -135,7 +145,7 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
frontImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
button.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
button.addTarget(self, action: #selector(frontImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......@@ -167,7 +177,7 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
backSurfaceImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_back"), for: .normal)
button.setBackgroundImage(UIImage(named: lastImageName), for: .normal)
button.addTarget(self, action: #selector(backSurfaceImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......@@ -264,13 +274,13 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
@objc func frontDeleteClick() {
frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: "service_hk_card_front"), for: .normal)
frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
frontImageButton.setContent("card_upload", "点击上传")
}
@objc func backSurfaceDeleteClick() {
backSurfaceDeleteButton.isHidden = true
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_hk_card_back"), for: .normal)
backSurfaceImageButton.setBackgroundImage(UIImage(named: lastImageName), for: .normal)
backSurfaceImageButton.setContent("card_upload", "点击上传")
}
}
......@@ -18,7 +18,7 @@ class YHCardUploadView: UIView {
var frontDeleteButton: UIButton!
var viewModel: YHBaseViewModel = YHBaseViewModel()
var firstUrl: String = ""
var defaultImageName: String = "service_hk_card_front"
var defaultImageName: String = "service_adopter_card_other_front"
var url: String? {
didSet {
guard let firstUrl = url, firstUrl.count != 0 else {
......@@ -85,7 +85,7 @@ class YHCardUploadView: UIView {
frontImageButton = {
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
button.setBackgroundImage(UIImage(named: "service_adopter_card_other_front"), for: .normal)
button.addTarget(self, action: #selector(frontImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
......
......@@ -31,7 +31,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
tableView.estimatedSectionHeaderHeight = 16.0
tableView.estimatedSectionHeaderHeight = 0.01
tableView.estimatedSectionFooterHeight = 0.01
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
......@@ -264,7 +264,7 @@ extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewData
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
return 0.01
return 16.0
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
......
......@@ -199,10 +199,10 @@ class YHIFamilyInfoListCell: UITableViewCell {
whiteView.addSubview(itemsContentView)
whiteView.snp.makeConstraints { make in
make.top.equalTo(16)
make.top.equalTo(16.0)
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalTo(-16)
make.bottom.equalTo(0)
}
titleLabel.snp.makeConstraints { make in
......
......@@ -259,7 +259,9 @@ class YHInfoItemView: UIView {
detailLabel.text = item.value
detailLabel.isHidden = isTextEdit
textField.isHidden = !isTextEdit
textField.placeholder = self.getPlaceHolder()
let placeHolder = self.getPlaceHolder()
textField.attributedPlaceholder = NSAttributedString(string: placeHolder, attributes: [NSAttributedString.Key.foregroundColor : UIColor.placeHolderColor, NSAttributedString.Key.font: UIFont.PFSC_R(ofSize: 14)])
if item.id == .firstName || item.id == .lastName {
textField.keyboardType = .asciiCapable // 英文键盘
}
......
......@@ -252,7 +252,12 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController {
if !item.cerDetailModel.isValidCer() {
hasError = true
item.cerDetailModel.isNeedCheckCer = true
item.cerDetailModel.checkTips = "有效期不足,请核查文件"
if item.cerDetailModel.type == 2, item.cerDetailModel.china_travel_latest_validate_date.isEmpty {
// 这个情况直接弹toast
} else {
item.cerDetailModel.checkTips = "有效期不足,请核查文件"
}
}
}
}
......@@ -380,10 +385,14 @@ extension YHTravelDocsPreparationDetailVC: UITableViewDelegate, UITableViewDataS
let item = sectionItems[indexPath.section]
cell.updateModel(item.cerDetailModel)
cell.updateBlock = {
[weak self] in
[weak self] needCheck in
guard let self = self else { return }
if !self.isDisableEdit {
self.checkInfo()
_ = self.checkInfo()
} else {
if needCheck {
_ = self.checkInfo()
}
}
self.tableView.reloadData()
}
......
......@@ -43,7 +43,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
var dataModel: YHTravelDocsPreparationDetailItemModel = YHTravelDocsPreparationDetailItemModel()
let viewModel: YHBaseViewModel = YHBaseViewModel()
var updateBlock: (()->())?
var updateBlock: ((_ needCheck:Bool)->())?
// type :Int 证件类型 1-护照 2-中国旅行证 3-港澳通行证 4-存款证明 5-其他
var templateClick: ((_ type:Int)->())?
......@@ -102,6 +102,18 @@ class YHTravelCertificateUploadCell: UITableViewCell {
return label
}()
lazy var warmTipsLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 12)
label.textColor = UIColor.failColor
let a: ASAttributedString = .init("温馨提示:", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.mainTextColor50))
let b: ASAttributedString = .init("具体根据当地出入境规定办理并提交相关证件,如有疑问,可联系银河客服经理咨询", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.brandMainColor))
label.attributed.text = a+b
return label
}()
lazy var certificateFrontView: YHCardUploadView = {
let view = YHCardUploadView(frame: .zero)
view.remakeUploadViewConstraints()
......@@ -117,7 +129,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
} else {
self.dataModel.img_front = url
self.dataModel.img_back = url
self.updateBlock?()
self.updateBlock?(false)
}
}
view.deleteBlock = {
......@@ -134,7 +146,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
self.dataModel.img_back = ""
}
self.dataModel.status = 0
self.updateBlock?()
self.updateBlock?(false)
}
return view
}()
......@@ -155,7 +167,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
} else {
self.dataModel.img_front = url
self.dataModel.img_back = url
self.updateBlock?()
self.updateBlock?(false)
}
}
view.deleteBlock = {
......@@ -174,7 +186,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
self.dataModel.img_back = ""
}
self.dataModel.status = 0
self.updateBlock?()
self.updateBlock?(false)
}
return view
}()
......@@ -219,7 +231,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
} else if item.id == .deadDate {
self.dataModel.issue_end = time
}
self.updateBlock?()
self.updateBlock?(false)
}
} else if item.id == .kind {
......@@ -308,10 +320,27 @@ class YHTravelCertificateUploadCell: UITableViewCell {
model.isNeedShowRejectReason = (model.status == 2)
let isShowReason = (model.isNeedShowRejectReason && !model.remark.isEmpty)
rejectReasonLabel.text = isShowReason ? "被驳回原因:" + model.remark : ""
// 只有中国居留许可签证才显示温馨提示
let isShowWarmTips = (model.type == 2)
warmTipsLabel.isHidden = !isShowWarmTips
warmTipsLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(lineView.snp.bottom).offset(isShowWarmTips ? 18.0 : 0)
if !isShowWarmTips {
make.height.equalTo(0)
}
}
var rejectTop = 18.0
if isShowReason {
rejectTop = 8.0
}
rejectReasonLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(lineView.snp.bottom).offset(isShowReason ? 18 : 0)
make.top.equalTo(warmTipsLabel.snp.bottom).offset(isShowReason ? rejectTop : 0)
make.bottom.equalTo(certificateFrontView.snp.top).offset(-18)
if !isShowReason {
make.height.equalTo(0)
......@@ -385,6 +414,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
whiteConentView.addSubview(rejectReasonLabel)
whiteConentView.addSubview(certificateFrontView)
whiteConentView.addSubview(certificateBackView)
whiteConentView.addSubview(warmTipsLabel)
whiteConentView.addSubview(unvalidLabel)
whiteConentView.addSubview(selectPanelContentView)
......@@ -408,6 +438,13 @@ class YHTravelCertificateUploadCell: UITableViewCell {
make.height.equalTo(0.5)
}
warmTipsLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(lineView.snp.bottom).offset(18)
make.height.equalTo(0)
}
rejectReasonLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
......@@ -468,9 +505,9 @@ extension YHTravelCertificateUploadCell {
if success, let result = result {
self.dataModel.issue_start = result.term_begins
self.dataModel.issue_end = result.end_of_term
self.updateBlock?()
self.updateBlock?(true)
} else {
self.updateBlock?()
self.updateBlock?(true)
}
}
......@@ -481,9 +518,9 @@ extension YHTravelCertificateUploadCell {
if success, let result = result {
self.dataModel.issue_start = result.term_begins
self.dataModel.issue_end = result.end_of_term
self.updateBlock?()
self.updateBlock?(true)
} else {
self.updateBlock?()
self.updateBlock?(true)
}
}
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_birth_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_birth_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_china_life_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_china_life_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_china_travel_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_china_travel_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_id_back@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_id_back@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_id_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_id_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_idcard_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_idcard_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_marry_back@3x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_marry_back@3x 1.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_marry_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_marry_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_marry_second@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_marry_second@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_other_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_other_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_resident_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_resident_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_travel_back@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_travel_back@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_adopter_card_travel_front@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_adopter_card_travel_front@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment