Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
iOSTeam
/
Majiabao
/
TealiveModule
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
7342028a
authored
Jan 16, 2024
by
pierce
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
补充提交文件
parent
50998729
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1098 additions
and
0 deletions
Module/GDTabbar/GDTabbar/Feature/Model/GDTabBarModel.swift
Module/GDTabbar/GDTabbar/Feature/View/GDTabBarViewController.swift
Module/GDTabbar/GDTabbar/Feature/View/TabBarView/GDTabBarItemView.swift
Module/GDTabbar/GDTabbar/Feature/View/TabBarView/GDTabBarView.swift
Module/GDTabbar/GDTabbar/Feature/ViewModel/GDTabBarViewModel.swift
Module/GDTabbar/GDTabbar/Module/GDTabbarBundle.swift
Module/GDTabbar/GDTabbar/Module/GDTabbarModule.swift
Module/GDTabbar/GDTabbar/Module/GDTabbarModuleSwiftLoadFile.m
Pods/Pods.xcodeproj/xcuserdata/pierce.xcuserdatad/xcschemes/Pods-GDTabbar.xcscheme
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-Info.plist
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-acknowledgements.markdown
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-acknowledgements.plist
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-dummy.m
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Debug-input-files.xcfilelist
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Debug-output-files.xcfilelist
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Release-input-files.xcfilelist
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Release-output-files.xcfilelist
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources.sh
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-umbrella.h
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar.debug.xcconfig
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar.modulemap
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar.release.xcconfig
Module/GDTabbar/GDTabbar/Feature/Model/GDTabBarModel.swift
0 → 100644
View file @
7342028a
//
// GDTabBarModel.swift
// TealiveSwift
//
// Created by Jim Chan on 2020/7/2.
// Copyright © 2020 YAZHAI Inc. All rights reserved.
//
import
Foundation
import
RxSwift
import
RxCocoa
import
GDToolBox
enum
GDTabBarType
{
case
mainPage
case
follow
case
me
case
message
}
protocol
GDTabBarSubControlerType
{
}
class
GDTabBarModel
{
let
type
:
GDTabBarType
var
title
:
String
var
normalImage
:
UIImage
var
selectImage
:
UIImage
var
animateImages
:
[
UIImage
]
let
controller
:
UIViewController
let
select
=
BehaviorRelay
<
Bool
>
(
value
:
false
)
init
(
type
:
GDTabBarType
,
title
:
String
,
normalImage
:
UIImage
,
selectImage
:
UIImage
,
animateImages
:
[
UIImage
],
controller
:
UIViewController
)
{
self
.
type
=
type
self
.
title
=
title
self
.
normalImage
=
normalImage
self
.
selectImage
=
selectImage
self
.
animateImages
=
animateImages
self
.
controller
=
controller
}
//TODO:添加vc: added By Pidan
static
func
create
(
_
type
:
GDTabBarType
)
->
GDTabBarModel
{
switch
type
{
case
.
mainPage
:
break
// let liveVC = RoomListViewController()
// let navVC = BaseNavigationController()
// navVC.modalPresentationStyle = .overFullScreen
// navVC.addChild(liveVC)
// return GDTabBarModel(type: type,
// title: "直播",
// normalImage:GDTabbarBundle.imageNamed( "tabbar_home_item_unselect") ?? UIImage(),
// selectImage:GDTabbarBundle.imageNamed( "tabbar_home_item_31") ?? UIImage(),
// animateImages: UIImage.getAnimateImageArray(for: "tabbar_home_item_"),
// controller: navVC)
case
.
me
:
break
// // 构建导航控制器
// let userVC = GDMyPageController()
// let navVC = BaseNavigationController()
// navVC.modalPresentationStyle = .overFullScreen
// navVC.addChild(userVC)
// return GDTabBarModel(type: type,
// title: "我的",
// normalImage:GDTabbarBundle.imageNamed( "tabbar_me_item_unselect") ?? UIImage(),
// selectImage:GDTabbarBundle.imageNamed( "tabbar_me_item_31") ?? UIImage(),
// animateImages: UIImage.getAnimateImageArray(for: "tabbar_me_item_"),
// controller: navVC)
case
.
message
:
break
// let messageVC = GDMessageViewController()
// let navVC = BaseNavigationController()
// navVC.modalPresentationStyle = .overFullScreen
// navVC.addChild(messageVC)
// return GDTabBarModel(type: type,
// title: "消息",
// normalImage:GDTabbarBundle.imageNamed( "tabbar_message_item_unselect") ?? UIImage(),
// selectImage:GDTabbarBundle.imageNamed( "tabbar_message_item_31") ?? UIImage(),
// animateImages: UIImage.getAnimateImageArray(for: "tabbar_message_item_"),
// controller: navVC)
case
.
follow
:
break
}
let
vc
=
BaseViewController
()
let
navVC
=
BaseNavigationController
()
navVC
.
modalPresentationStyle
=
.
overFullScreen
navVC
.
addChild
(
vc
)
return
GDTabBarModel
(
type
:
type
,
title
:
"直播"
,
normalImage
:
GDTabbarBundle
.
imageNamed
(
"tabbar_home_item_unselect"
)
??
UIImage
(),
selectImage
:
GDTabbarBundle
.
imageNamed
(
"tabbar_home_item_31"
)
??
UIImage
(),
animateImages
:
GDTabbarBundle
.
animatedImageArrayNamed
(
"tabbar_home_item_"
)
??
.
init
(),
controller
:
navVC
)
}
}
Module/GDTabbar/GDTabbar/Feature/View/GDTabBarViewController.swift
0 → 100644
View file @
7342028a
//
// GDTabBarViewController.swift
// TealiveSwift
//
// Created by Jim Chan on 2020/7/1.
// Copyright © 2020 YAZHAI Inc. All rights reserved.
//
import
UIKit
import
RxSwift
import
RxCocoa
import
GDToolBox
class
GDTabBarViewController
:
UITabBarController
{
// MARK: Life Cycle
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
// 赋值子控制器
self
.
viewControllers
=
viewModel
.
elements
.
value
.
map
{
$0
.
controller
}
makeUI
()
bindViewModel
()
}
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
tabBar
.
height
=
tabBarHeight
tabBar
.
y
=
self
.
view
.
frame
.
size
.
height
-
tabBar
.
frame
.
size
.
height
;
tabBar
.
barStyle
=
.
black
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
GDlog
.
verbose
(
"--.TExt -> TabBar VC Appear"
)
customTabBar
?
.
refresh
.
onNext
(())
}
// MARK: UI
func
makeUI
()
{
self
.
view
.
backgroundColor
=
.
white
makeCustomTabBar
()
setupTabBar
()
}
var
customTabBar
:
GDTabBarView
?
func
makeCustomTabBar
()
{
customTabBar
=
GDTabBarView
(
viewModel
:
viewModel
)
customTabBar
!.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
GDScreen
.
width
,
height
:
tabBarHeight
)
customTabBar
!.
backgroundColor
=
.
white
tabBar
.
addSubview
(
customTabBar
!
)
tabBar
.
isTranslucent
=
false
tabBar
.
backgroundColor
=
.
clear
tabBar
.
height
=
tabBarHeight
if
tabBar
.
items
!=
nil
{
for
item
in
tabBar
.
items
!
{
item
.
title
=
nil
item
.
isEnabled
=
false
}
}
}
func
setupTabBar
()
{
// 设置原生 Tabbar title 透明
UITabBarItem
.
appearance
()
.
setTitleTextAttributes
([
.
foregroundColor
:
UIColor
.
clear
],
for
:
.
normal
)
UITabBarItem
.
appearance
()
.
setTitleTextAttributes
([
.
foregroundColor
:
UIColor
.
clear
],
for
:
.
selected
)
if
#available(iOS 13.0, *)
{
let
tabBarAppearance
=
UITabBarAppearance
()
tabBarAppearance
.
backgroundImage
=
UIImage
(
color
:
.
clear
)
!
tabBarAppearance
.
backgroundImage
=
nil
tabBarAppearance
.
backgroundColor
=
.
clear
tabBarAppearance
.
shadowImage
=
UIImage
(
color
:
.
clear
)
tabBarAppearance
.
shadowImage
=
nil
tabBarAppearance
.
shadowColor
=
UIColor
.
clear
self
.
tabBar
.
standardAppearance
=
tabBarAppearance
}
else
{
var
selectedAttr
=
UITabBarItem
.
appearance
()
.
titleTextAttributes
(
for
:
.
selected
)
!
selectedAttr
[
.
foregroundColor
]
=
UIColor
.
clear
UITabBarItem
.
appearance
()
.
setTitleTextAttributes
(
selectedAttr
,
for
:
.
selected
)
UITabBarItem
.
appearance
()
.
setTitleTextAttributes
([
.
foregroundColor
:
UIColor
.
clear
],
for
:
.
normal
)
self
.
tabBar
.
shadowImage
=
UIImage
(
color
:
.
clear
)
self
.
tabBar
.
backgroundImage
=
UIImage
(
color
:
.
clear
)
}
}
// MARK: Data
let
viewModel
=
GDTabBarViewModel
()
func
bindViewModel
()
{
// 绑定选中
viewModel
.
selectedIndex
.
bind
(
to
:
self
.
rx
.
selectedIndex
)
.
disposed
(
by
:
viewModel
.
disposeBag
)
}
// MARK: Method
func
getFrame
(
for
type
:
GDTabBarType
)
->
CGRect
?
{
if
let
index
=
viewModel
.
elements
.
value
.
firstIndex
(
where
:
{
$0
.
type
==
type
})
{
if
let
cell
=
customTabBar
?
.
collectionView
.
cellForItem
(
at
:
.
init
(
row
:
Int
(
index
),
section
:
0
))
{
let
rect
=
cell
.
convert
(
cell
.
bounds
,
to
:
UIApplication
.
shared
.
keyWindow
)
return
rect
}
}
return
nil
}
override
func
viewWillLayoutSubviews
()
{
super
.
viewWillLayoutSubviews
()
setupTabBar
()
}
}
extension
Reactive
where
Base
:
UITabBarController
{
var
selectedIndex
:
Binder
<
Int
>
{
return
Binder
.
init
(
base
)
{
(
vc
,
index
)
in
vc
.
selectedIndex
=
index
for
view
in
vc
.
tabBar
.
subviews
{
if
view
is
GDTabBarView
{
}
else
{
view
.
alpha
=
0
view
.
isHidden
=
true
}
}
}
}
}
Module/GDTabbar/GDTabbar/Feature/View/TabBarView/GDTabBarItemView.swift
0 → 100644
View file @
7342028a
//
// GDTabBarItemView.swift
// TealiveSwift
//
// Created by Jim Chan on 2020/7/2.
// Copyright © 2020 YAZHAI Inc. All rights reserved.
//
import
UIKit
import
RxSwift
import
RxCocoa
import
GDRouter
class
GDTabBarItemView
:
UICollectionViewCell
{
let
refresh
=
PublishSubject
<
Void
>
()
// MARK: Init
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
makeUI
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
// MARK: UI
private
func
makeUI
()
{
self
.
backgroundColor
=
.
clear
self
.
contentView
.
layer
.
masksToBounds
=
false
self
.
layer
.
masksToBounds
=
false
makeTitleLabel
()
makeImageView
()
}
let
imageView
=
UIImageView
()
let
titleLabel
=
UILabel
()
let
unreadView
=
UIView
(
frame
:
.
zero
)
private
func
makeImageView
()
{
imageView
.
contentMode
=
.
scaleAspectFit
self
.
addSubview
(
imageView
)
imageView
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
width
.
height
.
equalTo
(
30
)
make
.
bottom
.
equalTo
(
titleLabel
.
snp
.
top
)
.
offset
(
-
4
)
}
}
private
func
makeTitleLabel
()
{
titleLabel
.
font
=
.
tl_default
(
11
)
titleLabel
.
textColor
=
.
black
self
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
8
)
make
.
height
.
equalTo
(
12
)
}
}
private
func
makeUnreadView
()
{
guard
unreadView
.
superview
==
nil
else
{
return
}
unreadView
.
backgroundColor
=
.
red
unreadView
.
layer
.
masksToBounds
=
true
unreadView
.
layer
.
cornerRadius
=
4
unreadView
.
isHidden
=
true
self
.
addSubview
(
unreadView
)
unreadView
.
snp
.
makeConstraints
{
(
make
)
in
make
.
top
.
equalTo
(
imageView
.
snp
.
top
)
.
offset
(
1
)
make
.
right
.
equalTo
(
imageView
.
snp
.
right
)
.
offset
(
-
1
)
make
.
width
.
height
.
equalTo
(
8
)
}
}
// MARK: Data
var
model
:
GDTabBarModel
?
let
disposeBag
=
DisposeBag
()
var
reuseDisposeBag
=
DisposeBag
()
func
bind
(
to
model
:
GDTabBarModel
)
{
self
.
model
=
model
reuseDisposeBag
=
DisposeBag
()
titleLabel
.
text
=
model
.
title
imageView
.
image
=
model
.
normalImage
model
.
select
.
distinctUntilChanged
()
.
bind
(
to
:
self
.
select
)
.
disposed
(
by
:
disposeBag
)
if
model
.
type
==
.
me
{
// 需要显示未读数
self
.
makeUnreadView
()
func
refreshUnread
()
{
//TODO:红点: added By Pidan
// if GDRouter.DataRouter?.newWearNum.value <= 0 && GDRouter.DataRouter?.rewardCount.value <= 0 && UserCenter.shared.fightTeamCenter.hadUnreadMsg.value == false && UserCenter.shared.fightTeamCenter.hadFightTeamInvite.value == false && UserCenter.shared.fightTeamCenter.applyCount.value <= 0 {
// unreadView.isHidden = true
// } else {
unreadView
.
isHidden
=
false
// }
}
refreshUnread
()
//TODO:红点: added By Pidan
// GDRouter.DataRouter?.shared.newWearNum.subscribe(onNext: { _ in
// refreshUnread()
// }).disposed(by: disposeBag)
//
// GDRouter.DataRouter?.rewardCount.subscribe(onNext: { _ in
// refreshUnread()
// }).disposed(by: disposeBag)
//
// UserCenter.shared.fightTeamCenter.hadUnreadMsg.subscribe(onNext: { _ in
// refreshUnread()
// }).disposed(by: disposeBag)
//
// UserCenter.shared.fightTeamCenter.hadFightTeamInvite.subscribe(onNext: { _ in
// refreshUnread()
// }).disposed(by: disposeBag)
//
// UserCenter.shared.fightTeamCenter.applyCount.subscribe(onNext: { _ in
// refreshUnread()
// }).disposed(by: disposeBag)
}
else
if
model
.
type
==
.
message
{
// 需要显示未读数
self
.
makeUnreadView
()
//TODO:消息红点: added By Pidan
// GDMessageListCenter.shared.hadUnread.distinctUntilChanged().subscribe(onNext: {[weak self] hadUnread in
// if hadUnread {
// self?.unreadView.isHidden = false
// } else {
// self?.unreadView.isHidden = true
// }
// }).disposed(by: disposeBag)
// Observable.combineLatest(model.select.distinctUntilChanged(), GDMessageListCenter.shared.hadUnread.distinctUntilChanged()).subscribe(onNext: {[weak self] isSelect, hadUnread in
// if isSelect == false && hadUnread == true {
// let animation = CAKeyframeAnimation(keyPath: "transform.rotation")
// animation.values = [0, CGFloat.pi / 180 * 15, -CGFloat.pi / 180 * 15, CGFloat.pi / 180 * 10, -CGFloat.pi / 180 * 10, CGFloat.pi / 180 * 5, -CGFloat.pi / 180 * 5, 0]
// animation.duration = 1.5
// animation.timingFunction = .init(name: .easeOut)
// animation.repeatCount = .infinity
// self?.imageView.layer.add(animation, forKey: "shake")
// } else {
// self?.imageView.layer.removeAnimation(forKey: "shake")
// }
//
// }).disposed(by: disposeBag)
//
// Timer.scheduledTimer(withTimeInterval: 1.5, block: {[weak self] timer in
// guard self?.model?.type == .message else { return }
// if self?.model?.select.value == false && GDMessageListCenter.shared.hadUnread.value == true {
// let animation = CAKeyframeAnimation(keyPath: "transform.rotation")
// animation.values = [0, CGFloat.pi / 180 * 15, -CGFloat.pi / 180 * 15, CGFloat.pi / 180 * 10, -CGFloat.pi / 180 * 10, CGFloat.pi / 180 * 5, -CGFloat.pi / 180 * 5, 0]
// animation.duration = 1.5
// animation.timingFunction = .init(name: .easeOut)
// animation.repeatCount = .infinity
// self?.imageView.layer.add(animation, forKey: "shake")
// } else {
// self?.imageView.layer.removeAnimation(forKey: "shake")
// }
// }, repeats: true)
}
}
// MARK: Method
/// 是否选中binder
var
select
:
Binder
<
Bool
>
{
return
Binder
(
self
)
{
(
itemView
,
isSelect
)
in
if
isSelect
{
itemView
.
imageView
.
image
=
itemView
.
model
?
.
selectImage
itemView
.
imageView
.
animationRepeatCount
=
1
itemView
.
imageView
.
animationImages
=
itemView
.
model
?
.
animateImages
itemView
.
imageView
.
animationDuration
=
1
itemView
.
imageView
.
startAnimating
()
itemView
.
imageView
.
image
=
itemView
.
model
?
.
selectImage
/// 4.2.0 之后不需要变大
// itemView.imageView.snp.remakeConstraints { make in
// make.centerX.equalToSuperview()
// make.width.height.equalTo(30)
// make.bottom.equalTo(itemView.titleLabel.snp.top).offset(-4)
// }
//
// if itemView.unreadView.superview != nil {
// itemView.unreadView.snp.remakeConstraints { (make) in
// make.top.equalTo(itemView.imageView.snp.top).offset(6)
// make.right.equalTo(itemView.imageView.snp.right).offset(-6)
// make.width.height.equalTo(8)
// }
// }
itemView
.
titleLabel
.
textColor
=
.
tl_main
}
else
{
itemView
.
imageView
.
image
=
itemView
.
model
?
.
normalImage
/// 4.2.0 之后不需要变大
// itemView.imageView.snp.remakeConstraints { make in
// make.centerX.equalToSuperview()
// make.width.height.equalTo(30)
// make.bottom.equalTo(itemView.titleLabel.snp.top).offset(-4)
// }
// if itemView.unreadView.superview != nil {
// itemView.unreadView.snp.remakeConstraints { (make) in
// make.top.equalTo(itemView.imageView.snp.top).offset(0)
// make.right.equalTo(itemView.imageView.snp.right).offset(0)
// make.width.height.equalTo(8)
// }
// }
itemView
.
titleLabel
.
textColor
=
.
hexColor
(
"999999"
)
}
}
}
}
Module/GDTabbar/GDTabbar/Feature/View/TabBarView/GDTabBarView.swift
0 → 100644
View file @
7342028a
//
// GDTabbarView.swift
// TealiveSwift
//
// Created by Jim Chan on 2020/7/1.
// Copyright © 2020 YAZHAI Inc. All rights reserved.
//
import
UIKit
import
GDToolBox
class
GDTabBarView
:
BaseView
{
let
refresh
=
PublishSubject
<
Void
>
()
override
init
(
frame
:
CGRect
)
{
viewModel
=
GDTabBarViewModel
()
super
.
init
(
frame
:
frame
)
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
init
(
viewModel
:
GDTabBarViewModel
)
{
self
.
viewModel
=
viewModel
super
.
init
(
frame
:
.
zero
)
}
// MARK: UI
override
func
makeUI
()
{
super
.
makeUI
()
// 阴影
self
.
layer
.
shadowColor
=
UIColor
.
init
(
hexString
:
"222222"
,
alpha
:
0.5
)
.
cgColor
self
.
layer
.
shadowOffset
=
CGSize
(
width
:
0
,
height
:
-
2
)
self
.
layer
.
shadowOpacity
=
0.15
self
.
layer
.
shadowRadius
=
5
let
shadowView
=
UIView
(
frame
:
.
zero
)
shadowView
.
setLayerShadow
(
.
hexColor
(
"222222"
,
alpha
:
0.6
),
offset
:
.
init
(
width
:
0
,
height
:
-
2
),
radius
:
5
)
self
.
addSubview
(
shadowView
)
makeCollectionView
()
}
let
collectionView
=
UICollectionView
(
frame
:
.
zero
,
collectionViewLayout
:
UICollectionViewFlowLayout
())
private
let
cellReuseIdentifier
=
"GDTabBarItemView"
func
makeCollectionView
()
{
collectionView
.
backgroundColor
=
.
clear
collectionView
.
showsVerticalScrollIndicator
=
false
collectionView
.
showsHorizontalScrollIndicator
=
false
collectionView
.
isScrollEnabled
=
false
collectionView
.
register
(
GDTabBarItemView
.
self
,
forCellWithReuseIdentifier
:
cellReuseIdentifier
)
collectionView
.
delegate
=
self
let
flowlayout
=
collectionView
.
collectionViewLayout
as!
UICollectionViewFlowLayout
flowlayout
.
scrollDirection
=
.
vertical
flowlayout
.
minimumLineSpacing
=
0
flowlayout
.
minimumInteritemSpacing
=
0
self
.
addSubview
(
collectionView
)
collectionView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
.
offset
(
-
20
)
make
.
left
.
right
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
GDScreen
.
SafeArea
.
bottom
)
}
}
// MARK: Data
let
viewModel
:
GDTabBarViewModel
override
func
bindViewModel
()
{
super
.
bindViewModel
()
let
output
=
viewModel
.
transform
(
input
:
GDTabBarViewModel
.
Input
())
// 绑定数据
output
.
elements
.
asDriver
()
.
drive
(
collectionView
.
rx
.
items
(
cellIdentifier
:
cellReuseIdentifier
,
cellType
:
GDTabBarItemView
.
self
))
{[
weak
self
]
collectionView
,
viewModel
,
cell
in
cell
.
bind
(
to
:
viewModel
)
self
?
.
refresh
.
bind
(
to
:
cell
.
refresh
)
.
disposed
(
by
:
cell
.
reuseDisposeBag
)
}
.
disposed
(
by
:
viewModel
.
disposeBag
)
// 绑定选中事件
collectionView
.
rx
.
modelSelected
(
GDTabBarModel
.
self
)
.
subscribe
(
onNext
:
{
model
in
self
.
viewModel
.
select
(
model
.
type
)
})
.
disposed
(
by
:
viewModel
.
disposeBag
)
}
}
extension
GDTabBarView
:
UICollectionViewDelegate
,
UICollectionViewDelegateFlowLayout
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
collectionViewLayout
:
UICollectionViewLayout
,
sizeForItemAt
indexPath
:
IndexPath
)
->
CGSize
{
return
CGSize
(
width
:
collectionView
.
width
/
CGFloat
(
viewModel
.
elements
.
value
.
count
),
height
:
collectionView
.
height
)
}
}
Module/GDTabbar/GDTabbar/Feature/ViewModel/GDTabBarViewModel.swift
0 → 100644
View file @
7342028a
//
// GDTabBarViewModel.swift
// TealiveSwift
//
// Created by Jim Chan on 2020/7/2.
// Copyright © 2020 YAZHAI Inc. All rights reserved.
//
import
UIKit
import
RxSwift
import
RxCocoa
import
GDToolBox
import
GDRouter
class
GDTabBarViewModel
:
BaseViewModel
,
ViewModelType
{
// MARK: Base
struct
Input
{
}
struct
Output
{
let
elements
:
BehaviorRelay
<
[
GDTabBarModel
]
>
}
// Tabbar 数据
let
elements
:
BehaviorRelay
<
[
GDTabBarModel
]
>
=
BehaviorRelay
<
[
GDTabBarModel
]
>
(
value
:
[
GDTabBarModel
.
create
(
.
mainPage
),
GDTabBarModel
.
create
(
.
follow
),
GDTabBarModel
.
create
(
.
message
),
GDTabBarModel
.
create
(
.
me
)])
// 选中下标
let
selectedIndex
=
BehaviorSubject
<
Int
>
(
value
:
0
)
func
transform
(
input
:
Input
)
->
Output
{
return
Output
(
elements
:
elements
)
}
override
init
()
{
super
.
init
()
// 默认选中
select
(
.
mainPage
)
}
// MARK: Method
/// 选中指定类型
/// - Parameter type: 类型
func
select
(
_
type
:
GDTabBarType
)
{
// 非游客模式细啊才能自由选择
if
GDRouter
.
UserRouter
?
.
isVisitor
.
value
==
true
{
if
type
!=
.
mainPage
{
GDRouter
.
UserRouter
?
.
visitorRegisterFrom
=
.
homePage
// GDLiveHelper.shared.shareRoomid.accept(nil)
GDRouter
.
LoginRouter
?
.
showVisitorLoginView
(
vc
:
nil
,
showPhoneLogin
:
false
)
return
}
}
for
(
modelIndex
,
model
)
in
elements
.
value
.
enumerated
()
{
model
.
select
.
accept
(
model
.
type
==
type
)
if
model
.
type
==
type
{
selectedIndex
.
onNext
(
modelIndex
)
}
}
// 统计
// switch type {
// case .message:
// GDStatistics.track(.tabbarMessage)
// case .mainPage:
// GDStatistics.track(.tabbarMainPage)
// case .me:
// GDStatistics.track(.tabbarMe)
// case .momentPlaza:
// GDStatistics.track(.tabbarPlaza)
// case .prize:
// GDStatistics.track(.tabbarPrize)
// }
}
/// 选中指定下标
/// - Parameter index: 下标
func
select
(
_
index
:
Int
)
{
for
(
modelIndex
,
model
)
in
elements
.
value
.
enumerated
()
{
model
.
select
.
accept
(
modelIndex
==
index
)
}
selectedIndex
.
onNext
(
index
)
}
}
Module/GDTabbar/GDTabbar/Module/GDTabbarBundle.swift
0 → 100644
View file @
7342028a
//
// GDTabbarBundle.swift
// GDTabbarModule
//
// Created by pierce on 2024/1/15.
//
import
UIKit
import
GDRouter
@objcMembers
public
class
GDTabbarBundle
:
ModuleBundle
{
static
let
shared
=
GDTabbarBundle
()
@objc
public
override
class
func
bundle
()
->
Bundle
?
{
if
self
.
shared
.
bundle
==
nil
{
self
.
shared
.
bundle
=
self
.
bundle
(
withName
:
"GDTabbarBundle"
)
}
return
self
.
shared
.
bundle
}
}
Module/GDTabbar/GDTabbar/Module/GDTabbarModule.swift
0 → 100644
View file @
7342028a
//
// GDTabbarModule.swift
// GDTabbar
//
// Created by Jim Chan on 2022/12/13.
//
import
Foundation
import
GDRouter
import
GDToolBox
import
Bifrost
@objc
public
class
GDTabbarModule
:
NSObject
,
GDTabbarSwiftRouter
{
let
disposeBag
=
DisposeBag
()
public
var
tabbarVC
:
UITabBarController
?
{
if
let
vc
=
UIApplication
.
shared
.
keyWindow
?
.
rootViewController
as?
GDTabBarViewController
{
return
vc
}
return
nil
}
@objc
public
func
loginSuccessSetup
()
{
}
@objc
public
func
loginOut
()
{
}
}
extension
GDTabbarModule
:
BifrostModuleProtocol
{
static
let
shared
=
GDTabbarModule
()
public
static
func
sharedInstance
()
->
Self
!
{
return
shared
as?
Self
}
public
func
setup
()
{
}
@objc
public
static
func
swiftLoad
()
{
Bifrost
.
registerService
(
GDTabbarRouter
.
self
,
withModule
:
self
)
}
public
static
func
setupModuleSynchronously
()
->
Bool
{
return
true
}
public
func
application
(
_
application
:
UIApplication
,
didFinishLaunchingWithOptions
launchOptions
:
[
UIApplication
.
LaunchOptionsKey
:
Any
]?
=
nil
)
->
Bool
{
// 控制登录控制器
GDRouter
.
UserRouter
?
.
isLogin
.
distinctUntilChanged
()
.
skip
(
1
)
.
subscribe
(
onNext
:
{
login
in
if
login
==
true
{
if
let
currentVC
=
UIApplication
.
shared
.
keyWindow
?
.
rootViewController
{
currentVC
.
dismiss
(
animated
:
false
,
completion
:
nil
)
currentVC
.
navigationController
?
.
popToRootViewController
(
animated
:
false
)
}
UIApplication
.
shared
.
keyWindow
?
.
rootViewController
=
GDTabBarViewController
()
GDRouter
.
LoginRouter
?
.
bringSplashViewToFront
()
if
GDRouter
.
UserRouter
?
.
openSplashWhenLogin
==
true
{
GDRouter
.
UserRouter
?
.
openSplashWhenLogin
=
false
GDRouter
.
LoginRouter
?
.
removeSplashView
()
let
model
=
GDRouter
.
DataRouter
?
.
splashModel
.
value
if
let
tabbarVC
=
UIApplication
.
shared
.
keyWindow
?
.
rootViewController
as?
GDTabBarViewController
{
let
splashUrl
=
model
?
.
url
if
isValidString
(
splashUrl
)
{
let
webVC
=
GDWebViewController
(
url
:
splashUrl
??
""
)
webVC
.
hidesBottomBarWhenPushed
=
true
if
let
naviVC
=
tabbarVC
.
selectedViewController
as?
BaseNavigationController
{
naviVC
.
pushViewController
(
webVC
,
animated
:
true
)
}
}
}
}
}
})
.
disposed
(
by
:
disposeBag
)
GDRouter
.
UserRouter
?
.
isVisitor
.
distinctUntilChanged
()
.
skip
(
1
)
.
subscribe
(
onNext
:
{
visitor
in
// 在游客模式下注册登录成功
if
visitor
==
false
&&
GDRouter
.
UserRouter
?
.
isLogin
.
value
==
true
{
if
let
currentVC
=
UIApplication
.
shared
.
keyWindow
?
.
rootViewController
{
currentVC
.
dismiss
(
animated
:
false
,
completion
:
nil
)
currentVC
.
navigationController
?
.
popToRootViewController
(
animated
:
false
)
//TODO:Live:退出直播间: added By Pidan
// GDLiveHelper.shared.quitRoom()
}
UIApplication
.
shared
.
keyWindow
?
.
rootViewController
=
GDTabBarViewController
()
}
})
.
disposed
(
by
:
disposeBag
)
return
true
}
}
Module/GDTabbar/GDTabbar/Module/GDTabbarModuleSwiftLoadFile.m
0 → 100644
View file @
7342028a
//
// GDTabbarModuleSwiftLoadFile.m
// GDTabbar
//
// Created by Jim Chan on 2022/12/13.
//
#import <Foundation/Foundation.h>
#import <GDTabbar/GDTabbar-Swift.h>
@implementation
GDTabbarModule
(
Load
)
+
(
void
)
load
{
[
self
swiftLoad
];
}
@end
Pods/Pods.xcodeproj/xcuserdata/pierce.xcuserdatad/xcschemes/Pods-GDTabbar.xcscheme
0 → 100644
View file @
7342028a
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion =
"1300"
version =
"1.3"
>
<BuildAction
parallelizeBuildables =
"YES"
buildImplicitDependencies =
"YES"
>
<BuildActionEntries>
<BuildActionEntry
buildForTesting =
"YES"
buildForRunning =
"YES"
buildForProfiling =
"YES"
buildForArchiving =
"YES"
buildForAnalyzing =
"YES"
>
<BuildableReference
BuildableIdentifier =
"primary"
BlueprintIdentifier =
"81185FF434F6F6D92732BF1AAAC46C4B"
BuildableName =
"Pods_GDTabbar.framework"
BlueprintName =
"Pods-GDTabbar"
ReferencedContainer =
"container:Pods.xcodeproj"
>
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration =
"Debug"
selectedDebuggerIdentifier =
"Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier =
"Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv =
"YES"
>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration =
"Debug"
selectedDebuggerIdentifier =
"Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier =
"Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle =
"0"
useCustomWorkingDirectory =
"NO"
ignoresPersistentStateOnLaunch =
"NO"
debugDocumentVersioning =
"YES"
debugServiceExtension =
"internal"
allowLocationSimulation =
"YES"
>
</LaunchAction>
<ProfileAction
buildConfiguration =
"Release"
shouldUseLaunchSchemeArgsEnv =
"YES"
savedToolIdentifier =
""
useCustomWorkingDirectory =
"NO"
debugDocumentVersioning =
"YES"
>
</ProfileAction>
<AnalyzeAction
buildConfiguration =
"Debug"
>
</AnalyzeAction>
<ArchiveAction
buildConfiguration =
"Release"
revealArchiveInOrganizer =
"YES"
>
</ArchiveAction>
</Scheme>
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-Info.plist
0 → 100644
View file @
7342028a
<
?xml
v
e
rsion="
1
.
0
"
e
n
c
o
d
ing="UT
F
-
8
"?
>
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
CFBundleDevelopmentRegion
<
/k
e
y
>
<
string
>
en
<
/string
>
<
k
e
y
>
CFBundleExecutable
<
/k
e
y
>
<
string
>
$
{
EXECUTABLE_NAME
}<
/string
>
<
k
e
y
>
CFBundleIdentifier
<
/k
e
y
>
<
string
>
$
{
PRODUCT_BUNDLE_IDENTIFIER
}<
/string
>
<
k
e
y
>
CFBundleInfoDictionaryVersion
<
/k
e
y
>
<
string
>
6.0
<
/string
>
<
k
e
y
>
CFBundleName
<
/k
e
y
>
<
string
>
$
{
PRODUCT_NAME
}<
/string
>
<
k
e
y
>
CFBundlePackageType
<
/k
e
y
>
<
string
>
FMWK
<
/string
>
<
k
e
y
>
CFBundleShortVersionString
<
/k
e
y
>
<
string
>
1.0.0
<
/string
>
<
k
e
y
>
CFBundleSignature
<
/k
e
y
>
<
string
>
????
<
/string
>
<
k
e
y
>
CFBundleVersion
<
/k
e
y
>
<
string
>
$
{
CURRENT_PROJECT_VERSION
}<
/string
>
<
k
e
y
>
NSPrincipalClass
<
/k
e
y
>
<
string
><
/string
>
<
/
d
i
c
t
>
<
/plist
>
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-acknowledgements.markdown
0 → 100644
View file @
7342028a
This diff is collapsed.
Click to expand it.
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-acknowledgements.plist
0 → 100644
View file @
7342028a
This diff is collapsed.
Click to expand it.
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-dummy.m
0 → 100644
View file @
7342028a
#import <Foundation/Foundation.h>
@interface
PodsDummy_Pods_GDTabbar
:
NSObject
@end
@implementation
PodsDummy_Pods_GDTabbar
@end
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Debug-input-files.xcfilelist
0 → 100644
View file @
7342028a
${PODS_ROOT}/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources.sh
${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox/GDToolBoxBundle.bundle
\ No newline at end of file
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Debug-output-files.xcfilelist
0 → 100644
View file @
7342028a
${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GDToolBoxBundle.bundle
\ No newline at end of file
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Release-input-files.xcfilelist
0 → 100644
View file @
7342028a
${PODS_ROOT}/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources.sh
${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox/GDToolBoxBundle.bundle
\ No newline at end of file
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-Release-output-files.xcfilelist
0 → 100644
View file @
7342028a
${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GDToolBoxBundle.bundle
\ No newline at end of file
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources.sh
0 → 100755
View file @
7342028a
#!/bin/sh
set
-e
set
-u
set
-o
pipefail
function
on_error
{
echo
"
$(
realpath
-mq
"
${
0
}
"
)
:
$1
: error: Unexpected failure"
}
trap
'on_error $LINENO'
ERR
if
[
-z
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
+x
}
]
;
then
# If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
# resources to, so exit 0 (signalling the script phase was successful).
exit
0
fi
mkdir
-p
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
RESOURCES_TO_COPY
=
${
PODS_ROOT
}
/resources-to-copy-
${
TARGETNAME
}
.txt
>
"
$RESOURCES_TO_COPY
"
XCASSET_FILES
=()
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES
=(
--filter
"P .*.??????"
)
case
"
${
TARGETED_DEVICE_FAMILY
:-}
"
in
1,2
)
TARGET_DEVICE_ARGS
=
"--target-device ipad --target-device iphone"
;;
1
)
TARGET_DEVICE_ARGS
=
"--target-device iphone"
;;
2
)
TARGET_DEVICE_ARGS
=
"--target-device ipad"
;;
3
)
TARGET_DEVICE_ARGS
=
"--target-device tv"
;;
4
)
TARGET_DEVICE_ARGS
=
"--target-device watch"
;;
*
)
TARGET_DEVICE_ARGS
=
"--target-device mac"
;;
esac
install_resource
()
{
if
[[
"
$1
"
=
/
*
]]
;
then
RESOURCE_PATH
=
"
$1
"
else
RESOURCE_PATH
=
"
${
PODS_ROOT
}
/
$1
"
fi
if
[[
!
-e
"
$RESOURCE_PATH
"
]]
;
then
cat
<<
EOM
error: Resource "
$RESOURCE_PATH
" not found. Run 'pod install' to update the copy resources script.
EOM
exit
1
fi
case
$RESOURCE_PATH
in
*
.storyboard
)
echo
"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target
${
!DEPLOYMENT_TARGET_SETTING_NAME
}
--output-format human-readable-text --compile
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
\"
$RESOURCE_PATH
\"
.storyboard
`
.storyboardc
$RESOURCE_PATH
--sdk
${
SDKROOT
}
${
TARGET_DEVICE_ARGS
}
"
||
true
ibtool
--reference-external-strings-file
--errors
--warnings
--notices
--minimum-deployment-target
${
!DEPLOYMENT_TARGET_SETTING_NAME
}
--output-format
human-readable-text
--compile
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
\"
$RESOURCE_PATH
\"
.storyboard
`
.storyboardc"
"
$RESOURCE_PATH
"
--sdk
"
${
SDKROOT
}
"
${
TARGET_DEVICE_ARGS
}
;;
*
.xib
)
echo
"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target
${
!DEPLOYMENT_TARGET_SETTING_NAME
}
--output-format human-readable-text --compile
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
\"
$RESOURCE_PATH
\"
.xib
`
.nib
$RESOURCE_PATH
--sdk
${
SDKROOT
}
${
TARGET_DEVICE_ARGS
}
"
||
true
ibtool
--reference-external-strings-file
--errors
--warnings
--notices
--minimum-deployment-target
${
!DEPLOYMENT_TARGET_SETTING_NAME
}
--output-format
human-readable-text
--compile
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
\"
$RESOURCE_PATH
\"
.xib
`
.nib"
"
$RESOURCE_PATH
"
--sdk
"
${
SDKROOT
}
"
${
TARGET_DEVICE_ARGS
}
;;
*
.framework
)
echo
"mkdir -p
${
TARGET_BUILD_DIR
}
/
${
FRAMEWORKS_FOLDER_PATH
}
"
||
true
mkdir
-p
"
${
TARGET_BUILD_DIR
}
/
${
FRAMEWORKS_FOLDER_PATH
}
"
echo
"rsync --delete -av "
${
RSYNC_PROTECT_TMP_FILES
[@]
}
"
$RESOURCE_PATH
${
TARGET_BUILD_DIR
}
/
${
FRAMEWORKS_FOLDER_PATH
}
"
||
true
rsync
--delete
-av
"
${
RSYNC_PROTECT_TMP_FILES
[@]
}
"
"
$RESOURCE_PATH
"
"
${
TARGET_BUILD_DIR
}
/
${
FRAMEWORKS_FOLDER_PATH
}
"
;;
*
.xcdatamodel
)
echo
"xcrun momc
\"
$RESOURCE_PATH
\"
\"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
"
$RESOURCE_PATH
"
`
.mom
\"
"
||
true
xcrun momc
"
$RESOURCE_PATH
"
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
"
$RESOURCE_PATH
"
.xcdatamodel
`
.mom"
;;
*
.xcdatamodeld
)
echo
"xcrun momc
\"
$RESOURCE_PATH
\"
\"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
"
$RESOURCE_PATH
"
.xcdatamodeld
`
.momd
\"
"
||
true
xcrun momc
"
$RESOURCE_PATH
"
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
"
$RESOURCE_PATH
"
.xcdatamodeld
`
.momd"
;;
*
.xcmappingmodel
)
echo
"xcrun mapc
\"
$RESOURCE_PATH
\"
\"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
"
$RESOURCE_PATH
"
.xcmappingmodel
`
.cdm
\"
"
||
true
xcrun mapc
"
$RESOURCE_PATH
"
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
/
`
basename
"
$RESOURCE_PATH
"
.xcmappingmodel
`
.cdm"
;;
*
.xcassets
)
ABSOLUTE_XCASSET_FILE
=
"
$RESOURCE_PATH
"
XCASSET_FILES+
=(
"
$ABSOLUTE_XCASSET_FILE
"
)
;;
*
)
echo
"
$RESOURCE_PATH
"
||
true
echo
"
$RESOURCE_PATH
"
>>
"
$RESOURCES_TO_COPY
"
;;
esac
}
if
[[
"
$CONFIGURATION
"
==
"Debug"
]]
;
then
install_resource
"
${
PODS_CONFIGURATION_BUILD_DIR
}
/GDToolBox/GDToolBoxBundle.bundle"
fi
if
[[
"
$CONFIGURATION
"
==
"Release"
]]
;
then
install_resource
"
${
PODS_CONFIGURATION_BUILD_DIR
}
/GDToolBox/GDToolBoxBundle.bundle"
fi
mkdir
-p
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
rsync
-avr
--copy-links
--no-relative
--exclude
'*/.svn/*'
--files-from
=
"
$RESOURCES_TO_COPY
"
/
"
${
TARGET_BUILD_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
if
[[
"
${
ACTION
}
"
==
"install"
]]
&&
[[
"
${
SKIP_INSTALL
}
"
==
"NO"
]]
;
then
mkdir
-p
"
${
INSTALL_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
rsync
-avr
--copy-links
--no-relative
--exclude
'*/.svn/*'
--files-from
=
"
$RESOURCES_TO_COPY
"
/
"
${
INSTALL_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
fi
rm
-f
"
$RESOURCES_TO_COPY
"
if
[[
-n
"
${
WRAPPER_EXTENSION
}
"
]]
&&
[
"
`
xcrun
--find
actool
`
"
]
&&
[
-n
"
${
XCASSET_FILES
:-}
"
]
then
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
OTHER_XCASSETS
=
$(
find
-L
"
$PWD
"
-iname
"*.xcassets"
-type
d
)
while
read
line
;
do
if
[[
$line
!=
"
${
PODS_ROOT
}
*"
]]
;
then
XCASSET_FILES+
=(
"
$line
"
)
fi
done
<<<
"
$OTHER_XCASSETS
"
if
[
-z
${
ASSETCATALOG_COMPILER_APPICON_NAME
+x
}
]
;
then
printf
"%s
\0
"
"
${
XCASSET_FILES
[@]
}
"
| xargs
-0
xcrun actool
--output-format
human-readable-text
--notices
--warnings
--platform
"
${
PLATFORM_NAME
}
"
--minimum-deployment-target
"
${
!DEPLOYMENT_TARGET_SETTING_NAME
}
"
${
TARGET_DEVICE_ARGS
}
--compress-pngs
--compile
"
${
BUILT_PRODUCTS_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
else
printf
"%s
\0
"
"
${
XCASSET_FILES
[@]
}
"
| xargs
-0
xcrun actool
--output-format
human-readable-text
--notices
--warnings
--platform
"
${
PLATFORM_NAME
}
"
--minimum-deployment-target
"
${
!DEPLOYMENT_TARGET_SETTING_NAME
}
"
${
TARGET_DEVICE_ARGS
}
--compress-pngs
--compile
"
${
BUILT_PRODUCTS_DIR
}
/
${
UNLOCALIZED_RESOURCES_FOLDER_PATH
}
"
--app-icon
"
${
ASSETCATALOG_COMPILER_APPICON_NAME
}
"
--output-partial-info-plist
"
${
TARGET_TEMP_DIR
}
/assetcatalog_generated_info_cocoapods.plist"
fi
fi
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-umbrella.h
0 → 100644
View file @
7342028a
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT
double
Pods_GDTabbarVersionNumber
;
FOUNDATION_EXPORT
const
unsigned
char
Pods_GDTabbarVersionString
[];
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar.debug.xcconfig
0 → 100644
View file @
7342028a
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter" "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox" "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl" "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/Realm" "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer" "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter" "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit" "${PODS_ROOT}/Bugly" "${PODS_ROOT}/Realm/core" "${PODS_ROOT}/YYKit/Vendor"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost/Bifrost.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator/Differentiator.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter/GDRouter.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox/GDToolBox.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl/JXPageControl.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView/JXSegmentedView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Realm/Realm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift/RealmSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources/RxDataSources.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit/SwiftyStoreKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer/SwiftyTimer.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter/TSVoiceConverter.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger/XCGLogger.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit/YYKit.framework/Headers" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Realm/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../LocalPodSpec/GDToolBox/GDToolBox/Classes/ThirdParty/TalkingData" "${PODS_ROOT}/../LocalPodSpec/GDToolBox/GDToolBox/Classes/ThirdParty/WeChat" "${PODS_ROOT}/TSVoiceConverter/Sources/lib" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Realm" /usr/lib/swift
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost/Bifrost.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator/Differentiator.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter/GDRouter.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox/GDToolBox.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl/JXPageControl.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView/JXSegmentedView.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Realm/Realm.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift/RealmSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources/RxDataSources.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit/SwiftyStoreKit.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer/SwiftyTimer.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter/TSVoiceConverter.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger/XCGLogger.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/YYKit/YYKit.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" -iframework "${PODS_ROOT}/Bugly" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Moya" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" -iframework "${PODS_ROOT}/Realm/core" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Realm" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger" -iframework "${PODS_ROOT}/YYKit/Vendor" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/YYKit"
OTHER_LDFLAGS = $(inherited) -ObjC -l"TalkingData" -l"WeChatSDK" -l"c++" -l"compression" -l"iconv" -l"sqlite3" -l"z" -framework "Accelerate" -framework "Alamofire" -framework "AssetsLibrary" -framework "Bifrost" -framework "Bugly" -framework "CFNetwork" -framework "CocoaAsyncSocket" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Differentiator" -framework "Foundation" -framework "GDRouter" -framework "GDToolBox" -framework "ImageIO" -framework "JXPageControl" -framework "JXSegmentedView" -framework "Kingfisher" -framework "MJRefresh" -framework "MetalPerformanceShaders" -framework "MobileCoreServices" -framework "Moya" -framework "ObjcExceptionBridging" -framework "QuartzCore" -framework "Reachability" -framework "Realm" -framework "RealmSwift" -framework "RxCocoa" -framework "RxDataSources" -framework "RxRelay" -framework "RxSwift" -framework "SSZipArchive" -framework "Security" -framework "SnapKit" -framework "SwiftyJSON" -framework "SwiftyStoreKit" -framework "SwiftyTimer" -framework "SystemConfiguration" -framework "TSVoiceConverter" -framework "UIKit" -framework "WebKit" -framework "XCGLogger" -framework "YYKit" -weak_framework "Combine" -weak_framework "SwiftUI" -weak_framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/../..
PODS_ROOT = ${SRCROOT}/../../Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar.modulemap
0 → 100644
View file @
7342028a
framework module Pods_GDTabbar {
umbrella header "Pods-GDTabbar-umbrella.h"
export *
module * { export * }
}
Pods/Target Support Files/Pods-GDTabbar/Pods-GDTabbar.release.xcconfig
0 → 100644
View file @
7342028a
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter" "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox" "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl" "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/Realm" "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer" "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter" "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit" "${PODS_ROOT}/Bugly" "${PODS_ROOT}/Realm/core" "${PODS_ROOT}/YYKit/Vendor"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost/Bifrost.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator/Differentiator.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter/GDRouter.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox/GDToolBox.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl/JXPageControl.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView/JXSegmentedView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Realm/Realm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift/RealmSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources/RxDataSources.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit/SwiftyStoreKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer/SwiftyTimer.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter/TSVoiceConverter.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger/XCGLogger.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/YYKit/YYKit.framework/Headers" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Realm/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_ROOT}/../LocalPodSpec/GDToolBox/GDToolBox/Classes/ThirdParty/TalkingData" "${PODS_ROOT}/../LocalPodSpec/GDToolBox/GDToolBox/Classes/ThirdParty/WeChat" "${PODS_ROOT}/TSVoiceConverter/Sources/lib" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Realm" /usr/lib/swift
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost/Bifrost.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator/Differentiator.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter/GDRouter.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox/GDToolBox.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl/JXPageControl.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView/JXSegmentedView.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Realm/Realm.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift/RealmSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources/RxDataSources.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit/SwiftyStoreKit.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer/SwiftyTimer.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter/TSVoiceConverter.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger/XCGLogger.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/YYKit/YYKit.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Bifrost" -iframework "${PODS_ROOT}/Bugly" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/GDRouter" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/GDToolBox" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/JXPageControl" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Moya" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/ObjcExceptionBridging" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" -iframework "${PODS_ROOT}/Realm/core" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Realm" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RealmSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyStoreKit" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/TSVoiceConverter" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/XCGLogger" -iframework "${PODS_ROOT}/YYKit/Vendor" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/YYKit"
OTHER_LDFLAGS = $(inherited) -ObjC -l"TalkingData" -l"WeChatSDK" -l"c++" -l"compression" -l"iconv" -l"sqlite3" -l"z" -framework "Accelerate" -framework "Alamofire" -framework "AssetsLibrary" -framework "Bifrost" -framework "Bugly" -framework "CFNetwork" -framework "CocoaAsyncSocket" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Differentiator" -framework "Foundation" -framework "GDRouter" -framework "GDToolBox" -framework "ImageIO" -framework "JXPageControl" -framework "JXSegmentedView" -framework "Kingfisher" -framework "MJRefresh" -framework "MetalPerformanceShaders" -framework "MobileCoreServices" -framework "Moya" -framework "ObjcExceptionBridging" -framework "QuartzCore" -framework "Reachability" -framework "Realm" -framework "RealmSwift" -framework "RxCocoa" -framework "RxDataSources" -framework "RxRelay" -framework "RxSwift" -framework "SSZipArchive" -framework "Security" -framework "SnapKit" -framework "SwiftyJSON" -framework "SwiftyStoreKit" -framework "SwiftyTimer" -framework "SystemConfiguration" -framework "TSVoiceConverter" -framework "UIKit" -framework "WebKit" -framework "XCGLogger" -framework "YYKit" -weak_framework "Combine" -weak_framework "SwiftUI" -weak_framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/../..
PODS_ROOT = ${SRCROOT}/../../Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment