- Release build 16.5 AppStore

This commit is contained in:
Bilal
2024-10-19 11:29:23 +05:30
parent 178f3fe2a0
commit a78eda88a8
10 changed files with 189 additions and 172 deletions

View File

@@ -1,5 +1,5 @@
# Uncomment the next line to define a global platform for your project
platform :ios, '14.0'
platform :ios, '13.0'
target 'WOKA' do
# Comment the next line if you don't want to use dynamic frameworks
@@ -20,7 +20,7 @@ target 'WOKA' do
pod 'Google-Mobile-Ads-SDK'
#JwPlayer
pod 'JWPlayerKit' , '~> 4.19.2'
# pod 'JWPlayerKit'
# Bottom line is for removing IPHONEOS_DEPLOYMENT_TARGET
post_install do |installer|

View File

@@ -7,7 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
4469E533EC95AC428FE50FB2 /* Pods_WOKA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B045136DB6D1DB0D38BD128 /* Pods_WOKA.framework */; };
5201D4292C7F22E7008E3211 /* NetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5201D4282C7F22E7008E3211 /* NetworkMonitor.swift */; };
5202AAFE2BDF90590043B7BD /* TextFieldImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5202AAFD2BDF90590043B7BD /* TextFieldImage.swift */; };
5202AB012BDFA7900043B7BD /* EmailValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5202AB002BDFA7900043B7BD /* EmailValidation.swift */; };
@@ -264,6 +263,7 @@
52FDBA7B2BFF2712009D7AC7 /* AuthFuncTimeHandling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDBA7A2BFF2712009D7AC7 /* AuthFuncTimeHandling.swift */; };
52FDBA7D2BFF481A009D7AC7 /* ThemeOneVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */; };
52FDDAB52BF34DC300E037C1 /* YesNoAlertVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDDAB42BF34DC300E037C1 /* YesNoAlertVC.swift */; };
86DB03DFCB95714DEBED5561 /* Pods_WOKA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41B6AC3F9DFA24D9A4E8A9DC /* Pods_WOKA.framework */; };
9C007F202C255DF200F798C2 /* EpisodeListingDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C007F1F2C255DF200F798C2 /* EpisodeListingDM.swift */; };
9C007F232C25603800F798C2 /* WebSeriesEpisodeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C007F212C25603800F798C2 /* WebSeriesEpisodeCell.swift */; };
9C007F242C25603800F798C2 /* WebSeriesEpisodeCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C007F222C25603800F798C2 /* WebSeriesEpisodeCell.xib */; };
@@ -368,6 +368,7 @@
9CDB8C132C9D5B2000C887B2 /* OnBoardVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CDB8C122C9D5B1F00C887B2 /* OnBoardVM.swift */; };
9CDC343C2BDBBC6B00093089 /* SelectAgeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CDC343B2BDBBC6B00093089 /* SelectAgeVC.swift */; };
9CDCE1452BDB9B9A003FEF11 /* OnBoardMainSound.m4a in Resources */ = {isa = PBXBuildFile; fileRef = 9CDCE1442BDB9B9A003FEF11 /* OnBoardMainSound.m4a */; };
9CE1C3A22CC2ED330046042C /* JWPlayerKit in Frameworks */ = {isa = PBXBuildFile; productRef = 9CE1C3A12CC2ED330046042C /* JWPlayerKit */; };
9CE306B22C9961E0008EF78B /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 9CE306B02C9961E0008EF78B /* WOKA.xcdatamodeld */; };
9CF6980B2C89A324006007EF /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = 9CF6980A2C89A324006007EF /* Lottie */; };
9CF6980F2C8AFFBF006007EF /* SDWebImage in Frameworks */ = {isa = PBXBuildFile; productRef = 9CF6980E2C8AFFBF006007EF /* SDWebImage */; };
@@ -412,8 +413,8 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
2081C2B186A876137E7DBDF2 /* Pods-WOKA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WOKA.release.xcconfig"; path = "Target Support Files/Pods-WOKA/Pods-WOKA.release.xcconfig"; sourceTree = "<group>"; };
3B045136DB6D1DB0D38BD128 /* Pods_WOKA.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WOKA.framework; sourceTree = BUILT_PRODUCTS_DIR; };
091576079F6473EF715CFB36 /* Pods-WOKA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WOKA.debug.xcconfig"; path = "Target Support Files/Pods-WOKA/Pods-WOKA.debug.xcconfig"; sourceTree = "<group>"; };
41B6AC3F9DFA24D9A4E8A9DC /* Pods_WOKA.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WOKA.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5201D4282C7F22E7008E3211 /* NetworkMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitor.swift; sourceTree = "<group>"; };
5202AAFD2BDF90590043B7BD /* TextFieldImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldImage.swift; sourceTree = "<group>"; };
5202AB002BDFA7900043B7BD /* EmailValidation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmailValidation.swift; sourceTree = "<group>"; };
@@ -759,7 +760,6 @@
9CBE1B3C2C0F37B200CA6E61 /* DropDown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DropDown.h; sourceTree = "<group>"; };
9CC0D2F92C6F33BE0019DF73 /* AuthFuncUserVideoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFuncUserVideoView.swift; sourceTree = "<group>"; };
9CC0D2FB2C6F5CAE0019DF73 /* PlayerVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerVM.swift; sourceTree = "<group>"; };
9CC856602CC2B6BA00444C5B /* WOKA.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = WOKA.xcodeproj; sourceTree = "<group>"; };
9CDAEB022C53B97B00890C47 /* VersionTexts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionTexts.swift; sourceTree = "<group>"; };
9CDAEB042C53DB2900890C47 /* ProductDetailsVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDetailsVC.swift; sourceTree = "<group>"; };
9CDAEB062C53E42900890C47 /* ProductDetailsVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDetailsVM.swift; sourceTree = "<group>"; };
@@ -776,7 +776,7 @@
9CDCE1422BDB94BD003FEF11 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = "<group>"; };
9CDCE1442BDB9B9A003FEF11 /* OnBoardMainSound.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; path = OnBoardMainSound.m4a; sourceTree = "<group>"; };
9CE306B12C9961E0008EF78B /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = "<group>"; };
C83A2BA3B8F575DC890CC5DD /* Pods-WOKA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WOKA.debug.xcconfig"; path = "Target Support Files/Pods-WOKA/Pods-WOKA.debug.xcconfig"; sourceTree = "<group>"; };
FEBBF62FD239F4DF9494EE44 /* Pods-WOKA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WOKA.release.xcconfig"; path = "Target Support Files/Pods-WOKA/Pods-WOKA.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -784,15 +784,16 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4469E533EC95AC428FE50FB2 /* Pods_WOKA.framework in Frameworks */,
52C83E3F2C493FD700F27563 /* RSKPlaceholderTextView in Frameworks */,
9CF6980B2C89A324006007EF /* Lottie in Frameworks */,
9CBA530C2C89A2680046735C /* FirebaseAnalytics in Frameworks */,
9CE1C3A22CC2ED330046042C /* JWPlayerKit in Frameworks */,
9CF6980F2C8AFFBF006007EF /* SDWebImage in Frameworks */,
9CBA530E2C89A2680046735C /* FirebaseCrashlytics in Frameworks */,
528F26F02C6B7BD1003E4D99 /* OneSignalFramework in Frameworks */,
528F26F22C6B7BD1003E4D99 /* OneSignalInAppMessages in Frameworks */,
9CBA53102C89A2680046735C /* FirebasePerformance in Frameworks */,
86DB03DFCB95714DEBED5561 /* Pods_WOKA.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -826,7 +827,7 @@
children = (
52F477A42C492ED900F79200 /* JWPlayerKit.xcframework */,
525846502C491A9E004F074B /* speedchecker-sdk-ios-master */,
3B045136DB6D1DB0D38BD128 /* Pods_WOKA.framework */,
41B6AC3F9DFA24D9A4E8A9DC /* Pods_WOKA.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -834,8 +835,8 @@
23C3A42E953212A2665EE308 /* Pods */ = {
isa = PBXGroup;
children = (
C83A2BA3B8F575DC890CC5DD /* Pods-WOKA.debug.xcconfig */,
2081C2B186A876137E7DBDF2 /* Pods-WOKA.release.xcconfig */,
091576079F6473EF715CFB36 /* Pods-WOKA.debug.xcconfig */,
FEBBF62FD239F4DF9494EE44 /* Pods-WOKA.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@@ -937,7 +938,6 @@
523ED2512BDA2BC700CFED02 = {
isa = PBXGroup;
children = (
9CC856602CC2B6BA00444C5B /* WOKA.xcodeproj */,
523ED25C2BDA2BC700CFED02 /* WOKA */,
523ED2732BDA2BC900CFED02 /* WOKATests */,
523ED27D2BDA2BC900CFED02 /* WOKAUITests */,
@@ -2064,13 +2064,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 523ED2842BDA2BC900CFED02 /* Build configuration list for PBXNativeTarget "WOKA" */;
buildPhases = (
85374DA1EC2E3F7D8F24983D /* [CP] Check Pods Manifest.lock */,
BCD8BF168170D47923FE5BF4 /* [CP] Check Pods Manifest.lock */,
523ED2562BDA2BC700CFED02 /* Sources */,
523ED2572BDA2BC700CFED02 /* Frameworks */,
523ED2582BDA2BC700CFED02 /* Resources */,
90182DDCD7EAE5F6DA5B4DFB /* [CP] Embed Pods Frameworks */,
528F26E72C6B7B30003E4D99 /* Embed Foundation Extensions */,
7E437097FFA5CD78E3590A44 /* [CP] Copy Pods Resources */,
248C6D3D9D9284BB206C9EED /* [CP] Embed Pods Frameworks */,
1A4357B401EFE88B33096EB1 /* [CP] Copy Pods Resources */,
9CF6980C2C8AE33E006007EF /* ShellScript */,
);
buildRules = (
@@ -2088,6 +2088,7 @@
9CBA530F2C89A2680046735C /* FirebasePerformance */,
9CF6980A2C89A324006007EF /* Lottie */,
9CF6980E2C8AFFBF006007EF /* SDWebImage */,
9CE1C3A12CC2ED330046042C /* JWPlayerKit */,
);
productName = WOKA;
productReference = 523ED25A2BDA2BC700CFED02 /* WOKA.app */;
@@ -2191,6 +2192,7 @@
9CBA530A2C89A2680046735C /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
9CF698092C89A324006007EF /* XCRemoteSwiftPackageReference "lottie-spm" */,
9CF6980D2C8AFFBF006007EF /* XCRemoteSwiftPackageReference "SDWebImage" */,
9CE1C3A02CC2ED330046042C /* XCRemoteSwiftPackageReference "JWPlayerKit-package" */,
);
productRefGroup = 523ED25B2BDA2BC700CFED02 /* Products */;
projectDirPath = "";
@@ -2303,7 +2305,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
7E437097FFA5CD78E3590A44 /* [CP] Copy Pods Resources */ = {
1A4357B401EFE88B33096EB1 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -2320,29 +2322,7 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WOKA/Pods-WOKA-resources.sh\"\n";
showEnvVarsInLog = 0;
};
85374DA1EC2E3F7D8F24983D /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-WOKA-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
90182DDCD7EAE5F6DA5B4DFB /* [CP] Embed Pods Frameworks */ = {
248C6D3D9D9284BB206C9EED /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -2383,6 +2363,28 @@
shellPath = /bin/sh;
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\n";
};
BCD8BF168170D47923FE5BF4 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-WOKA-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -2896,14 +2898,14 @@
};
523ED2852BDA2BC900CFED02 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C83A2BA3B8F575DC890CC5DD /* Pods-WOKA.debug.xcconfig */;
baseConfigurationReference = 091576079F6473EF715CFB36 /* Pods-WOKA.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = WOKA/WOKA.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 10;
CURRENT_PROJECT_VERSION = 13;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 4S9A74ZB6H;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
@@ -2912,7 +2914,6 @@
INFOPLIST_KEY_CFBundleDisplayName = WOKA;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "Give Permissions for Karaoke";
INFOPLIST_KEY_NSUserTrackingUsageDescription = "This identifier will be used to deliver personalized ads to you.";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
@@ -2920,7 +2921,7 @@
INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDefault;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UIUserInterfaceStyle = Light;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -2940,14 +2941,14 @@
};
523ED2862BDA2BC900CFED02 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 2081C2B186A876137E7DBDF2 /* Pods-WOKA.release.xcconfig */;
baseConfigurationReference = FEBBF62FD239F4DF9494EE44 /* Pods-WOKA.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = WOKA/WOKA.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 10;
CURRENT_PROJECT_VERSION = 13;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 4S9A74ZB6H;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
@@ -2956,7 +2957,6 @@
INFOPLIST_KEY_CFBundleDisplayName = WOKA;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "Give Permissions for Karaoke";
INFOPLIST_KEY_NSUserTrackingUsageDescription = "This identifier will be used to deliver personalized ads to you.";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
@@ -2964,7 +2964,7 @@
INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDefault;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UIUserInterfaceStyle = Light;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -2992,7 +2992,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 4S9A74ZB6H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka.WOKATests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -3012,7 +3012,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 4S9A74ZB6H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka.WOKATests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -3032,6 +3032,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 4S9A74ZB6H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka.WOKAUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -3050,6 +3051,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 4S9A74ZB6H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka.WOKAUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -3066,14 +3068,14 @@
CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 4S9A74ZB6H;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = OneSignalNotificationServiceExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -3105,7 +3107,7 @@
INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = OneSignalNotificationServiceExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -3200,6 +3202,14 @@
minimumVersion = 11.1.0;
};
};
9CE1C3A02CC2ED330046042C /* XCRemoteSwiftPackageReference "JWPlayerKit-package" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/jwplayer/JWPlayerKit-package.git";
requirement = {
kind = exactVersion;
version = 4.19.1;
};
};
9CF698092C89A324006007EF /* XCRemoteSwiftPackageReference "lottie-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/airbnb/lottie-spm.git";
@@ -3254,6 +3264,11 @@
package = 9CBA530A2C89A2680046735C /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
productName = FirebasePerformance;
};
9CE1C3A12CC2ED330046042C /* JWPlayerKit */ = {
isa = XCSwiftPackageProductDependency;
package = 9CE1C3A02CC2ED330046042C /* XCRemoteSwiftPackageReference "JWPlayerKit-package" */;
productName = JWPlayerKit;
};
9CF6980A2C89A324006007EF /* Lottie */ = {
isa = XCSwiftPackageProductDependency;
package = 9CF698092C89A324006007EF /* XCRemoteSwiftPackageReference "lottie-spm" */;

View File

@@ -55,7 +55,7 @@
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"

View File

@@ -73,7 +73,11 @@ class GamesListVM{
AdReusable.sharedInstance.setupBannerAd(bannerView: headerBannerView, in:vc.headerView, adUnitID: K.GoogleAdIDs.games1, viewController: self.vc)
AdReusable.sharedInstance.setupBannerAd(bannerView: headerBannerBottomView, in: vc.gamesLoadingView, adUnitID: K.GoogleAdIDs.games2, viewController: self.vc, height: 8, width: 15)
})
}else{
setHeaderData()
}
}else{
setHeaderData()
}
}

