Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PhoneManager
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yang
PhoneManager
Commits
88d52922
Commit
88d52922
authored
Apr 30, 2025
by
shenyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
内购管理类重写
parent
7a003868
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
280 additions
and
145 deletions
+280
-145
AppDelegate.swift
PhoneManager/AppDelegate.swift
+12
-4
IAPManager.swift
PhoneManager/Class/Manager/IAPManager.swift
+177
-79
ChargeInfoViewController.swift
.../Session/Charge/Controller/ChargeInfoViewController.swift
+2
-2
CompressController.swift
...lass/Session/Compress/Controller/CompressController.swift
+3
-2
CompressNavView.swift
...Manager/Class/Session/Compress/View/CompressNavView.swift
+1
-1
HomeInfoViewController.swift
...lass/Session/Home/Controller/HomeInfoViewController.swift
+7
-8
HomePhotosDetailViewController.swift
...sion/Home/Controller/HomePhotosDetailViewController.swift
+6
-6
HomeVideoDetailController.swift
...s/Session/Home/Controller/HomeVideoDetailController.swift
+6
-6
HomeViewController.swift
...er/Class/Session/Home/Controller/HomeViewController.swift
+2
-2
HomeNavView.swift
PhoneManager/Class/Session/Home/View/HomeNavView.swift
+1
-1
HomePayDueView.swift
PhoneManager/Class/Session/Pay/View/HomePayDueView.swift
+5
-2
HomePayDueView.xib
PhoneManager/Class/Session/Pay/View/HomePayDueView.xib
+1
-1
HomePayView.swift
PhoneManager/Class/Session/Pay/View/HomePayView.swift
+10
-10
HomePayViewController.swift
...ss/Session/Pay/ViewController/HomePayViewController.swift
+40
-15
PMLoadingView.swift
...eManager/Class/Session/Public/Loading/PMLoadingView.swift
+1
-0
SecretViewController.swift
PhoneManager/Class/Session/Secret/SecretViewController.swift
+1
-1
SettingViewHeaderCell.swift
...r/Class/Session/Settings/View/SettingViewHeaderCell.swift
+4
-4
SettingViewController.swift
...ssion/Settings/ViewController/SettingViewController.swift
+1
-1
No files found.
PhoneManager/AppDelegate.swift
View file @
88d52922
...
@@ -37,8 +37,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
...
@@ -37,8 +37,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// 首页缓存
// 首页缓存
findHomeData
()
findHomeData
()
// 获取价格
// 获取内购价格
HomePayModel
.
share
.
fetchProducts
()
IAPManager
.
share
.
fetchProducts
{
p
in
Print
(
"获取内购商品信息"
,
p
as
Any
)
}
// HomePayModel.share.fetchProducts()
// 初始化广告SDK
// 初始化广告SDK
AdvManager
.
shared
.
initAdertisementSDK
()
AdvManager
.
shared
.
initAdertisementSDK
()
...
@@ -266,10 +269,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
...
@@ -266,10 +269,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
private
func
setupDefault
()
{
private
func
setupDefault
()
{
// HomePayModel.share.loadLocalData()
// HomePayModel.share.loadLocalData()
HomePayModel
.
share
.
checkSubscriptionState
{
isSubscribed
,
expiresDate
in
// HomePayModel.share.checkSubscriptionState { isSubscribed, expiresDate in
//
// }
IAPManager
.
share
.
checkSubscriptionState
{
isSubscribed
,
expiresDate
in
Print
(
"是否内购---"
,
isSubscribed
)
}
}
NetStatusManager
.
manager
.
startNet
{
status
in
NetStatusManager
.
manager
.
startNet
{
status
in
switch
status
{
switch
status
{
...
...
PhoneManager/Class/Manager/IAPManager.swift
View file @
88d52922
This diff is collapsed.
Click to expand it.
PhoneManager/Class/Session/Charge/Controller/ChargeInfoViewController.swift
View file @
88d52922
...
@@ -60,12 +60,12 @@ class ChargeInfoViewController:BaseViewController {
...
@@ -60,12 +60,12 @@ class ChargeInfoViewController:BaseViewController {
}
}
}
}
if
HomePayModel
.
share
.
isNoA
d
==
false
&&
isFree
!=
true
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
&&
isFree
!=
true
{
// 弹出内购页面
// 弹出内购页面
HomePayViewController
.
show
{
HomePayViewController
.
show
{
// 再次判断下
// 再次判断下
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 弹出提示框
// 弹出提示框
let
alertView
=
AdvTipSelectView
(
frame
:
self
.
view
.
bounds
)
let
alertView
=
AdvTipSelectView
(
frame
:
self
.
view
.
bounds
)
alertView
.
selectType
=
.
selectTypeSetAnimation
alertView
.
selectType
=
.
selectTypeSetAnimation
...
...
PhoneManager/Class/Session/Compress/Controller/CompressController.swift
View file @
88d52922
...
@@ -327,9 +327,10 @@ extension CompressController:WaterfallMutiSectionDelegate,UICollectionViewDataSo
...
@@ -327,9 +327,10 @@ extension CompressController:WaterfallMutiSectionDelegate,UICollectionViewDataSo
return
return
}
}
if
HomePayModel
.
share
.
isNoAd
==
false
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 弹出提示框
// 弹出提示框
let
alertView
=
AdvTipSelectView
(
frame
:
self
.
view
.
bounds
)
let
alertView
=
AdvTipSelectView
(
frame
:
self
.
view
.
bounds
)
alertView
.
selectType
=
.
selectTypeCompressPhoto
alertView
.
selectType
=
.
selectTypeCompressPhoto
...
...
PhoneManager/Class/Session/Compress/View/CompressNavView.swift
View file @
88d52922
...
@@ -58,7 +58,7 @@ class CompressNavView : UIView {
...
@@ -58,7 +58,7 @@ class CompressNavView : UIView {
}
}
@objc
private
func
proBtnClick
()
{
@objc
private
func
proBtnClick
()
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
HomePayViewController
.
show
{}
HomePayViewController
.
show
{}
}
else
{
}
else
{
let
vc
:
PayCompletedViewController
=
PayCompletedViewController
()
let
vc
:
PayCompletedViewController
=
PayCompletedViewController
()
...
...
PhoneManager/Class/Session/Home/Controller/HomeInfoViewController.swift
View file @
88d52922
...
@@ -104,6 +104,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -104,6 +104,7 @@ class HomeInfoViewController:BaseViewController {
self
?
.
tablewView
.
deleteModel
(
array
:
imgs
)
self
?
.
tablewView
.
deleteModel
(
array
:
imgs
)
}
}
})
})
self
.
setDefaultPage
()
}
}
func
updateFreeTimes
(){
func
updateFreeTimes
(){
...
@@ -117,8 +118,6 @@ class HomeInfoViewController:BaseViewController {
...
@@ -117,8 +118,6 @@ class HomeInfoViewController:BaseViewController {
}
}
}
}
setDefaultPage
()
}
}
}
}
...
@@ -132,7 +131,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -132,7 +131,7 @@ class HomeInfoViewController:BaseViewController {
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
// 首先看是否订阅
// 首先看是否订阅
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 没有订阅
// 没有订阅
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
...
@@ -143,7 +142,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -143,7 +142,7 @@ class HomeInfoViewController:BaseViewController {
// 当免费次数用完以后,无论删除多少都需要弹出广告
// 当免费次数用完以后,无论删除多少都需要弹出广告
if
freeCount
<=
0
{
if
freeCount
<=
0
{
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 弹出单个删除类型
// 弹出单个删除类型
view
.
deleteType
=
.
deletePhotoOne
view
.
deleteType
=
.
deletePhotoOne
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
...
@@ -161,7 +160,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -161,7 +160,7 @@ class HomeInfoViewController:BaseViewController {
if
tempArray
.
count
>
freeDeleteCount
{
if
tempArray
.
count
>
freeDeleteCount
{
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
...
@@ -184,7 +183,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -184,7 +183,7 @@ class HomeInfoViewController:BaseViewController {
freeDeleteCount
=
5
freeDeleteCount
=
5
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
...
@@ -198,7 +197,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -198,7 +197,7 @@ class HomeInfoViewController:BaseViewController {
freeDeleteCount
=
tempArray
.
count
-
1
freeDeleteCount
=
tempArray
.
count
-
1
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
view
.
getOtherInfoByType
(
type
:
self
.
type
!
)
...
@@ -227,7 +226,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -227,7 +226,7 @@ class HomeInfoViewController:BaseViewController {
}
}
}
}
if
isMore
==
true
{
if
isMore
==
true
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
self
.
popAdverTisement
()
self
.
popAdverTisement
()
// 广告看完再结束
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
AdvManager
.
shared
.
finisedCallBack
=
{
...
...
PhoneManager/Class/Session/Home/Controller/HomePhotosDetailViewController.swift
View file @
88d52922
...
@@ -472,7 +472,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
...
@@ -472,7 +472,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
// 首先看是否订阅
// 首先看是否订阅
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 没有订阅
// 没有订阅
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
view
.
dataSource
=
self
.
selectedModel
view
.
dataSource
=
self
.
selectedModel
...
@@ -482,7 +482,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
...
@@ -482,7 +482,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 当免费次数用完以后,无论删除多少都需要弹出广告
// 当免费次数用完以后,无论删除多少都需要弹出广告
if
freeCount
<=
0
{
if
freeCount
<=
0
{
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 弹出单个删除类型
// 弹出单个删除类型
view
.
deleteType
=
.
deletePhotoOne
view
.
deleteType
=
.
deletePhotoOne
view
.
getOtherInfoByType
(
type
:
.
Other
)
view
.
getOtherInfoByType
(
type
:
.
Other
)
...
@@ -500,7 +500,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
...
@@ -500,7 +500,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
if
tempArray
.
count
>
freeDeleteCount
{
if
tempArray
.
count
>
freeDeleteCount
{
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
.
Other
)
view
.
getOtherInfoByType
(
type
:
.
Other
)
...
@@ -523,7 +523,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
...
@@ -523,7 +523,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
freeDeleteCount
=
5
freeDeleteCount
=
5
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
.
Other
)
view
.
getOtherInfoByType
(
type
:
.
Other
)
...
@@ -537,7 +537,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
...
@@ -537,7 +537,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
freeDeleteCount
=
tempArray
.
count
-
1
freeDeleteCount
=
tempArray
.
count
-
1
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
.
Other
)
view
.
getOtherInfoByType
(
type
:
.
Other
)
...
@@ -556,7 +556,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
...
@@ -556,7 +556,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
if
isMore
==
true
{
if
isMore
==
true
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
self
.
popAdverTisement
()
self
.
popAdverTisement
()
// 广告看完再结束
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
AdvManager
.
shared
.
finisedCallBack
=
{
...
...
PhoneManager/Class/Session/Home/Controller/HomeVideoDetailController.swift
View file @
88d52922
...
@@ -375,7 +375,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -375,7 +375,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
}
// 首先看是否订阅
// 首先看是否订阅
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 没有订阅
// 没有订阅
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
view
.
dataSource
=
self
.
selectedModel
view
.
dataSource
=
self
.
selectedModel
...
@@ -385,7 +385,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -385,7 +385,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
// 当免费次数用完以后,无论删除多少都需要弹出广告
// 当免费次数用完以后,无论删除多少都需要弹出广告
if
freeCount
<=
0
{
if
freeCount
<=
0
{
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 弹出单个删除类型
// 弹出单个删除类型
view
.
deleteType
=
.
deletePhotoOne
view
.
deleteType
=
.
deletePhotoOne
view
.
getOtherInfoByType
(
type
:
.
videos
)
view
.
getOtherInfoByType
(
type
:
.
videos
)
...
@@ -403,7 +403,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -403,7 +403,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
if
tempArray
.
count
>
freeDeleteCount
{
if
tempArray
.
count
>
freeDeleteCount
{
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
.
videos
)
view
.
getOtherInfoByType
(
type
:
.
videos
)
...
@@ -426,7 +426,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -426,7 +426,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
freeDeleteCount
=
5
freeDeleteCount
=
5
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
.
videos
)
view
.
getOtherInfoByType
(
type
:
.
videos
)
...
@@ -441,7 +441,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -441,7 +441,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
freeDeleteCount
=
tempArray
.
count
-
1
freeDeleteCount
=
tempArray
.
count
-
1
// 弹出多个删除类型
// 弹出多个删除类型
HomePayViewController
.
show
{
HomePayViewController
.
show
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
view
.
deleteType
=
.
deletePhotosMore
view
.
deleteType
=
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
.
videos
)
view
.
getOtherInfoByType
(
type
:
.
videos
)
...
@@ -460,7 +460,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -460,7 +460,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
}
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
if
isMore
==
true
{
if
isMore
==
true
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
self
.
popAdverTisement
()
self
.
popAdverTisement
()
// 广告看完再结束
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
AdvManager
.
shared
.
finisedCallBack
=
{
...
...
PhoneManager/Class/Session/Home/Controller/HomeViewController.swift
View file @
88d52922
...
@@ -188,7 +188,7 @@ class HomeViewController:BaseViewController {
...
@@ -188,7 +188,7 @@ class HomeViewController:BaseViewController {
if
let
cIndex
=
index
as?
Int
{
if
let
cIndex
=
index
as?
Int
{
// 先走广告策略
// 先走广告策略
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
&&
HomePayModel
.
share
.
isNoA
d
==
false
{
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
&&
IAPManager
.
share
.
isSubscribe
d
==
false
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
}
else
{
}
else
{
junmToModule
(
cIndex
,
self
)
junmToModule
(
cIndex
,
self
)
...
@@ -287,7 +287,7 @@ class HomeViewController:BaseViewController {
...
@@ -287,7 +287,7 @@ class HomeViewController:BaseViewController {
if
!
isShowPay
{
if
!
isShowPay
{
isShowPay
=
true
isShowPay
=
true
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
HomePayViewController
.
show
{
HomePayViewController
.
show
{
NotificationManager
()
.
configNotifications
()
NotificationManager
()
.
configNotifications
()
}
}
...
...
PhoneManager/Class/Session/Home/View/HomeNavView.swift
View file @
88d52922
...
@@ -79,7 +79,7 @@ extension HomeNavView {
...
@@ -79,7 +79,7 @@ extension HomeNavView {
homeNavViewModel
.
pushToDetailController
(
currentView
:
self
,
destnationController
:
settingViewController
)
homeNavViewModel
.
pushToDetailController
(
currentView
:
self
,
destnationController
:
settingViewController
)
}
}
@objc
private
func
proBtnClick
()
{
@objc
private
func
proBtnClick
()
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
HomePayViewController
.
show
{}
HomePayViewController
.
show
{}
}
else
{
}
else
{
let
vc
:
PayCompletedViewController
=
PayCompletedViewController
()
let
vc
:
PayCompletedViewController
=
PayCompletedViewController
()
...
...
PhoneManager/Class/Session/Pay/View/HomePayDueView.swift
View file @
88d52922
...
@@ -38,12 +38,15 @@ class HomePayDueView: UIView {
...
@@ -38,12 +38,15 @@ class HomePayDueView: UIView {
freePrice
.
font
=
UIFont
.
scaledSystemFont
(
ofSize
:
12
,
weight
:
.
regular
)
freePrice
.
font
=
UIFont
.
scaledSystemFont
(
ofSize
:
12
,
weight
:
.
regular
)
freeTime
.
isHidden
=
false
freePrice
.
isHidden
=
false
saveL
.
isHidden
=
true
}
}
func
reloadUI
(
_
type
:
Int
,
product1
:
SKProduct
?,
product2
:
SKProduct
?){
func
reloadUI
(
_
type
:
Int
,
week
:
SKProduct
?,
life
:
SKProduct
?){
guard
let
pord
=
product1
,
let
pord1
=
product2
else
{
return
}
guard
let
pord
=
week
,
let
pord1
=
life
else
{
return
}
if
type
==
0
{
if
type
==
0
{
// 免费试用订阅
// 免费试用订阅
...
...
PhoneManager/Class/Session/Pay/View/HomePayDueView.xib
View file @
88d52922
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"genericGamma22GrayColorSpace"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"genericGamma22GrayColorSpace"
/>
<nil
key=
"highlightedColor"
/>
<nil
key=
"highlightedColor"
/>
</label>
</label>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"Save 89%"
textAlignment=
"center"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"Wpu-I6-q6N"
>
<label
hidden=
"YES"
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"Save 89%"
textAlignment=
"center"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"Wpu-I6-q6N"
>
<rect
key=
"frame"
x=
"311"
y=
"29.666666666666671"
width=
"85"
height=
"21"
/>
<rect
key=
"frame"
x=
"311"
y=
"29.666666666666671"
width=
"85"
height=
"21"
/>
<color
key=
"backgroundColor"
red=
"0.32156862749999998"
green=
"0.78039215689999997"
blue=
"0.46274509800000002"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<color
key=
"backgroundColor"
red=
"0.32156862749999998"
green=
"0.78039215689999997"
blue=
"0.46274509800000002"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<constraints>
<constraints>
...
...
PhoneManager/Class/Session/Pay/View/HomePayView.swift
View file @
88d52922
...
@@ -381,18 +381,18 @@ class HomePayView:UIView {
...
@@ -381,18 +381,18 @@ class HomePayView:UIView {
}
}
var
p
roduct
:
SKProduct
?
var
weekP
roduct
:
SKProduct
?
var
product1
:
SKProduct
?
var
lifeProduct
:
SKProduct
?
func
reloadSKPorduct
(
product
:
SKProduct
?,
product1
:
SKProduct
?){
func
reloadSKPorduct
(
week
:
SKProduct
?,
life
:
SKProduct
?){
self
.
product
=
product
self
.
weekProduct
=
week
self
.
product1
=
product1
self
.
lifeProduct
=
life
payDueView
.
reloadUI
(
type
,
product1
:
product
,
product2
:
product1
)
payDueView
.
reloadUI
(
type
,
week
:
week
,
life
:
life
)
trailTitle
.
attributedText
=
nil
trailTitle
.
attributedText
=
nil
if
let
pord
=
product
{
if
let
pord
=
week
{
trailTitle
.
text
=
"Free for 7 days, then
\(
pord
.
localizedPrice
)
/week"
trailTitle
.
text
=
"Free for 7 days, then
\(
pord
.
localizedPrice
)
/week"
}
}
...
@@ -403,14 +403,14 @@ class HomePayView:UIView {
...
@@ -403,14 +403,14 @@ class HomePayView:UIView {
contentView2Switch
?
.
isOn
=
type
==
0
contentView2Switch
?
.
isOn
=
type
==
0
payButton
?
.
setTitle
(
type
==
0
?
"Try Free"
:
"Start Now"
,
for
:
.
normal
)
payButton
?
.
setTitle
(
type
==
0
?
"Try Free"
:
"Start Now"
,
for
:
.
normal
)
payDueView
.
reloadUI
(
type
,
product1
:
product
,
product2
:
product1
)
payDueView
.
reloadUI
(
type
,
week
:
weekProduct
,
life
:
lifeProduct
)
if
let
pord
=
p
roduct
,
type
==
0
{
if
let
pord
=
weekP
roduct
,
type
==
0
{
trailTitle
.
attributedText
=
nil
trailTitle
.
attributedText
=
nil
trailTitle
.
text
=
"Free for 7 days, then
\(
pord
.
localizedPrice
)
/week"
trailTitle
.
text
=
"Free for 7 days, then
\(
pord
.
localizedPrice
)
/week"
}
}
if
let
pord
=
product1
,
type
==
1
{
if
let
pord
=
lifeProduct
,
type
==
1
{
trailTitle
.
text
=
"
\(
pord
.
localizedPrice
)
/Lifetime"
trailTitle
.
text
=
"
\(
pord
.
localizedPrice
)
/Lifetime"
setAttributedString
(
price
:
pord
.
localizedPrice
)
setAttributedString
(
price
:
pord
.
localizedPrice
)
}
}
...
...
PhoneManager/Class/Session/Pay/ViewController/HomePayViewController.swift
View file @
88d52922
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
import
UIKit
import
UIKit
import
StoreKit
import
StoreKit
import
SVProgressHUD
class
HomePayViewController
:
UIViewController
{
class
HomePayViewController
:
UIViewController
{
...
@@ -31,11 +32,7 @@ class HomePayViewController:UIViewController {
...
@@ -31,11 +32,7 @@ class HomePayViewController:UIViewController {
make
.
left
.
right
.
top
.
bottom
.
equalToSuperview
()
make
.
left
.
right
.
top
.
bottom
.
equalToSuperview
()
}
}
}
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
HomePayModel
.
share
.
fetchProducts
()
}
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
super
.
viewDidAppear
(
animated
)
super
.
viewDidAppear
(
animated
)
...
@@ -108,22 +105,47 @@ class HomePayViewController:UIViewController {
...
@@ -108,22 +105,47 @@ class HomePayViewController:UIViewController {
extension
HomePayViewController
{
extension
HomePayViewController
{
private
func
setPrice
()
->
Void
{
private
func
setPrice
()
->
Void
{
guard
currentProduct
!=
nil
,
//
guard currentProduct != nil ,
let
p1
=
currentProduct
?
.
first
,
//
let p1 = currentProduct?.first,
let
p2
=
currentProduct
?
.
last
//
let p2 = currentProduct?.last
else
{
return
}
//
else { return }
homePayView
?
.
reloadSKPorduct
(
product
:
p1
,
product1
:
p2
)
//
homePayView?.reloadSKPorduct(product: p1, product1: p2)
}
}
private
func
storeKeD
()
->
Void
{
private
func
storeKeD
()
->
Void
{
HomePayModel
.
share
.
storeCall
=
{[
weak
self
]
products
in
// HomePayModel.share.storeCall = {[weak self] products in
guard
let
self
=
self
else
{
return
}
// guard let self = self else { return }
self
.
currentProduct
=
products
// self.currentProduct = products
// }
IAPManager
.
share
.
fetchProducts
{
[
weak
self
]
products
in
guard
let
weakSelf
=
self
else
{
return
}
DispatchQueue
.
main
.
async
{
if
let
(
weekProduct
,
lifetimeProduct
)
=
products
{
weakSelf
.
homePayView
?
.
reloadSKPorduct
(
week
:
weekProduct
,
life
:
lifetimeProduct
)
}
}
}
}
}
}
private
func
payTouch
()
->
Void
{
private
func
payTouch
()
->
Void
{
HomePayModel
.
share
.
purchase
(
(
homePayView
?
.
type
==
0
)
?
.
Subscribe
:
.
NonConsum
)
IAPManager
.
share
.
purchase
((
homePayView
?
.
type
==
0
)
?
.
subscribe
:
.
nonConsumable
)
{[
weak
self
]
result
in
guard
let
weakSelf
=
self
else
{
return
}
switch
result
{
case
.
success
(
let
success
):
Print
(
"内购成功"
,
success
)
DispatchQueue
.
main
.
async
{
SVProgressHUD
.
showSuccess
(
withStatus
:
"purchase succeeds"
)
weakSelf
.
dismiss
(
animated
:
true
)
}
case
.
failure
(
let
failure
):
Print
(
"内购失败"
,
failure
)
DispatchQueue
.
main
.
async
{
SVProgressHUD
.
showError
(
withStatus
:
failure
.
localizedDescription
)
}
}
}
}
}
private
func
ppClick
()
{
private
func
ppClick
()
{
...
@@ -145,7 +167,10 @@ extension HomePayViewController {
...
@@ -145,7 +167,10 @@ extension HomePayViewController {
}
}
private
func
restoreClick
()
{
private
func
restoreClick
()
{
HomePayModel
.
share
.
restore
()
// HomePayModel.share.restore()
IAPManager
.
share
.
restore
{
result
in
}
}
}
class
func
show
(
_
compate
:
@escaping(()
->
Void
))
->
Void
{
class
func
show
(
_
compate
:
@escaping(()
->
Void
))
->
Void
{
...
...
PhoneManager/Class/Session/Public/Loading/PMLoadingView.swift
View file @
88d52922
...
@@ -19,6 +19,7 @@ class PMLoadingHUD{
...
@@ -19,6 +19,7 @@ class PMLoadingHUD{
}()
}()
func
show
(
_
title
:
String
=
"Deleting..."
,
_
subTitle
:
String
=
"Please wait on the screen. This might take several minutes."
){
func
show
(
_
title
:
String
=
"Deleting..."
,
_
subTitle
:
String
=
"Please wait on the screen. This might take several minutes."
){
disMiss
()
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
KEYWINDOW
()?
.
addSubview
(
self
.
loadingView
)
KEYWINDOW
()?
.
addSubview
(
self
.
loadingView
)
self
.
loadingView
.
setTitleaAndSubTitle
(
title
:
title
,
subTitle
:
subTitle
)
self
.
loadingView
.
setTitleaAndSubTitle
(
title
:
title
,
subTitle
:
subTitle
)
...
...
PhoneManager/Class/Session/Secret/SecretViewController.swift
View file @
88d52922
...
@@ -238,7 +238,7 @@ class SecretViewController: BaseViewController {
...
@@ -238,7 +238,7 @@ class SecretViewController: BaseViewController {
b
.
callback
=
{
[
weak
self
]
in
b
.
callback
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
if
b
.
state
==
.
add
{
if
b
.
state
==
.
add
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
// 添加的时候需要先弹出广告
// 添加的时候需要先弹出广告
popAdverTisement
()
popAdverTisement
()
AdvManager
.
shared
.
finisedCallBack
=
{
AdvManager
.
shared
.
finisedCallBack
=
{
...
...
PhoneManager/Class/Session/Settings/View/SettingViewHeaderCell.swift
View file @
88d52922
...
@@ -21,7 +21,7 @@ class SettingViewHeaderCell : UITableViewCell {
...
@@ -21,7 +21,7 @@ class SettingViewHeaderCell : UITableViewCell {
lazy
var
fLabel
:
UILabel
=
{
lazy
var
fLabel
:
UILabel
=
{
let
label
=
UILabel
();
let
label
=
UILabel
();
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
label
.
text
=
"Unlock Unlimited Access"
label
.
text
=
"Unlock Unlimited Access"
}
else
{
}
else
{
label
.
text
=
"Phone Manager Pro Edition"
label
.
text
=
"Phone Manager Pro Edition"
...
@@ -36,7 +36,7 @@ class SettingViewHeaderCell : UITableViewCell {
...
@@ -36,7 +36,7 @@ class SettingViewHeaderCell : UITableViewCell {
lazy
var
sLabel
:
UILabel
=
{
lazy
var
sLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
numberOfLines
=
0
label
.
numberOfLines
=
0
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
label
.
text
=
"Enjoy unlimited access with all Cleanup features"
label
.
text
=
"Enjoy unlimited access with all Cleanup features"
}
else
{
}
else
{
label
.
text
=
"You can now access all Phone Manager features without restrictions"
label
.
text
=
"You can now access all Phone Manager features without restrictions"
...
@@ -101,7 +101,7 @@ class SettingViewHeaderCell : UITableViewCell {
...
@@ -101,7 +101,7 @@ class SettingViewHeaderCell : UITableViewCell {
make
.
left
.
equalToSuperview
()
.
offset
(
15
)
make
.
left
.
equalToSuperview
()
.
offset
(
15
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
top
.
equalTo
(
fLabel
.
snp
.
bottom
)
.
offset
(
4
)
make
.
top
.
equalTo
(
fLabel
.
snp
.
bottom
)
.
offset
(
4
)
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
make
.
height
.
equalTo
(
20
)
make
.
height
.
equalTo
(
20
)
}
else
{
}
else
{
make
.
height
.
equalTo
(
42
)
make
.
height
.
equalTo
(
42
)
...
@@ -116,7 +116,7 @@ class SettingViewHeaderCell : UITableViewCell {
...
@@ -116,7 +116,7 @@ class SettingViewHeaderCell : UITableViewCell {
self
.
moreButton
.
snp
.
makeConstraints
{
make
in
self
.
moreButton
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalTo
(
245
)
make
.
width
.
equalTo
(
245
)
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
make
.
height
.
equalTo
(
46
)
make
.
height
.
equalTo
(
46
)
}
else
{
}
else
{
make
.
height
.
equalTo
(
0
)
make
.
height
.
equalTo
(
0
)
...
...
PhoneManager/Class/Session/Settings/ViewController/SettingViewController.swift
View file @
88d52922
...
@@ -138,7 +138,7 @@ class SettingViewController : BaseViewController , UITableViewDelegate, UITableV
...
@@ -138,7 +138,7 @@ class SettingViewController : BaseViewController , UITableViewDelegate, UITableV
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
if
indexPath
.
section
==
0
{
if
indexPath
.
section
==
0
{
if
HomePayModel
.
share
.
isNoA
d
==
false
{
if
IAPManager
.
share
.
isSubscribe
d
==
false
{
return
385
return
385
}
else
{
}
else
{
return
339
return
339
...
...
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