From 12bc8a053ef80143377606108b91f723a8db5358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=86=E6=B5=B716?= <> Date: Fri, 2 Aug 2024 17:04:52 +0800 Subject: [PATCH] =?UTF-8?q?b=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anniversary_Project.xcodeproj/project.pbxproj | 200 ++++++--- anniversary_Project/Add/C/AV_AddVC.swift | 4 +- anniversary_Project/AppDelegate.swift | 76 ++-- anniversary_Project/Home/C/AV_DetalisVC.swift | 3 +- .../Drink_water/waterC/AV_AddWaterVC.swift | 3 +- .../waterC/AV_WaterSettingVC.swift | 31 +- anniversary_Project/Info.plist | 6 - .../GoogleService-Info.plist | 0 anniversary_Project/Me/C/AV_MineVC.swift | 3 +- .../Player/AV_AddPlayerVC.swift | 262 ----------- anniversary_Project/Player/AV_AddPlayerVC.xib | 312 -------------- .../Player/AV_MinePlayerVC.swift | 229 ---------- .../Player/AV_MinePlayerVC.xib | 160 ------- .../Player/AV_RootPlayerVC.swift | 408 ------------------ .../Player/AV_RootPlayerVC.xib | 113 ----- .../Player/AV_WaterKeyBordPlayerVC.swift | 317 -------------- .../Player/AV_WaterKeyBordPlayerVC.xib | 98 ----- .../Tool/ADopen/adNetWork.swift | 24 +- .../Tool/CircularProgressBarView.swift | 2 +- anniversary_Project/Tool/ip+idfa+ADID.swift | 1 + anniversary_Project/header/AV_header.h | 13 - anniversary_Project/header/anniversaryPCH.pch | 16 + .../anniversary_Project-Bridging-Header.h | 18 + anniversary_Project/playB/OneVC.h | 16 + anniversary_Project/playB/OneVC.m | 23 + anniversary_Project/playB/threeVC.h | 16 + anniversary_Project/playB/threeVC.m | 31 ++ anniversary_Project/playB/twoVC.h | 16 + anniversary_Project/playB/twoVC.m | 31 ++ 29 files changed, 375 insertions(+), 2057 deletions(-) rename anniversary_Project/{ => LuxADManager}/GoogleService-Info.plist (100%) delete mode 100644 anniversary_Project/Player/AV_AddPlayerVC.swift delete mode 100644 anniversary_Project/Player/AV_AddPlayerVC.xib delete mode 100644 anniversary_Project/Player/AV_MinePlayerVC.swift delete mode 100644 anniversary_Project/Player/AV_MinePlayerVC.xib delete mode 100644 anniversary_Project/Player/AV_RootPlayerVC.swift delete mode 100644 anniversary_Project/Player/AV_RootPlayerVC.xib delete mode 100644 anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift delete mode 100644 anniversary_Project/Player/AV_WaterKeyBordPlayerVC.xib delete mode 100644 anniversary_Project/header/AV_header.h create mode 100644 anniversary_Project/header/anniversaryPCH.pch create mode 100644 anniversary_Project/header/anniversary_Project-Bridging-Header.h create mode 100644 anniversary_Project/playB/OneVC.h create mode 100644 anniversary_Project/playB/OneVC.m create mode 100644 anniversary_Project/playB/threeVC.h create mode 100644 anniversary_Project/playB/threeVC.m create mode 100644 anniversary_Project/playB/twoVC.h create mode 100644 anniversary_Project/playB/twoVC.m diff --git a/anniversary_Project.xcodeproj/project.pbxproj b/anniversary_Project.xcodeproj/project.pbxproj index 0cd300f..c2a69b0 100644 --- a/anniversary_Project.xcodeproj/project.pbxproj +++ b/anniversary_Project.xcodeproj/project.pbxproj @@ -38,6 +38,7 @@ 755073C72C3F81B400ADFD6B /* AV_LaunchLimitesVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 755073C52C3F81B400ADFD6B /* AV_LaunchLimitesVC.xib */; }; 755073C92C3F837700ADFD6B /* ip+idfa+ADID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 755073C82C3F837700ADFD6B /* ip+idfa+ADID.swift */; }; 755073CB2C3F843A00ADFD6B /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 755073CA2C3F843A00ADFD6B /* NetworkManager.swift */; }; + 7559FE5D2C58C58D006A3D80 /* LuxADConfigure.m in Sources */ = {isa = PBXBuildFile; fileRef = 7559FE5C2C58C58D006A3D80 /* LuxADConfigure.m */; }; 759616622C35244A00363C46 /* AV_SelectGenderVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759616602C35244A00363C46 /* AV_SelectGenderVC.swift */; }; 759616632C35244A00363C46 /* AV_SelectGenderVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 759616612C35244A00363C46 /* AV_SelectGenderVC.xib */; }; 759616682C3525AD00363C46 /* AV_SelectGenderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759616662C3525AD00363C46 /* AV_SelectGenderCell.swift */; }; @@ -46,6 +47,14 @@ 759616712C35348A00363C46 /* AV_SportsVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7596166F2C35348A00363C46 /* AV_SportsVC.xib */; }; 759616742C353BEF00363C46 /* AV_SportsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759616722C353BEF00363C46 /* AV_SportsCell.swift */; }; 759616752C353BEF00363C46 /* AV_SportsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 759616732C353BEF00363C46 /* AV_SportsCell.xib */; }; + 75A3DFAE2C588772002AEACE /* LuxADManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFA22C588772002AEACE /* LuxADManager.m */; }; + 75A3DFAF2C588772002AEACE /* LuxADSSModeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFA42C588772002AEACE /* LuxADSSModeVC.m */; }; + 75A3DFB02C588772002AEACE /* LuxADSuperVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFA62C588772002AEACE /* LuxADSuperVC.m */; }; + 75A3DFB12C588772002AEACE /* LuxADVCControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFA82C588772002AEACE /* LuxADVCControl.m */; }; + 75A3DFB22C588772002AEACE /* LuxNetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFAA2C588772002AEACE /* LuxNetManager.m */; }; + 75A3DFBC2C5895D9002AEACE /* OneVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFBB2C5895D9002AEACE /* OneVC.m */; }; + 75A3DFBF2C5895EA002AEACE /* twoVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFBE2C5895EA002AEACE /* twoVC.m */; }; + 75A3DFC22C5895F6002AEACE /* threeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A3DFC12C5895F6002AEACE /* threeVC.m */; }; 75C0A1322BC787A400AB0094 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75C0A1312BC787A400AB0094 /* AppDelegate.swift */; }; 75C0A1362BC787A500AB0094 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75C0A1352BC787A500AB0094 /* ViewController.swift */; }; 75C0A1392BC787A500AB0094 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 75C0A1372BC787A500AB0094 /* Main.storyboard */; }; @@ -75,14 +84,6 @@ 75C4E0B92C367EAE00B4C170 /* AV_WaterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75C4E0B62C367EAE00B4C170 /* AV_WaterCell.swift */; }; 75C4E0BC2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75C4E0BB2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.xib */; }; 75C4E0BD2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75C4E0BA2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.swift */; }; - 75F3F3D22C4CE23200005A7E /* AV_RootPlayerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F3F3D02C4CE23200005A7E /* AV_RootPlayerVC.swift */; }; - 75F3F3D32C4CE23200005A7E /* AV_RootPlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3D12C4CE23200005A7E /* AV_RootPlayerVC.xib */; }; - 75F3F3D62C4CE32000005A7E /* AV_AddPlayerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F3F3D42C4CE32000005A7E /* AV_AddPlayerVC.swift */; }; - 75F3F3D72C4CE32000005A7E /* AV_AddPlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3D52C4CE32000005A7E /* AV_AddPlayerVC.xib */; }; - 75F3F3DA2C4CE5F600005A7E /* AV_MinePlayerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F3F3D82C4CE5F600005A7E /* AV_MinePlayerVC.swift */; }; - 75F3F3DB2C4CE5F600005A7E /* AV_MinePlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3D92C4CE5F600005A7E /* AV_MinePlayerVC.xib */; }; - 75F3F3DE2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F3F3DC2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift */; }; - 75F3F3DF2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3DD2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib */; }; 75FAEF2E2C3E5D9800298C7D /* CircularProgressBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75FAEF2D2C3E5D9700298C7D /* CircularProgressBarView.swift */; }; 75FAEF312C3E735800298C7D /* HealthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75FAEF302C3E735800298C7D /* HealthManager.swift */; }; 75FAEF342C3E8D7400298C7D /* AV_NoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75FAEF322C3E8D7400298C7D /* AV_NoneCell.swift */; }; @@ -117,7 +118,7 @@ /* Begin PBXFileReference section */ 54C12C891A8D806F1F2D9570 /* Pods_anniversary_Project.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_anniversary_Project.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 753B789D2C4FB1450007526F /* adNetWork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = adNetWork.swift; sourceTree = ""; }; + 753B789D2C4FB1450007526F /* adNetWork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = adNetWork.swift; sourceTree = ""; tabWidth = 5; }; 753C25882C3B8272006E2660 /* AV_WaterDayCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_WaterDayCell.swift; sourceTree = ""; }; 753C25892C3B8272006E2660 /* AV_WaterDayCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_WaterDayCell.xib; sourceTree = ""; }; 753C258C2C3B88F4006E2660 /* AV_BirtherDayTaskCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_BirtherDayTaskCell.swift; sourceTree = ""; }; @@ -148,6 +149,9 @@ 755073C52C3F81B400ADFD6B /* AV_LaunchLimitesVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_LaunchLimitesVC.xib; sourceTree = ""; }; 755073C82C3F837700ADFD6B /* ip+idfa+ADID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ip+idfa+ADID.swift"; sourceTree = ""; }; 755073CA2C3F843A00ADFD6B /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; + 7559FE5A2C58C2CF006A3D80 /* anniversaryPCH.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = anniversaryPCH.pch; sourceTree = ""; }; + 7559FE5B2C58C58D006A3D80 /* LuxADConfigure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuxADConfigure.h; sourceTree = ""; }; + 7559FE5C2C58C58D006A3D80 /* LuxADConfigure.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LuxADConfigure.m; sourceTree = ""; }; 759616602C35244A00363C46 /* AV_SelectGenderVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_SelectGenderVC.swift; sourceTree = ""; }; 759616612C35244A00363C46 /* AV_SelectGenderVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_SelectGenderVC.xib; sourceTree = ""; }; 759616662C3525AD00363C46 /* AV_SelectGenderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_SelectGenderCell.swift; sourceTree = ""; }; @@ -156,6 +160,23 @@ 7596166F2C35348A00363C46 /* AV_SportsVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_SportsVC.xib; sourceTree = ""; }; 759616722C353BEF00363C46 /* AV_SportsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_SportsCell.swift; sourceTree = ""; }; 759616732C353BEF00363C46 /* AV_SportsCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_SportsCell.xib; sourceTree = ""; }; + 75A3DFA12C588772002AEACE /* LuxADManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuxADManager.h; sourceTree = ""; }; + 75A3DFA22C588772002AEACE /* LuxADManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LuxADManager.m; sourceTree = ""; }; + 75A3DFA32C588772002AEACE /* LuxADSSModeVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuxADSSModeVC.h; sourceTree = ""; }; + 75A3DFA42C588772002AEACE /* LuxADSSModeVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LuxADSSModeVC.m; sourceTree = ""; }; + 75A3DFA52C588772002AEACE /* LuxADSuperVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuxADSuperVC.h; sourceTree = ""; }; + 75A3DFA62C588772002AEACE /* LuxADSuperVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LuxADSuperVC.m; sourceTree = ""; }; + 75A3DFA72C588772002AEACE /* LuxADVCControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuxADVCControl.h; sourceTree = ""; }; + 75A3DFA82C588772002AEACE /* LuxADVCControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LuxADVCControl.m; sourceTree = ""; }; + 75A3DFA92C588772002AEACE /* LuxNetManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuxNetManager.h; sourceTree = ""; }; + 75A3DFAA2C588772002AEACE /* LuxNetManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LuxNetManager.m; sourceTree = ""; }; + 75A3DFB82C588B16002AEACE /* anniversary_Project-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "anniversary_Project-Bridging-Header.h"; sourceTree = ""; }; + 75A3DFBA2C5895D9002AEACE /* OneVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OneVC.h; sourceTree = ""; }; + 75A3DFBB2C5895D9002AEACE /* OneVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OneVC.m; sourceTree = ""; }; + 75A3DFBD2C5895EA002AEACE /* twoVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = twoVC.h; sourceTree = ""; }; + 75A3DFBE2C5895EA002AEACE /* twoVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = twoVC.m; sourceTree = ""; }; + 75A3DFC02C5895F6002AEACE /* threeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = threeVC.h; sourceTree = ""; }; + 75A3DFC12C5895F6002AEACE /* threeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = threeVC.m; sourceTree = ""; }; 75C0A12E2BC787A400AB0094 /* anniversary_Project.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = anniversary_Project.app; sourceTree = BUILT_PRODUCTS_DIR; }; 75C0A1312BC787A400AB0094 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 75C0A1352BC787A500AB0094 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -183,21 +204,12 @@ 75C0A1F22BCCD48A00AB0094 /* AV_TaskCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_TaskCell.swift; sourceTree = ""; }; 75C0A1F32BCCD48A00AB0094 /* AV_TaskCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_TaskCell.xib; sourceTree = ""; }; 75C0A1F62BCD027A00AB0094 /* color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = color.swift; sourceTree = ""; }; - 75C0A1F92BCD06EB00AB0094 /* AV_header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AV_header.h; sourceTree = ""; }; 75C4E0AF2C36792900B4C170 /* AV_WaterHomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_WaterHomeVC.swift; sourceTree = ""; }; 75C4E0B02C36792900B4C170 /* AV_WaterHomeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_WaterHomeVC.xib; sourceTree = ""; }; 75C4E0B62C367EAE00B4C170 /* AV_WaterCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_WaterCell.swift; sourceTree = ""; }; 75C4E0B72C367EAE00B4C170 /* AV_WaterCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_WaterCell.xib; sourceTree = ""; }; 75C4E0BA2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_AddWaterCollectionViewCell.swift; sourceTree = ""; }; 75C4E0BB2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_AddWaterCollectionViewCell.xib; sourceTree = ""; }; - 75F3F3D02C4CE23200005A7E /* AV_RootPlayerVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_RootPlayerVC.swift; sourceTree = ""; }; - 75F3F3D12C4CE23200005A7E /* AV_RootPlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_RootPlayerVC.xib; sourceTree = ""; }; - 75F3F3D42C4CE32000005A7E /* AV_AddPlayerVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_AddPlayerVC.swift; sourceTree = ""; }; - 75F3F3D52C4CE32000005A7E /* AV_AddPlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_AddPlayerVC.xib; sourceTree = ""; }; - 75F3F3D82C4CE5F600005A7E /* AV_MinePlayerVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_MinePlayerVC.swift; sourceTree = ""; }; - 75F3F3D92C4CE5F600005A7E /* AV_MinePlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_MinePlayerVC.xib; sourceTree = ""; }; - 75F3F3DC2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_WaterKeyBordPlayerVC.swift; sourceTree = ""; }; - 75F3F3DD2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_WaterKeyBordPlayerVC.xib; sourceTree = ""; }; 75FAEF2D2C3E5D9700298C7D /* CircularProgressBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularProgressBarView.swift; sourceTree = ""; }; 75FAEF2F2C3E723A00298C7D /* anniversary_Project.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = anniversary_Project.entitlements; sourceTree = ""; }; 75FAEF302C3E735800298C7D /* HealthManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HealthManager.swift; sourceTree = ""; }; @@ -320,6 +332,39 @@ path = V; sourceTree = ""; }; + 75A3DFAB2C588772002AEACE /* LuxADManager */ = { + isa = PBXGroup; + children = ( + 7559FE5B2C58C58D006A3D80 /* LuxADConfigure.h */, + 7559FE5C2C58C58D006A3D80 /* LuxADConfigure.m */, + 755073C22C3F7FC200ADFD6B /* GoogleService-Info.plist */, + 75A3DFA12C588772002AEACE /* LuxADManager.h */, + 75A3DFA22C588772002AEACE /* LuxADManager.m */, + 75A3DFA32C588772002AEACE /* LuxADSSModeVC.h */, + 75A3DFA42C588772002AEACE /* LuxADSSModeVC.m */, + 75A3DFA52C588772002AEACE /* LuxADSuperVC.h */, + 75A3DFA62C588772002AEACE /* LuxADSuperVC.m */, + 75A3DFA72C588772002AEACE /* LuxADVCControl.h */, + 75A3DFA82C588772002AEACE /* LuxADVCControl.m */, + 75A3DFA92C588772002AEACE /* LuxNetManager.h */, + 75A3DFAA2C588772002AEACE /* LuxNetManager.m */, + ); + path = LuxADManager; + sourceTree = ""; + }; + 75A3DFB92C5895BF002AEACE /* playB */ = { + isa = PBXGroup; + children = ( + 75A3DFBA2C5895D9002AEACE /* OneVC.h */, + 75A3DFBB2C5895D9002AEACE /* OneVC.m */, + 75A3DFBD2C5895EA002AEACE /* twoVC.h */, + 75A3DFBE2C5895EA002AEACE /* twoVC.m */, + 75A3DFC02C5895F6002AEACE /* threeVC.h */, + 75A3DFC12C5895F6002AEACE /* threeVC.m */, + ); + path = playB; + sourceTree = ""; + }; 75C0A1252BC787A400AB0094 = { isa = PBXGroup; children = ( @@ -345,8 +390,8 @@ 75C0A1302BC787A400AB0094 /* anniversary_Project */ = { isa = PBXGroup; children = ( - 75F3F3CE2C4CE20F00005A7E /* Player */, - 755073C22C3F7FC200ADFD6B /* GoogleService-Info.plist */, + 75A3DFB92C5895BF002AEACE /* playB */, + 75A3DFAB2C588772002AEACE /* LuxADManager */, 75FAEF2F2C3E723A00298C7D /* anniversary_Project.entitlements */, 7596165F2C35242200363C46 /* Guidepages */, 75C0A1F82BCD06DC00AB0094 /* header */, @@ -489,7 +534,8 @@ 75C0A1F82BCD06DC00AB0094 /* header */ = { isa = PBXGroup; children = ( - 75C0A1F92BCD06EB00AB0094 /* AV_header.h */, + 75A3DFB82C588B16002AEACE /* anniversary_Project-Bridging-Header.h */, + 7559FE5A2C58C2CF006A3D80 /* anniversaryPCH.pch */, ); path = header; sourceTree = ""; @@ -527,21 +573,6 @@ path = waterV; sourceTree = ""; }; - 75F3F3CE2C4CE20F00005A7E /* Player */ = { - isa = PBXGroup; - children = ( - 75F3F3D02C4CE23200005A7E /* AV_RootPlayerVC.swift */, - 75F3F3D12C4CE23200005A7E /* AV_RootPlayerVC.xib */, - 75F3F3D42C4CE32000005A7E /* AV_AddPlayerVC.swift */, - 75F3F3D52C4CE32000005A7E /* AV_AddPlayerVC.xib */, - 75F3F3D82C4CE5F600005A7E /* AV_MinePlayerVC.swift */, - 75F3F3D92C4CE5F600005A7E /* AV_MinePlayerVC.xib */, - 75F3F3DC2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift */, - 75F3F3DD2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib */, - ); - path = Player; - sourceTree = ""; - }; 75FDC0B02BCE1C56005B3D13 /* V */ = { isa = PBXGroup; children = ( @@ -675,8 +706,6 @@ 755073C72C3F81B400ADFD6B /* AV_LaunchLimitesVC.xib in Resources */, 755073C32C3F7FC200ADFD6B /* GoogleService-Info.plist in Resources */, 759616752C353BEF00363C46 /* AV_SportsCell.xib in Resources */, - 75F3F3D32C4CE23200005A7E /* AV_RootPlayerVC.xib in Resources */, - 75F3F3D72C4CE32000005A7E /* AV_AddPlayerVC.xib in Resources */, 754C97D12C3D0F7100A0455D /* AV_selectWeightVC.xib in Resources */, 754835022C3D04F300AC6F8F /* AV_WaterSettingVC.xib in Resources */, 759616712C35348A00363C46 /* AV_SportsVC.xib in Resources */, @@ -693,9 +722,7 @@ 75C0A16D2BC789F900AB0094 /* AV_HomeVC.xib in Resources */, 75C0A1392BC787A500AB0094 /* Main.storyboard in Resources */, 75FDC0CD2BCF77C9005B3D13 /* AV_PivacyVC.xib in Resources */, - 75F3F3DB2C4CE5F600005A7E /* AV_MinePlayerVC.xib in Resources */, 754C97DD2C3D2EAA00A0455D /* AV_TemperatureVC.xib in Resources */, - 75F3F3DF2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib in Resources */, 754C97D72C3D253200A0455D /* AV_selectWeightCell.xib in Resources */, 759616632C35244A00363C46 /* AV_SelectGenderVC.xib in Resources */, 75C4E0B12C36792900B4C170 /* AV_WaterHomeVC.xib in Resources */, @@ -804,9 +831,10 @@ 75FAEF312C3E735800298C7D /* HealthManager.swift in Sources */, 754835032C3D04F300AC6F8F /* AV_WaterSettingVC.swift in Sources */, 75C0A1F72BCD027A00AB0094 /* color.swift in Sources */, - 75F3F3DA2C4CE5F600005A7E /* AV_MinePlayerVC.swift in Sources */, 75C0A1F42BCCD48A00AB0094 /* AV_TaskCell.swift in Sources */, + 75A3DFBC2C5895D9002AEACE /* OneVC.m in Sources */, 754C97DA2C3D258700A0455D /* weightView.swift in Sources */, + 75A3DFAF2C588772002AEACE /* LuxADSSModeVC.m in Sources */, 75C0A1632BC7897600AB0094 /* AV_RootVC.swift in Sources */, 754C97D42C3D1E5500A0455D /* ageView.swift in Sources */, 753C25932C3BC46B006E2660 /* NotificationCenter.swift in Sources */, @@ -814,28 +842,32 @@ 753C258B2C3B8272006E2660 /* AV_WaterDayCell.swift in Sources */, 759616742C353BEF00363C46 /* AV_SportsCell.swift in Sources */, 75C0A17A2BC791B400AB0094 /* AV_usermodel.swift in Sources */, + 75A3DFB02C588772002AEACE /* LuxADSuperVC.m in Sources */, 75C0A1722BC78A1B00AB0094 /* AV_MineVC.swift in Sources */, 753C25912C3BBA9D006E2660 /* AV_WaveView.swift in Sources */, - 75F3F3D22C4CE23200005A7E /* AV_RootPlayerVC.swift in Sources */, + 75A3DFAE2C588772002AEACE /* LuxADManager.m in Sources */, 75FAEF2E2C3E5D9800298C7D /* CircularProgressBarView.swift in Sources */, 753C259B2C3BED09006E2660 /* AV_AddWaterVCCollectionViewCell.swift in Sources */, 75FDC0B72BCE2F37005B3D13 /* AV_DetalisVC.swift in Sources */, + 75A3DFB22C588772002AEACE /* LuxNetManager.m in Sources */, 75FDC0B32BCE1F4F005B3D13 /* AV_CalenDarcell.swift in Sources */, - 75F3F3DE2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift in Sources */, 759616622C35244A00363C46 /* AV_SelectGenderVC.swift in Sources */, 753C25972C3BE9D5006E2660 /* AV_AddWaterVC.swift in Sources */, - 75F3F3D62C4CE32000005A7E /* AV_AddPlayerVC.swift in Sources */, + 75A3DFBF2C5895EA002AEACE /* twoVC.m in Sources */, + 75A3DFB12C588772002AEACE /* LuxADVCControl.m in Sources */, 754C97E22C3D453800A0455D /* AV_pagesAllVC.swift in Sources */, 75C0A1762BC78F3300AB0094 /* WCDB.swift in Sources */, 754C97DE2C3D2EAA00A0455D /* AV_TemperatureVC.swift in Sources */, 754C97D22C3D0F7100A0455D /* AV_selectWeightVC.swift in Sources */, 753C259F2C3BEFB8006E2660 /* AV_ScrollingScaleView.swift in Sources */, 753C25A22C3BF4A1006E2660 /* MLSliderRulerView.swift in Sources */, + 75A3DFC22C5895F6002AEACE /* threeVC.m in Sources */, 753C25A32C3BF4A1006E2660 /* MLSliderRulerScrollView.swift in Sources */, 755073C62C3F81B400ADFD6B /* AV_LaunchLimitesVC.swift in Sources */, 75C4E0BD2C3681A400B4C170 /* AV_AddWaterCollectionViewCell.swift in Sources */, 75C0A16C2BC789F900AB0094 /* AV_HomeVC.swift in Sources */, 75C0A1322BC787A400AB0094 /* AppDelegate.swift in Sources */, + 7559FE5D2C58C58D006A3D80 /* LuxADConfigure.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1018,13 +1050,65 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = anniversary_Project/anniversary_Project.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; + DEFINES_MODULE = YES; DEVELOPMENT_TEAM = MK2ZG9GGT4; ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = "/Users/yihai16/Documents/纳克斯/纪念日/anniversary_Project/anniversary_Project/anniversary_Project/header/anniversaryPCH.pch"; GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/BRPickerView/BRPickerView.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FSCalendar/FSCalendar.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseSharedSwift/FirebaseSharedSwift.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RAMAnimatedTabBarController/RAMAnimatedTabBarController.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/WCDB.swift/WCDBSwift.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/WCDBOptimizedSQLCipher/sqlcipher.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/libwebp/libwebp.framework/Headers\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers\"", + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/BURelyFoundation_Global\"", + "\"${PODS_ROOT}/Headers/Public/Firebase\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/AppLovinDSPLinkedInAdapter/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/AppLovinMediationByteDanceAdapter/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/AppLovinMediationVungleAdapter/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/AFNetworking/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/APM/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/Foundation/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/Gecko/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/Header/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/NETWork/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/SDWebImage/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/YYModel/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/ZFPlayer/Headers\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/BURelyFoundation_Global/Zip/Headers\"", + "$(inherited)", + "${PODS_ROOT}/Firebase/CoreOnly/Sources", + "\"$(inherited) non-recursive\"", + ); INFOPLIST_FILE = anniversary_Project/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Watermore\n"; + INFOPLIST_KEY_NSHealthShareUsageDescription = "When we record drinking water on the home page, we need to read your health data in order to analyze your drinking habits."; + INFOPLIST_KEY_NSHealthUpdateUsageDescription = "When we record drinking water on the home page, we need to enter your health data to record your water intake"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "We need to access your photo album so you can add reminders for anniversaries or birthdays"; + INFOPLIST_KEY_NSUserTrackingUsageDescription = "\"Watermore\" needs to request tracking permissions to provide a personalized advertising experience. We respect and protect your privacy and will not sell your data to third parties."; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UIMainStoryboardFile = Main; @@ -1034,7 +1118,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.1; + MARKETING_VERSION = 2.2; PRODUCT_BUNDLE_IDENTIFIER = com.countdown.day.daycount; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -1042,9 +1126,14 @@ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/anniversary_Project/header/AV_header.h"; + SWIFT_OBJC_BRIDGING_HEADER = "/Users/yihai16/Documents/纳克斯/纪念日/anniversary_Project/anniversary_Project/anniversary_Project/header/anniversary_Project-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; + USER_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/libwebp/src", + "\"${PODS_ROOT} recursive\"", + ); }; name = Debug; }; @@ -1056,13 +1145,19 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = anniversary_Project/anniversary_Project.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; + DEFINES_MODULE = YES; DEVELOPMENT_TEAM = MK2ZG9GGT4; ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = "/Users/yihai16/Documents/纳克斯/纪念日/anniversary_Project/anniversary_Project/anniversary_Project/header/anniversaryPCH.pch"; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = anniversary_Project/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Watermore\n"; + INFOPLIST_KEY_NSHealthShareUsageDescription = "When we record drinking water on the home page, we need to read your health data in order to analyze your drinking habits."; + INFOPLIST_KEY_NSHealthUpdateUsageDescription = "When we record drinking water on the home page, we need to enter your health data to record your water intake"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "We need to access your photo album so you can add reminders for anniversaries or birthdays"; + INFOPLIST_KEY_NSUserTrackingUsageDescription = "\"Watermore\" needs to request tracking permissions to provide a personalized advertising experience. We respect and protect your privacy and will not sell your data to third parties."; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UIMainStoryboardFile = Main; @@ -1072,7 +1167,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.1; + MARKETING_VERSION = 2.2; PRODUCT_BUNDLE_IDENTIFIER = com.countdown.day.daycount; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; @@ -1080,9 +1175,14 @@ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/anniversary_Project/header/AV_header.h"; + SWIFT_OBJC_BRIDGING_HEADER = "/Users/yihai16/Documents/纳克斯/纪念日/anniversary_Project/anniversary_Project/anniversary_Project/header/anniversary_Project-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; + USER_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/libwebp/src", + "\"${PODS_ROOT} recursive\"", + ); }; name = Release; }; diff --git a/anniversary_Project/Add/C/AV_AddVC.swift b/anniversary_Project/Add/C/AV_AddVC.swift index a6518d0..0a5471a 100644 --- a/anniversary_Project/Add/C/AV_AddVC.swift +++ b/anniversary_Project/Add/C/AV_AddVC.swift @@ -550,7 +550,9 @@ extension AV_AddVC: MAAdDelegate { func createInterstitialAd() { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "8fccdfa964b52e26") + + let randomString = getRandomString() + interstitialAd = MAInterstitialAd(adUnitIdentifier: randomString ?? "8fccdfa964b52e26") interstitialAd.delegate = self // Load the first ad diff --git a/anniversary_Project/AppDelegate.swift b/anniversary_Project/AppDelegate.swift index 158d3ad..df3c04a 100644 --- a/anniversary_Project/AppDelegate.swift +++ b/anniversary_Project/AppDelegate.swift @@ -18,60 +18,19 @@ import Alamofire class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDelegate { var window: UIWindow? - let hasLaunchedBeforeKey = "hasLaunchedBefore" + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - FirebaseApp.configure() + +// window = UIWindow() +// window?.frame = UIScreen.main.bounds IQKeyboardManager.shared.enable = true - self.window?.frame = UIScreen.main.bounds - UNUserNotificationCenter.current().delegate = self - // let vc = AV_RootTabbarVC() - // self.window?.rootViewController = AV_NAVVC(rootViewController: vc) - let userDefaults = UserDefaults.standard - let initConfig = ALSdkInitializationConfiguration(sdkKey: "NLQHJDx4rcfd5IqhZf9nad2tIqFSH8SSKP3DXD18sTKUvV6tBfrH9_RPCGb6hvEn3NPXJDmUQCnvnKgHIT7Qn4") { builder in - builder.mediationProvider = ALMediationProviderMAX - } + LuxADConfigure.shareInstance().checkATT() + LuxADConfigure.shareInstance().configureADByFirebase(with: self.window!) - if userDefaults.bool(forKey: hasLaunchedBeforeKey) { -// let vc = AV_LaunchLimitesVC() - if userDefaults.bool(forKey: "iswindows"){ - // 不是第一次启动 - let vc = AV_RootPlayerVC() - self.window?.rootViewController = AV_NAVVC(rootViewController: vc) - ALSdk.shared().initialize(with: initConfig) { sdkConfig in - // Start loading ads - - } - }else{ - // 不是第一次启动 - let vc = AV_LaunchLimitesVC() - self.window?.rootViewController = AV_NAVVC(rootViewController: vc) - ALSdk.shared().initialize(with: initConfig) { sdkConfig in - // Start loading ads - vc.createInterstitialAd() - - } - } - -// self.window?.rootViewController = AV_NAVVC(rootViewController: vc) - } else { - // 第一次启动 - let vc = AV_SelectGenderVC() - self.window?.rootViewController = AV_NAVVC(rootViewController: vc) - userDefaults.set(true, forKey: hasLaunchedBeforeKey) - - setdispatch() - stePermissions() - let currentDate = Date() - // 使用 UserDefaults 存储日期 - let defaults = UserDefaults.standard - defaults.set(currentDate, forKey: "savedDate") - - ALSdk.shared().initialize(with: initConfig) { sdkConfig in - - } - - } + setdispatch() + stePermissions() self.window?.makeKeyAndVisible() @@ -83,10 +42,27 @@ class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDe return true } + + + // 当应用将要进入前台时调用(从后台到前台的过渡) + func applicationWillEnterForeground(_ application: UIApplication) { + + } + + // 当应用已经进入前台并变为活跃状态时调用 + func applicationDidBecomeActive(_ application: UIApplication) { + + LuxADManager.shareInstance().showOpenAD() + } + + + func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { completionHandler([.alert, .sound, .badge]) } + + func stePermissions(){ UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in if granted { diff --git a/anniversary_Project/Home/C/AV_DetalisVC.swift b/anniversary_Project/Home/C/AV_DetalisVC.swift index 00dfec3..0af60a0 100644 --- a/anniversary_Project/Home/C/AV_DetalisVC.swift +++ b/anniversary_Project/Home/C/AV_DetalisVC.swift @@ -275,7 +275,8 @@ extension AV_DetalisVC: MAAdDelegate { func createInterstitialAd() { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "7baed02646413e44") + let randomString = getRandomString() + interstitialAd = MAInterstitialAd(adUnitIdentifier: randomString ?? "7baed02646413e44") interstitialAd.delegate = self // Load the first ad diff --git a/anniversary_Project/Home/Drink_water/waterC/AV_AddWaterVC.swift b/anniversary_Project/Home/Drink_water/waterC/AV_AddWaterVC.swift index 2b91c67..b5d4010 100644 --- a/anniversary_Project/Home/Drink_water/waterC/AV_AddWaterVC.swift +++ b/anniversary_Project/Home/Drink_water/waterC/AV_AddWaterVC.swift @@ -318,7 +318,8 @@ extension AV_AddWaterVC: MAAdDelegate { func createInterstitialAd() { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "2e66a808a4251e3a") + let randomString = getRandomString() + interstitialAd = MAInterstitialAd(adUnitIdentifier: randomString ?? "2e66a808a4251e3a") interstitialAd.delegate = self // Load the first ad diff --git a/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift b/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift index 9998ec4..e011825 100644 --- a/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift +++ b/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift @@ -39,6 +39,8 @@ class AV_WaterSettingVC: AV_RootVC { var timer: Timer? override func viewDidLoad() { super.viewDidLoad() +// [LuxADManager configureSecureClick:self.view]; + LuxADManager.configureSecureClick(self.view) sersionV.layer.cornerRadius = 28 waterbgView.layer.cornerRadius = 28 @@ -108,32 +110,7 @@ class AV_WaterSettingVC: AV_RootVC { @IBAction func version(_ sender: Any) { - // 增加点击计数 - tapCount += 1 - - // 如果计数器为空,启动一个定时器 - if timer == nil { - timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(resetTapCount), userInfo: nil, repeats: false) - } - - // 检查是否点击了三次 - if tapCount == 6 { - // 执行你想要的操作 - print("连点6下") - - let appDelegate = UIApplication.shared.delegate - appDelegate?.window??.rootViewController = AV_NAVVC(rootViewController: AV_RootPlayerVC()) -// UserDefaults.standard.set(true, forKey: "iswindows") - UserDefaults.standard.set(true, forKey: "iswindows") - - - resetTapCount() - } - } - @objc func resetTapCount() { - // 重置计数器和定时器 - tapCount = 0 - timer?.invalidate() - timer = nil + } + } diff --git a/anniversary_Project/Info.plist b/anniversary_Project/Info.plist index 4c0e8d3..f3fde18 100644 --- a/anniversary_Project/Info.plist +++ b/anniversary_Project/Info.plist @@ -2,14 +2,8 @@ - NSUserTrackingUsageDescription - "Watermore" needs to request tracking permissions to provide a personalized advertising experience. We respect and protect your privacy and will not sell your data to third parties. ALSdkInitializationConfiguration NLQHJDx4rcfd5IqhZf9nad2tIqFSH8SSKP3DXD18sTKUvV6tBfrH9_RPCGb6hvEn3NPXJDmUQCnvnKgHIT7Qn4 - NSHealthShareUsageDescription - When we record drinking water on the home page, we need to read your health data in order to analyze your drinking habits. - NSHealthUpdateUsageDescription - When we record drinking water on the home page, we need to enter your health data to record your water intake FirebaseAutomaticScreenReportingEnabled NO NSAppTransportSecurity diff --git a/anniversary_Project/GoogleService-Info.plist b/anniversary_Project/LuxADManager/GoogleService-Info.plist similarity index 100% rename from anniversary_Project/GoogleService-Info.plist rename to anniversary_Project/LuxADManager/GoogleService-Info.plist diff --git a/anniversary_Project/Me/C/AV_MineVC.swift b/anniversary_Project/Me/C/AV_MineVC.swift index f25ae5e..a8ba531 100644 --- a/anniversary_Project/Me/C/AV_MineVC.swift +++ b/anniversary_Project/Me/C/AV_MineVC.swift @@ -406,7 +406,8 @@ extension AV_MineVC: MAAdDelegate { func createInterstitialAd() { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "bee9f7039e56cc7a") + let randomString = getRandomString() + interstitialAd = MAInterstitialAd(adUnitIdentifier: randomString ?? "bee9f7039e56cc7a") interstitialAd.delegate = self // Load the first ad diff --git a/anniversary_Project/Player/AV_AddPlayerVC.swift b/anniversary_Project/Player/AV_AddPlayerVC.swift deleted file mode 100644 index 66eb7bb..0000000 --- a/anniversary_Project/Player/AV_AddPlayerVC.swift +++ /dev/null @@ -1,262 +0,0 @@ -// -// AV_AddPlayerVC.swift -// anniversary_Project -// -// Created by 忆海16 on 2024/7/21. -// - -import UIKit - -import AppLovinSDK -import Alamofire -import FirebaseRemoteConfig - - - -class AV_AddPlayerVC: AV_RootVC { - - var retryAttempt = 0.0 - var interstitialAd: MAInterstitialAd! - var adCheckTimer: Timer? - var adCheckStartTime: Date? - var adLoadTime: Int = 0 - - override func viewDidLoad() { - super.viewDidLoad() - - startAdCheck() - } - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.navigationController?.navigationBar.isHidden = true - - } - ///定时加载 - func startAdCheck() { - - adCheckStartTime = Date() - adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) - } - - @objc func checkAdStatus() { - let elapsedTime = Date().timeIntervalSince(adCheckStartTime!) - let elapsedTimeInMilliseconds = Int(elapsedTime * 1000) - - if interstitialAd.isReady { - interstitialAd.show() - adLoadTime = elapsedTimeInMilliseconds // 记录加载 - adCheckTimer?.invalidate() - setShow() - - } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 - adCheckTimer?.invalidate() - self.navigationController?.popViewController(animated: true) - - } else { - print("广告未准备好,继续检查...") - } - } - - func setPostload(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - "showStatus": 0, - "washParam": true, - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - - - func setPostSHOW(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_show_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - -// func setshow(){ -// let parameters:[String : Any] = [ -// "appid": "com.countdown.day.daycount", -// "idfa":StartManager.shared.idfaid ?? "", -// "id":StartManager.shared.idOneAD, -// "ecpm":StartManager.shared.idOneprice ?? "", -// -// ] -// NetworkManager.shared.postRequest(url: StartManager.shared.showurl, parameters: parameters, headers: StartManager.shared.headers) { result in -// switch result { -// case .success(let data): -// print("Response:--- \(data)") -// if let status = data["status"] as? String, status == "Success" { -// if let needLoad = data["close"] as? Int { -// let seconds = millisecondsToSeconds(milliseconds: needLoad) -// -// DispatchQueue.main.asyncAfter(wallDeadline: .now() + seconds) { -// closeADWindow() -// } -// } -// } -// case .failure(let error): -// print("Error:--- \(error)") -// } -// } -// } - - func setShow() { - let idfa = StartManager.shared.idfaid - let adId = StartManager.shared.idOneAD - let ecpm = StartManager.shared.idOneprice - - AdLoader.shared.showAd(idfa: idfa, adId: adId, ecpm: ecpm) { result in - switch result { - case .success(let closeTime): break -// let seconds = millisecondsToSeconds(milliseconds: closeTime) -// DispatchQueue.main.asyncAfter(deadline: .now() + seconds) { -// closeADWindow() -// } - case .failure(let error): - print("Error:--- \(error)") - } - } - } -} - -extension AV_AddPlayerVC: MAAdDelegate -{ - func createInterstitialAd() - { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "bee9f7039e56cc7a") - interstitialAd.delegate = self - - // Load the first ad - interstitialAd.load() - - - } - - // MARK: MAAdDelegate Protocol - - func didLoad(_ ad: MAAd) - { - // Interstitial ad is ready to be shown. 'interstitialAd.isReady' will now return 'true' - - // Reset retry attempt - retryAttempt = 0 - StartManager.shared.succeed = true - // StartManager.shared.loadTime = self.adLoadTime - StartManager.shared.adPlatform = "MAX" - StartManager.shared.countryCode = ALSdk.shared().configuration.countryCode - StartManager.shared.adId = "bee9f7039e56cc7a" - StartManager.shared.platformResponseTime = ad.requestLatency - StartManager.shared.ecpm = Float(ad.revenue) - StartManager.shared.dsp = ad.dspName - StartManager.shared.network = ad.networkName - - - StartManager.shared.idOneprice = Float(ad.revenue) - print("----idOne\(Float(ad.revenue))") - setPostload() - } - - func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) - { - // Interstitial ad failed to load - // We recommend retrying with exponentially higher delays up to a maximum delay (in this case 64 seconds) - - retryAttempt += 1 - let delaySec = pow(2.0, min(6.0, retryAttempt)) - - DispatchQueue.main.asyncAfter(deadline: .now() + delaySec) { - self.interstitialAd.load() - } - } - - func didDisplay(_ ad: MAAd) - { - // Pause your app's background audio - } - - func didClick(_ ad: MAAd) {} - - func didHide(_ ad: MAAd) - { - // Resume your app's background audio - // Interstitial ad is hidden. Pre-load the next ad - interstitialAd.load() - self.navigationController?.popViewController(animated: true) - - } - - func didFail(toDisplay ad: MAAd, withError error: MAError) - { - // Interstitial ad failed to display. We recommend loading the next ad - interstitialAd.load() - } - - - -} diff --git a/anniversary_Project/Player/AV_AddPlayerVC.xib b/anniversary_Project/Player/AV_AddPlayerVC.xib deleted file mode 100644 index c511040..0000000 --- a/anniversary_Project/Player/AV_AddPlayerVC.xib +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/anniversary_Project/Player/AV_MinePlayerVC.swift b/anniversary_Project/Player/AV_MinePlayerVC.swift deleted file mode 100644 index 4cfa03f..0000000 --- a/anniversary_Project/Player/AV_MinePlayerVC.swift +++ /dev/null @@ -1,229 +0,0 @@ -// -// AV_MinePlayerVC.swift -// anniversary_Project -// -// Created by 忆海16 on 2024/7/21. -// - -import UIKit - - -import AppLovinSDK -import Alamofire -import FirebaseRemoteConfig - - -class AV_MinePlayerVC: AV_RootVC { - - - var retryAttempt = 0.0 - var interstitialAd: MAInterstitialAd! - var adCheckTimer: Timer? - var adCheckStartTime: Date? - var adLoadTime: Int = 0 - - - - override func viewDidLoad() { - super.viewDidLoad() - // self.createInterstitialAd() - startAdCheck() - } - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.navigationController?.navigationBar.isHidden = true - - } - ///定时加载 - func startAdCheck() { - // createInterstitialAd() - adCheckStartTime = Date() - adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) - } - - @objc func checkAdStatus() { - let elapsedTime = Date().timeIntervalSince(adCheckStartTime!) - let elapsedTimeInMilliseconds = Int(elapsedTime * 1000) - - if interstitialAd.isReady { - interstitialAd.show() - adLoadTime = elapsedTimeInMilliseconds // 记录加载 - adCheckTimer?.invalidate() - setShow() - } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 - adCheckTimer?.invalidate() - self.navigationController?.popViewController(animated: true) - - } else { - print("广告未准备好,继续检查...") - } - } - - func setPostload(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - "showStatus": 0, - "washParam": true, - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - - - func setPostSHOW(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_show_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - - - func setShow() { - let idfa = StartManager.shared.idfaid - let adId = StartManager.shared.idTwoAD - let ecpm = StartManager.shared.idTwoprice - - AdLoader.shared.showAd(idfa: idfa, adId: adId, ecpm: ecpm) { result in - switch result { - case .success(let closeTime): break -// let seconds = millisecondsToSeconds(milliseconds: closeTime) -// DispatchQueue.main.asyncAfter(deadline: .now() + seconds) { -// closeADWindow() -// } - case .failure(let error): - print("Error:--- \(error)") - } - } - } -} -extension AV_MinePlayerVC: MAAdDelegate -{ - func createInterstitialAd() - { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "8fccdfa964b52e26") - interstitialAd.delegate = self - - // Load the first ad - interstitialAd.load() - } - - // MARK: MAAdDelegate Protocol - - func didLoad(_ ad: MAAd) - { - // Interstitial ad is ready to be shown. 'interstitialAd.isReady' will now return 'true' - - // Reset retry attempt - retryAttempt = 0 - StartManager.shared.succeed = true - // StartManager.shared.loadTime = self.adLoadTime - StartManager.shared.adPlatform = "MAX" - StartManager.shared.countryCode = ALSdk.shared().configuration.countryCode - StartManager.shared.adId = "8fccdfa964b52e26" - StartManager.shared.platformResponseTime = ad.requestLatency - StartManager.shared.ecpm = Float(ad.revenue) - StartManager.shared.dsp = ad.dspName - StartManager.shared.network = ad.networkName - StartManager.shared.idTwoprice = Float(ad.revenue) - print("----idTwo\(Float(ad.revenue))") - setPostload() - } - - func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) - { - // Interstitial ad failed to load - // We recommend retrying with exponentially higher delays up to a maximum delay (in this case 64 seconds) - - retryAttempt += 1 - let delaySec = pow(2.0, min(6.0, retryAttempt)) - - DispatchQueue.main.asyncAfter(deadline: .now() + delaySec) { - self.interstitialAd.load() - } - } - - func didDisplay(_ ad: MAAd) - { - // Pause your app's background audio - } - - func didClick(_ ad: MAAd) {} - - func didHide(_ ad: MAAd) - { - // Resume your app's background audio - // Interstitial ad is hidden. Pre-load the next ad - interstitialAd.load() - self.navigationController?.popViewController(animated: true) - - } - - func didFail(toDisplay ad: MAAd, withError error: MAError) - { - // Interstitial ad failed to display. We recommend loading the next ad - interstitialAd.load() - } -} diff --git a/anniversary_Project/Player/AV_MinePlayerVC.xib b/anniversary_Project/Player/AV_MinePlayerVC.xib deleted file mode 100644 index 5a412e0..0000000 --- a/anniversary_Project/Player/AV_MinePlayerVC.xib +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/anniversary_Project/Player/AV_RootPlayerVC.swift b/anniversary_Project/Player/AV_RootPlayerVC.swift deleted file mode 100644 index c1ca0f1..0000000 --- a/anniversary_Project/Player/AV_RootPlayerVC.swift +++ /dev/null @@ -1,408 +0,0 @@ -// -// AV_RootPlayerVC.swift -// anniversary_Project -// -// Created by 忆海16 on 2024/7/21. -// - -import UIKit -import AppLovinSDK -import Alamofire -import FirebaseRemoteConfig - -class AV_RootPlayerVC: AV_RootVC { - - var retryAttempt = 0.0 - var interstitialAd1: MAInterstitialAd! - var interstitialAd2: MAInterstitialAd! - var interstitialAd3: MAInterstitialAd! - var adCheckTimer: Timer? - var adCheckStartTime: Date? - var adLoadTime: Int = 0 - - - - - override func viewDidLoad() { - super.viewDidLoad() - steIDFA() - self.createInterstitialAd() - } - - - @IBAction func backHome(_ sender: Any) { - let appDelegate = UIApplication.shared.delegate - appDelegate?.window??.rootViewController = AV_NAVVC(rootViewController: AV_WaterHomeVC()) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(true) - self.navigationController?.navigationBar.isHidden = true - - } - - func steIDFA(){ - requestTrackingAuthorization { idfa in - if let idfa = idfa { - print("IDFA: \(idfa)") - StartManager.shared.idfaid = idfa - print("Stored IDFA: \(StartManager.shared.idfaid ?? "N/A")") - } else { - print("IDFA is not available or tracking authorization denied.") - } - } - } - - -// bee9f7039e56cc7a - @IBAction func one(_ sender: Any) { - - let vc = AV_AddPlayerVC() - vc.interstitialAd = self.interstitialAd1 -// vc.createInterstitialAd() - self.navigationController?.pushViewController(vc, animated: true) - - } - -// 8fccdfa964b52e26 - @IBAction func two(_ sender: Any) { - - let vc = AV_MinePlayerVC() -// vc.createInterstitialAd() - vc.interstitialAd = self.interstitialAd2 - self.navigationController?.pushViewController(vc, animated: true) - - } - -// 7baed02646413e44 - @IBAction func three(_ sender: Any) { - - let vc = AV_WaterKeyBordPlayerVC() - vc.interstitialAd = self.interstitialAd3 -// vc.createInterstitialAd() - self.navigationController?.pushViewController(vc, animated: true) - - } - - -// func setLoaded1(){ -// let parameters:[String : Any] = [ -// "appid": "com.countdown.day.daycount", -// "idfa":StartManager.shared.idfaid ?? "", -// "ads": [ -// [ -// "id": StartManager.shared.idOneAD, -// "btn_position": [ -// "x": StartManager.shared.idOnex, -// "y": StartManager.shared.idOney -// ], -// "ecpm": StartManager.shared.idOne ?? "" -// ] -// ] -// ] -// NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in -// switch result { -// case .success(let data): -// print("Response:--- \(data)") -// if let status = data["status"] as? String, status == "Success" { -// if let needLoad = data["needload"] as? Int { -// if needLoad > 0 { -// print("Need to load \(needLoad) more ads.") -// // 执行加载更多广告的逻辑 -// } else { -// print("No need to load more ads.") -// // 不需要加载更多广告的逻辑 -// } -// } -// } -// case .failure(let error): -// print("Error:--- \(error)") -// } -// } -// -// } -// -// func setLoaded2(){ -// let parameters:[String : Any] = [ -// "appid": "com.countdown.day.daycount", -// "idfa":StartManager.shared.idfaid ?? "", -// "ads": [ -// [ -// "id": StartManager.shared.idTwoAD, -// "btn_position": [ -// "x": StartManager.shared.idTwox, -// "y": StartManager.shared.idTwoy -// ], -// "ecpm": StartManager.shared.idTwo ?? "" -// ] -// ] -// ] -// NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in -// switch result { -// case .success(let data): -// print("Response:--- \(data)") -// if let status = data["status"] as? String, status == "Success" { -// if let needLoad = data["needload"] as? Int { -// if needLoad > 0 { -// print("Need to load \(needLoad) more ads.") -// // 执行加载更多广告的逻辑 -// } else { -// print("No need to load more ads.") -// // 不需要加载更多广告的逻辑 -// } -// } -// } -// case .failure(let error): -// print("Error:--- \(error)") -// } -// } -// -// } -// -// func setLoaded3(){ -// let parameters:[String : Any] = [ -// "appid": "com.countdown.day.daycount", -// "idfa":StartManager.shared.idfaid ?? "", -// "ads": [ -// [ -// "id": StartManager.shared.idThreeAD, -// "btn_position": [ -// "x": StartManager.shared.idThreex, -// "y": StartManager.shared.idThreey -// ], -// "ecpm": StartManager.shared.idThree ?? "" -// ] -// ] -// ] -// NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers:StartManager.shared.headers) { result in -// switch result { -// case .success(let data): -// print("Response:--- \(data)") -// if let status = data["status"] as? String, status == "Success" { -// if let needLoad = data["needload"] as? Int { -// if needLoad > 0 { -// print("Need to load \(needLoad) more ads.") -// // 执行加载更多广告的逻辑 -// } else { -// print("No need to load more ads.") -// // 不需要加载更多广告的逻辑 -// } -// } -// } -// case .failure(let error): -// print("Error:--- \(error)") -// } -// } -// -// } - - - func setLoaded1() { - let idfa = StartManager.shared.idfaid - let adId = StartManager.shared.idOneAD - let btnPositionX = StartManager.shared.idOnex - let btnPositionY = StartManager.shared.idOney - let ecpm = StartManager.shared.idOneprice - - AdLoader.shared.loadAds( idfa: idfa, adId: adId, btnPositionX: btnPositionX, btnPositionY: btnPositionY, ecpm: ecpm) { result in - switch result { - case .success(let needLoad): - if needLoad > 0 { - print("Need to load \(needLoad) more ads.") - // 执行加载更多广告的逻辑 - } else { - print("No need to load more ads.") - // 不需要加载更多广告的逻辑 - } - case .failure(let error): - print("Error:--- \(error)") - } - } - } - - func setLoaded2() { - let idfa = StartManager.shared.idfaid - let adId = StartManager.shared.idTwoAD - let btnPositionX = StartManager.shared.idTwox - let btnPositionY = StartManager.shared.idTwoy - let ecpm = StartManager.shared.idTwoprice - - AdLoader.shared.loadAds( idfa: idfa, adId: adId, btnPositionX: btnPositionX, btnPositionY: btnPositionY, ecpm: ecpm) { result in - switch result { - case .success(let needLoad): - if needLoad > 0 { - print("Need to load \(needLoad) more ads.") - // 执行加载更多广告的逻辑 - } else { - print("No need to load more ads.") - // 不需要加载更多广告的逻辑 - } - case .failure(let error): - print("Error:--- \(error)") - } - } - } - - func setLoaded3() { - let idfa = StartManager.shared.idfaid - let adId = StartManager.shared.idThreeAD - let btnPositionX = StartManager.shared.idThreex - let btnPositionY = StartManager.shared.idThreey - let ecpm = StartManager.shared.idThreeprice - - AdLoader.shared.loadAds( idfa: idfa, adId: adId, btnPositionX: btnPositionX, btnPositionY: btnPositionY, ecpm: ecpm) { result in - switch result { - case .success(let needLoad): - if needLoad > 0 { - print("Need to load \(needLoad) more ads.") - // 执行加载更多广告的逻辑 - } else { - print("No need to load more ads.") - // 不需要加载更多广告的逻辑 - } - case .failure(let error): - print("Error:--- \(error)") - } - } - } - - -// func setclosed(adid:String){ -// let parameters:[String : Any] = [ -// "appid": "com.countdown.day.daycount", -// "idfa":StartManager.shared.idfaid ?? "", -// "id":adid, -// -// ] -// NetworkManager.shared.postRequest(url: StartManager.shared.closedUrl, parameters: parameters, headers: StartManager.shared.headers) { result in -// switch result { -// case .success(let data): -// print("Response:--- \(data)") -// case .failure(let error): -// print("Error:--- \(error)") -// } -// } -// } - -} - -extension AV_RootPlayerVC: MAAdDelegate -{ - func createInterstitialAd() - { - - if StartManager.shared.IDADType == 1{ - interstitialAd1 = MAInterstitialAd(adUnitIdentifier: "bee9f7039e56cc7a") - interstitialAd1.delegate = self - - // Load the first ad - interstitialAd1.load() - }else if StartManager.shared.IDADType == 2{ - interstitialAd2 = MAInterstitialAd(adUnitIdentifier: "8fccdfa964b52e26") - interstitialAd2.delegate = self - - // Load the first ad - interstitialAd2.load() - }else if StartManager.shared.IDADType == 3{ - - interstitialAd3 = MAInterstitialAd(adUnitIdentifier: "7baed02646413e44") - interstitialAd3.delegate = self - - // Load the first ad - interstitialAd3.load() - } - - - - } - - // MARK: MAAdDelegate Protocol - - func didLoad(_ ad: MAAd) - { - // Interstitial ad is ready to be shown. 'interstitialAd.isReady' will now return 'true' - // 插页式广告已准备好显示。'interstitialAd.isReady' 现在将返回 'true' - - // 重置重试尝试 - // Reset retry attempt - retryAttempt = 0 - StartManager.shared.succeed = true - // StartManager.shared.loadTime = self.adLoadTime - StartManager.shared.adPlatform = "MAX" - StartManager.shared.countryCode = ALSdk.shared().configuration.countryCode - StartManager.shared.adId = "bee9f7039e56cc7a" - StartManager.shared.platformResponseTime = ad.requestLatency - StartManager.shared.ecpm = Float(ad.revenue) - StartManager.shared.dsp = ad.dspName - StartManager.shared.network = ad.networkName -// StartManager.shared.idOne = Float(ad.revenue) - print("----idOne\(Float(ad.revenue))") -// setPostload() - - if StartManager.shared.IDADType == 1{ - StartManager.shared.idOneprice = Float(ad.revenue) - self.setLoaded1() - StartManager.shared.IDADType = 2 - createInterstitialAd() - }else if StartManager.shared.IDADType == 2{ - StartManager.shared.idTwoprice = Float(ad.revenue) - self.setLoaded2() - StartManager.shared.IDADType = 3 - createInterstitialAd() - }else if StartManager.shared.IDADType == 3{ - StartManager.shared.idThreeprice = Float(ad.revenue) - self.setLoaded3() - } - } - - func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) - { - // Interstitial ad failed to load - // We recommend retrying with exponentially higher delays up to a maximum delay (in this case 64 seconds) - // 插页广告加载失败 - // 我们建议以指数级更高的延迟重试,最大延迟为 64 秒 - - retryAttempt += 1 - let delaySec = pow(2.0, min(6.0, retryAttempt)) - - DispatchQueue.main.asyncAfter(deadline: .now() + delaySec) { - self.interstitialAd1.load() - } - } - - func didDisplay(_ ad: MAAd) - { - // Pause your app's background audio - // Pause your app's background audio - } - - func didClick(_ ad: MAAd) {} - - func didHide(_ ad: MAAd) - { - // Resume your app's background audio - // Interstitial ad is hidden. Pre-load the next ad - // 恢复应用的背景音频 - // 插页式广告已隐藏。预加载下一个广告 -// interstitialAd1.load() -// self.navigationController?.popViewController(animated: true) -// setclosed(adid: ad.adUnitIdentifier) - AdLoader.shared.closeAd(idfa: StartManager.shared.idfaid, adId: ad.adUnitIdentifier) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - navigationController?.popViewController(animated: true) - - } - - func didFail(toDisplay ad: MAAd, withError error: MAError) - { - // Interstitial ad failed to display. We recommend loading the next ad - // 插页广告显示失败。建议加载下一个广告 -// interstitialAd.load() - } -} diff --git a/anniversary_Project/Player/AV_RootPlayerVC.xib b/anniversary_Project/Player/AV_RootPlayerVC.xib deleted file mode 100644 index ec3c7ba..0000000 --- a/anniversary_Project/Player/AV_RootPlayerVC.xib +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift b/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift deleted file mode 100644 index 419ec0f..0000000 --- a/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift +++ /dev/null @@ -1,317 +0,0 @@ -// -// AV_WaterKeyBordPlayerVC.swift -// anniversary_Project -// -// Created by 忆海16 on 2024/7/21. -// - -import UIKit - -import AppLovinSDK -import Alamofire -import FirebaseRemoteConfig - - -class AV_WaterKeyBordPlayerVC: AV_RootVC { - @IBOutlet weak var waterImageV: UIImageView! - - @IBOutlet weak var collectionView: UICollectionView! - - - @IBOutlet weak var cupuView: UIView! - - let cellWidth: CGFloat = 71 - let cellHeight: CGFloat = 71 - let cellSpacing: CGFloat = 12 - let dataimag = ["1","2", "3", "4", "5", "6","7","8"] - let databigimag = ["1-1","2-2", "3-3", "4-4", "5-5", "6-6","7-7","8-8"] - let drinkname = ["Water","Milk", "Tea", "Milky tea", "Beer", "Red wine","Fruit juice","Soup"] - - var rulerV = MLSliderRulerView() - - - - var retryAttempt = 0.0 - var interstitialAd: MAInterstitialAd! - var adCheckTimer: Timer? - var adCheckStartTime: Date? - var adLoadTime: Int = 0 - override func viewDidLoad() { - super.viewDidLoad() - - setcollectionV() - rulerV = MLSliderRulerView(frame:cupuView.bounds) - - self.cupuView.addSubview(rulerV) - startAdCheck() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.navigationController?.navigationBar.isHidden = true - - } - ///定时加载 - func startAdCheck() { - // createInterstitialAd() - adCheckStartTime = Date() - adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) - } - - @objc func checkAdStatus() { - let elapsedTime = Date().timeIntervalSince(adCheckStartTime!) - let elapsedTimeInMilliseconds = Int(elapsedTime * 1000) - - if interstitialAd.isReady { - interstitialAd.show() - adLoadTime = elapsedTimeInMilliseconds // 记录加载 - adCheckTimer?.invalidate() - setShow() - } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 - adCheckTimer?.invalidate() - self.navigationController?.popViewController(animated: true) - - } else { - print("广告未准备好,继续检查...") - } - } - - func setPostload(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - "showStatus": 0, - "washParam": true, - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - - - func setPostSHOW(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_show_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - - func setcollectionV(){ - let layout = UICollectionViewFlowLayout() - layout.scrollDirection = .horizontal - collectionView.dataSource = self - collectionView.delegate = self - collectionView.collectionViewLayout = layout - collectionView.register(UINib(nibName: "AV_AddWaterVCCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "AV_AddWaterVCCollectionViewCell") - } - -// func setshow(){ -// let parameters:[String : Any] = [ -// "appid": "com.countdown.day.daycount", -// "idfa":StartManager.shared.idfaid ?? "", -// "id":StartManager.shared.idOneAD, -// "ecpm":StartManager.shared.idOneprice ?? "", -// -// ] -// NetworkManager.shared.postRequest(url: StartManager.shared.showurl, parameters: parameters, headers: StartManager.shared.headers) { result in -// switch result { -// case .success(let data): -// print("Response:--- \(data)") -// if let status = data["status"] as? String, status == "Success" { -// if let needLoad = data["close"] as? Int { -// let seconds = millisecondsToSeconds(milliseconds: needLoad) -// -// DispatchQueue.main.asyncAfter(wallDeadline: .now() + seconds) { -// closeADWindow() -// } -// } -// } -// case .failure(let error): -// print("Error:--- \(error)") -// } -// } -// } - - func setShow() { - let idfa = StartManager.shared.idfaid - let adId = StartManager.shared.idThreeAD - let ecpm = StartManager.shared.idThreeprice - - AdLoader.shared.showAd(idfa: idfa, adId: adId, ecpm: ecpm) { result in - switch result { - case .success(let closeTime): break -// let seconds = millisecondsToSeconds(milliseconds: closeTime) -// DispatchQueue.main.asyncAzfter(deadline: .now() + seconds) { -// closeADWindow() -// } - case .failure(let error): - print("Error:--- \(error)") - } - } - } -} -extension AV_WaterKeyBordPlayerVC: UICollectionViewDelegateFlowLayout,UICollectionViewDataSource,UICollectionViewDelegate{ - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return dataimag.count - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "AV_AddWaterVCCollectionViewCell", for: indexPath) as! AV_AddWaterVCCollectionViewCell - cell.imageV.image = UIImage(named: "\(self.dataimag[indexPath.row])") - cell.nameLabel.text = self.drinkname[indexPath.row] - return cell - - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - return CGSize(width: cellWidth, height: cellHeight) - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { - return cellSpacing - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { - return UIEdgeInsets(top: 0, left: cellSpacing, bottom: 0, right: cellSpacing) - } - - - func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { - self.waterImageV.image = UIImage(named: "\(indexPath.row + 1)-\(indexPath.row + 1)") - } - -} -extension AV_WaterKeyBordPlayerVC: MAAdDelegate -{ - func createInterstitialAd() - { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "7baed02646413e44") - interstitialAd.delegate = self - - // Load the first ad - interstitialAd.load() - } - - // MARK: MAAdDelegate Protocol - - func didLoad(_ ad: MAAd) - { - // Interstitial ad is ready to be shown. 'interstitialAd.isReady' will now return 'true' - - // Reset retry attempt - retryAttempt = 0 - StartManager.shared.succeed = true - // StartManager.shared.loadTime = self.adLoadTime - StartManager.shared.adPlatform = "MAX" - StartManager.shared.countryCode = ALSdk.shared().configuration.countryCode - StartManager.shared.adId = "7baed02646413e44" - StartManager.shared.platformResponseTime = ad.requestLatency - StartManager.shared.ecpm = Float(ad.revenue) - StartManager.shared.dsp = ad.dspName - StartManager.shared.network = ad.networkName - - StartManager.shared.idThreeprice = Float(ad.revenue) - - print("----idThree\(Float(ad.revenue))") - - setPostload() - } - - func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) - { - // Interstitial ad failed to load - // We recommend retrying with exponentially higher delays up to a maximum delay (in this case 64 seconds) - - retryAttempt += 1 - let delaySec = pow(2.0, min(6.0, retryAttempt)) - - DispatchQueue.main.asyncAfter(deadline: .now() + delaySec) { - self.interstitialAd.load() - } - } - - func didDisplay(_ ad: MAAd) - { - // Pause your app's background audio - } - - func didClick(_ ad: MAAd) {} - - func didHide(_ ad: MAAd) - { - // Resume your app's background audio - // Interstitial ad is hidden. Pre-load the next ad - interstitialAd.load() - self.navigationController?.popViewController(animated: true) - - } - - func didFail(toDisplay ad: MAAd, withError error: MAError) - { - // Interstitial ad failed to display. We recommend loading the next ad - interstitialAd.load() - } -} diff --git a/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.xib b/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.xib deleted file mode 100644 index 67aba07..0000000 --- a/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.xib +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/anniversary_Project/Tool/ADopen/adNetWork.swift b/anniversary_Project/Tool/ADopen/adNetWork.swift index a0046b1..99c71f4 100644 --- a/anniversary_Project/Tool/ADopen/adNetWork.swift +++ b/anniversary_Project/Tool/ADopen/adNetWork.swift @@ -85,12 +85,13 @@ class AdLoader { } // show - func showAd(idfa: String?, adId: String, ecpm: Float?, completion: @escaping (Result) -> Void) { + func showAd(idfa: String?, adId: String, ecpm: Float?,ad:Bool, completion: @escaping (Result) -> Void) { let parameters: [String: Any] = [ "appid": "com.countdown.day.daycount", "idfa": idfa ?? "", "id": adId, - "ecpm": ecpm ?? "" + "ecpm": ecpm ?? "", + "ad":ad ] NetworkManager.shared.postRequest(url:StartManager.shared.showurl , parameters: parameters, headers: StartManager.shared.headers) { result in @@ -132,12 +133,21 @@ func millisecondsToSeconds(milliseconds: Int) -> Double { func closeADWindow() { if let keyWindow = UIApplication.shared.keyWindow { for subview in keyWindow.subviews { - if let vc = subview.subviews.first?.next as? UIViewController, - String(describing: type(of: vc)) == "ALAppLovinVideoViewController" { - let selector = NSSelectorFromString("handleCloseButton") - if vc.responds(to: selector) { - vc.perform(selector) + if let vc = subview.subviews.first?.next as? UIViewController{ + + if String(describing: type(of: vc)) == "ALAppLovinVideoViewController" { + let selector = NSSelectorFromString("handleCloseButton") + if vc.responds(to: selector) { + vc.perform(selector) + } } + else if String(describing: type(of: vc)) == "ALVASTVideoViewController" { + let selector = NSSelectorFromString("dismiss") + if vc.responds(to: selector) { + vc.perform(selector) + } + } + } } } diff --git a/anniversary_Project/Tool/CircularProgressBarView.swift b/anniversary_Project/Tool/CircularProgressBarView.swift index 011c0ff..ac2a043 100644 --- a/anniversary_Project/Tool/CircularProgressBarView.swift +++ b/anniversary_Project/Tool/CircularProgressBarView.swift @@ -6,7 +6,7 @@ // import Foundation - +import UIKit class CircularProgressBarView: UIView { diff --git a/anniversary_Project/Tool/ip+idfa+ADID.swift b/anniversary_Project/Tool/ip+idfa+ADID.swift index ea94076..12da70e 100644 --- a/anniversary_Project/Tool/ip+idfa+ADID.swift +++ b/anniversary_Project/Tool/ip+idfa+ADID.swift @@ -87,6 +87,7 @@ class StartManager:NSObject{ } + let strings = ["bee9f7039e56cc7a", "8fccdfa964b52e26", "7baed02646413e44","2e66a808a4251e3a"] func getRandomString() -> String? { diff --git a/anniversary_Project/header/AV_header.h b/anniversary_Project/header/AV_header.h deleted file mode 100644 index 08c09e5..0000000 --- a/anniversary_Project/header/AV_header.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// AV_header.h -// anniversary_Project -// -// Created by 忆海16 on 2024/4/15. -// - -#ifndef AV_header_h -#define AV_header_h - -#import - -#endif /* AV_header_h */ diff --git a/anniversary_Project/header/anniversaryPCH.pch b/anniversary_Project/header/anniversaryPCH.pch new file mode 100644 index 0000000..cdd5857 --- /dev/null +++ b/anniversary_Project/header/anniversaryPCH.pch @@ -0,0 +1,16 @@ +// +// anniversaryPCH.pch +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + + +#import "anniversary_Project-Swift.h" +#ifndef anniversaryPCH_pch +#define anniversaryPCH_pch + +// Include any system framework and library headers here that should be included in all compilation units. +// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. + +#endif /* anniversaryPCH_pch */ diff --git a/anniversary_Project/header/anniversary_Project-Bridging-Header.h b/anniversary_Project/header/anniversary_Project-Bridging-Header.h new file mode 100644 index 0000000..ab6cacf --- /dev/null +++ b/anniversary_Project/header/anniversary_Project-Bridging-Header.h @@ -0,0 +1,18 @@ +// +// anniversary_Project-Bridging-Header.h +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#ifndef anniversary_Project_Bridging_Header_h +#define anniversary_Project_Bridging_Header_h + +#import +#import "LuxADConfigure.h" +#import "LuxADManager.h" +#import "LuxADSSModeVC.h" +#import "LuxADSuperVC.h" +#import "LuxADVCControl.h" +#import "LuxNetManager.h" +#endif /* anniversary_Project_Bridging_Header_h */ diff --git a/anniversary_Project/playB/OneVC.h b/anniversary_Project/playB/OneVC.h new file mode 100644 index 0000000..7f251cd --- /dev/null +++ b/anniversary_Project/playB/OneVC.h @@ -0,0 +1,16 @@ +// +// OneVC.h +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#import "LuxADSuperVC.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface OneVC : LuxADSuperVC + +@end + +NS_ASSUME_NONNULL_END diff --git a/anniversary_Project/playB/OneVC.m b/anniversary_Project/playB/OneVC.m new file mode 100644 index 0000000..f5054db --- /dev/null +++ b/anniversary_Project/playB/OneVC.m @@ -0,0 +1,23 @@ +// +// OneVC.m +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#import "OneVC.h" + +@interface OneVC () + +@end + +@implementation OneVC + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + + + +@end diff --git a/anniversary_Project/playB/threeVC.h b/anniversary_Project/playB/threeVC.h new file mode 100644 index 0000000..912fa12 --- /dev/null +++ b/anniversary_Project/playB/threeVC.h @@ -0,0 +1,16 @@ +// +// threeVC.h +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#import "LuxADSuperVC.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface threeVC : LuxADSuperVC + +@end + +NS_ASSUME_NONNULL_END diff --git a/anniversary_Project/playB/threeVC.m b/anniversary_Project/playB/threeVC.m new file mode 100644 index 0000000..e739afc --- /dev/null +++ b/anniversary_Project/playB/threeVC.m @@ -0,0 +1,31 @@ +// +// threeVC.m +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#import "threeVC.h" + +@interface threeVC () + +@end + +@implementation threeVC + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/anniversary_Project/playB/twoVC.h b/anniversary_Project/playB/twoVC.h new file mode 100644 index 0000000..bd9952d --- /dev/null +++ b/anniversary_Project/playB/twoVC.h @@ -0,0 +1,16 @@ +// +// twoVC.h +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#import "LuxADSuperVC.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface twoVC : LuxADSuperVC + +@end + +NS_ASSUME_NONNULL_END diff --git a/anniversary_Project/playB/twoVC.m b/anniversary_Project/playB/twoVC.m new file mode 100644 index 0000000..66dedaf --- /dev/null +++ b/anniversary_Project/playB/twoVC.m @@ -0,0 +1,31 @@ +// +// twoVC.m +// anniversary_Project +// +// Created by 忆海16 on 2024/7/30. +// + +#import "twoVC.h" + +@interface twoVC () + +@end + +@implementation twoVC + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end