View File

@@ -2,14 +2,14 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>com.woka.refresh</string>
</array>
<key>API_KEY_ID</key>
<string>$(API_KEY_ID)</string>
<key>API_KEY_PASS</key>
<string>$(API_KEY_PASS)</string>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>com.woka.refresh</string>
</array>
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-5699008063638916~6654980943</string>
<key>NSUserNotificationsUsageDescription</key>

View File

@@ -21,8 +21,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var deviceOrientation = UIInterfaceOrientationMask.portrait
let taskID = "com.woka.refresh"
// let taskID = "com.woka.refresh"
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return deviceOrientation
@@ -83,33 +82,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// scheduleTasks()
return true
}
// func scheduleTasks(){
// BGTaskScheduler.shared.getPendingTaskRequests { requests in
// print("Request :- ", requests.count)
//
// guard requests.isEmpty else{
// return
// }
//
// // submit task to be scheduled
// do{
// let newTask = BGAppRefreshTaskRequest(identifier: self.taskID)
// // Set when you want the task to run (optional)
// newTask.earliestBeginDate = Date(timeIntervalSinceNow: 15 * 60) // minutes * seconds ie. 1 min * 60 second, it ill trigger in 1 min.
// print("Task Scheduled.")
// try BGTaskScheduler.shared.submit(newTask)
// } catch{
// print("Issue with task")
// }
// }
//
// }
//
// func handleTask(task : BGAppRefreshTask){
// self.localNoti(body: "sad")
// task.setTaskCompleted(success: true)
// }
// MARK: UISceneSession Lifecycle
@@ -125,74 +97,74 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
func scheduleAppRefresh() {
let request = BGAppRefreshTaskRequest(identifier: taskID)
// Set when you want the task to run (optional)
request.earliestBeginDate = Date(timeIntervalSinceNow: 2 * 60) // 15 minutes from now
do {
try BGTaskScheduler.shared.submit(request)
print("Could not schedule app refresh scheduled")
} catch {
print("Could not schedule app refresh: \(error)")
}
}
// func scheduleAppRefresh() {
// let request = BGAppRefreshTaskRequest(identifier: taskID)
//
// // Set when you want the task to run (optional)
// request.earliestBeginDate = Date(timeIntervalSinceNow: 2 * 60) // 15 minutes from now
//
// do {
// try BGTaskScheduler.shared.submit(request)
// print("Could not schedule app refresh scheduled")
// } catch {
// print("Could not schedule app refresh: \(error)")
// }
// }
func handleAppRefresh(task: BGAppRefreshTask) {
// Schedule a new refresh task
scheduleAppRefresh()
// Perform the background task (e.g., fetching data from a server)
let operationQueue = OperationQueue()
operationQueue.maxConcurrentOperationCount = 1
let fetchOperation = BlockOperation {
// Perform your background fetch task here (e.g., network call)
self.performBackgroundFetch { newData in
task.setTaskCompleted(success: newData)
}
}
task.expirationHandler = {
// Cancel the operation if it takes too long
operationQueue.cancelAllOperations()
}
operationQueue.addOperation(fetchOperation)
}
func performBackgroundFetch(completion: @escaping (Bool) -> Void) {
// Simulate a network call
DispatchQueue.global().asyncAfter(deadline: .now() + 5) {
// Perform your background work here
let newDataFetched = true // Assume data was fetched
completion(newDataFetched)
print("sdaasdasdasdas")
self.localNoti(body: newDataFetched ? "true" : "false")
}
}
func localNoti(body : String? = nil){
//creating the notification content
let content = UNMutableNotificationContent()
//adding title, subtitle, body and badge
content.title = "Your are out of Geofence, Battery testing"
content.subtitle = ""
content.body = body == nil ? "Please contact your Careperson" : body!
content.badge = 1
//getting the notification trigger
//it will be called after 5 seconds
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false)
//getting the notification request
let request = UNNotificationRequest(identifier: "SimplifiedIOSNotification", content: content, trigger: trigger)
//adding the notification to notification center
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
// func handleAppRefresh(task: BGAppRefreshTask) {
// // Schedule a new refresh task
// scheduleAppRefresh()
//
// // Perform the background task (e.g., fetching data from a server)
// let operationQueue = OperationQueue()
// operationQueue.maxConcurrentOperationCount = 1
//
// let fetchOperation = BlockOperation {
// // Perform your background fetch task here (e.g., network call)
// self.performBackgroundFetch { newData in
// task.setTaskCompleted(success: newData)
// }
// }
//
// task.expirationHandler = {
// // Cancel the operation if it takes too long
// operationQueue.cancelAllOperations()
// }
//
// operationQueue.addOperation(fetchOperation)
// }
//
// func performBackgroundFetch(completion: @escaping (Bool) -> Void) {
// // Simulate a network call
// DispatchQueue.global().asyncAfter(deadline: .now() + 5) {
// // Perform your background work here
// let newDataFetched = true // Assume data was fetched
// completion(newDataFetched)
// print("sdaasdasdasdas")
// self.localNoti(body: newDataFetched ? "true" : "false")
// }
// }
//
// func localNoti(body : String? = nil){
// //creating the notification content
// let content = UNMutableNotificationContent()
//
// //adding title, subtitle, body and badge
// content.title = "Your are out of Geofence, Battery testing"
// content.subtitle = ""
// content.body = body == nil ? "Please contact your Careperson" : body!
// content.badge = 1
//
// //getting the notification trigger
// //it will be called after 5 seconds
// let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false)
//
// //getting the notification request
// let request = UNNotificationRequest(identifier: "SimplifiedIOSNotification", content: content, trigger: trigger)
//
// //adding the notification to notification center
// UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
// }
}
extension AppDelegate {

View File

@@ -161,7 +161,8 @@ class JWPlayerManager {
.build()
}
// DispatchQueue.main.async {
guard let finalConfig else{return}
DispatchQueue.main.async {
playerVC.videoIndex = startIndex
playerVC.contentType = contentType
playerVC.config = finalConfig
@@ -180,7 +181,7 @@ class JWPlayerManager {
// print("FullScreen")
// }
}
// }
}
} catch {
print("Error creating JWPlayer configuration: \(error)")
Utilities.dismissProgressHUD()

View File

@@ -67,7 +67,7 @@
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b8h-6Z-OJr">
<rect key="frame" x="197.66666666666666" y="853" width="35" height="35"/>
<subviews>
<activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" style="medium" translatesAutoresizingMaskIntoConstraints="NO" id="WFZ-SB-V1t">
<activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" style="medium" translatesAutoresizingMaskIntoConstraints="NO" id="WFZ-SB-V1t">
<rect key="frame" x="0.0" y="0.0" width="35" height="35"/>
<constraints>
<constraint firstAttribute="height" constant="35" id="Hy3-fe-fxq"/>

View File

@@ -1162,7 +1162,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dli-ld-4dd">
<rect key="frame" x="20" y="68" width="30" height="30"/>
<rect key="frame" x="15" y="68" width="30" height="30"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="HPJ-GV-z0x"/>
@@ -1180,21 +1180,32 @@
<action selector="backBtnTapped:" destination="gNO-Lg-5q3" eventType="touchUpInside" id="i5o-ID-oM5"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z2w-XP-hEe">
<rect key="frame" x="314" y="792" width="100" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="100" id="Wet-jy-Ki9"/>
<constraint firstAttribute="height" constant="50" id="x6O-6K-wAg"/>
</constraints>
</view>
</subviews>
<viewLayoutGuide key="safeArea" id="2gp-j2-aWC"/>
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="2gp-j2-aWC" firstAttribute="trailing" secondItem="Z2w-XP-hEe" secondAttribute="trailing" id="ENI-xu-XRE"/>
<constraint firstItem="2gp-j2-aWC" firstAttribute="bottom" secondItem="Z2w-XP-hEe" secondAttribute="bottom" constant="20" id="McJ-u7-VtP"/>
<constraint firstItem="dli-ld-4dd" firstAttribute="top" secondItem="2gp-j2-aWC" secondAttribute="top" constant="20" id="WZP-PS-eKd"/>
<constraint firstItem="dli-ld-4dd" firstAttribute="leading" secondItem="2gp-j2-aWC" secondAttribute="leading" constant="20" id="jRV-6s-U6h"/>
<constraint firstItem="dli-ld-4dd" firstAttribute="leading" secondItem="2gp-j2-aWC" secondAttribute="leading" constant="15" id="jRV-6s-U6h"/>
</constraints>
</view>
<connections>
<outlet property="backButton" destination="dli-ld-4dd" id="RBo-to-L7l"/>
<outlet property="hideView" destination="Z2w-XP-hEe" id="UqA-qM-tYc"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="IIL-mJ-o64" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="3599" y="-1602"/>
<point key="canvasLocation" x="3598.5507246376815" y="-1602.4553571428571"/>
</scene>
<!--BlogsVC-->
<scene sceneID="IYT-t2-w5s">
@@ -1466,7 +1477,7 @@
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
<systemColor name="systemBrownColor">
<color red="0.63529411759999999" green="0.51764705879999995" blue="0.36862745099999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color red="0.63529411764705879" green="0.51764705882352946" blue="0.36862745098039218" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
</resources>
</document>

View File

@@ -9,10 +9,11 @@ import UIKit
import JWPlayerKit
import AVKit
class PlayerVC: JWPlayerViewController, JWPlayerViewControllerUIDelegate, JWPlayerViewControllerRelatedDelegate { //JWPlayerViewControllerFullScreenDelegate
class PlayerVC: JWPlayerViewController, JWPlayerViewControllerDelegate {
@IBOutlet weak var backButton: UIButton!
var previousScale: CGFloat = 1.0
@IBOutlet weak var hideView: UIView!
var contentType : VideoContentType?
@@ -48,21 +49,20 @@ class PlayerVC: JWPlayerViewController, JWPlayerViewControllerUIDelegate, JWPlay
return true
}
}
override func viewDidLoad() {
super.viewDidLoad()
self.setVisibility(.hidden, for: [.fullscreenButton, .pictureInPictureButton,.languagesButton, .chromecastButton, .exitFullScreenButton])
self.delegate = self
player.configurePlayer(with: config)
vm.vc = self
vm.initView()
//bring back button to the front
self.view.bringSubviewToFront(backButton)
NotificationCenter.default.addObserver(self, selector: #selector(appDidEnterBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(appWillEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)
// self.fullScreenDelegate = self
self.uiDelegate = self
self.relatedDelegate = self
self.player.configurePlayer(with: self.config)
// let skinStylingBuilder = JWPlayerSkinBuilder()
// .adCueColor(.yellow)
// // .buttonsColor(.blue)
@@ -70,7 +70,20 @@ class PlayerVC: JWPlayerViewController, JWPlayerViewControllerUIDelegate, JWPlay
//
// let skinStyling = try? skinStylingBuilder.build()
// self.styling = skinStyling
self.setVisibility(.hidden, for: [.fullscreenButton, .pictureInPictureButton,.languagesButton,.settingsButton])
if contentType == .webSeries || contentType == .masilaSongs{
self.view.bringSubviewToFront(hideView)
// hideView.addTapGesture { [weak self] in
// guard let self else{return}
// if hideView.isHidden{
// self.interfaceBehavior = .normal
// }else{
// self.interfaceBehavior = .
// }
// }
}
// print("Quality:- ", player.visualQualityLevels)
}
override func viewDidAppear(_ animated: Bool) {
@@ -143,7 +156,7 @@ class PlayerVC: JWPlayerViewController, JWPlayerViewControllerUIDelegate, JWPlay
case .trailer:
let duration = DateFormatterLib.dateDifferenceINT(date1: vm.startTimeStamp, date2: Date())
let totalDuration = duration + vm.totalVideoViewTime
AuthFunc.shareInstance.userVideoView(postID: 0, postType: PostType.teaser.rawValue, duration: totalDuration, catID: 0) { _ in}
AuthFunc.shareInstance.userVideoView(postID: 0, postType: PostType.episode.rawValue, duration: totalDuration, catID: 0) { _ in}
vm.handleBackAction()
case .continueWatching:
if let catID = vm.catID,let postID = vm.videoIDs.first{
@@ -250,10 +263,10 @@ class PlayerVC: JWPlayerViewController, JWPlayerViewControllerUIDelegate, JWPlay
print("PlayList Over", vm.currentPlayingIndex)
}
// override func jwplayer(_ player: any JWPlayer, didLoadPlaylist playlist: [JWPlayerItem]) {
// super.jwplayer(player, didLoadPlaylist: playlist)
// print("Playlist loaded")
// }
override func jwplayer(_ player: any JWPlayer, didLoadPlaylist playlist: [JWPlayerItem]) {
super.jwplayer(player, didLoadPlaylist: playlist)
print("Playlist loaded")
}
// this will give index
override func jwplayer(_ player: any JWPlayer, didLoadPlaylistItem item: JWPlayerItem, at index: UInt) {
@@ -520,6 +533,7 @@ extension PlayerVC {
func playerViewController(_ controller: JWPlayerKit.JWPlayerViewController, controlBarVisibilityChanged isVisible: Bool, frame: CGRect) {
self.backButton.isHidden = !isVisible
self.hideView.isHidden = !isVisible
}
func playerViewController(_ controller: JWPlayerKit.JWPlayerViewController, sizeChangedFrom oldSize: CGSize, to newSize: CGSize) {