[INJIMOB-2779] setup env variable to bypass ios automation biometrics (#1765)

Signed-off-by: Abhishek Paul <paul.apaul.abhishek.ap@gmail.com>
This commit is contained in:
abhip2565
2025-01-24 17:28:21 +05:30
committed by GitHub
parent 360cb02aa4
commit c66e9c1a4b
6 changed files with 64 additions and 22 deletions

View File

@@ -82,6 +82,14 @@ on:
options:
- false
- true
enable_auth:
description: 'Enable Authentication'
required: true
default: 'true'
type: choice
options:
- false
- true
jobs:
set-client-id:
@@ -166,6 +174,7 @@ jobs:
TESTFLIGHT_BETA_APP_DESCRIPTION: ${{ inputs.buildName }}
ALLOW_ENV_EDIT: ${{ inputs.allow_env_edit }}
LIVENESS_DETECTION: ${{ inputs.liveness_detection }}
ENABLE_AUTH: ${{ inputs.enable_auth }}
TESTFLIGHT_INTERNAL_TESTERS_GROUP: ${{ inputs.internal-testers }}
APP_FLAVOR: ${{ inputs.injiFlavor }}
SERVICE_LOCATION: '.'

View File

@@ -27,10 +27,10 @@
9C5E69112D0ACAC000D31852 /* VCIClient in Frameworks */ = {isa = PBXBuildFile; productRef = 9C5E69102D0ACAC000D31852 /* VCIClient */; };
9C5E69142D0ACADA00D31852 /* pixelpass in Frameworks */ = {isa = PBXBuildFile; productRef = 9C5E69132D0ACADA00D31852 /* pixelpass */; };
9C5E69172D0ACB3C00D31852 /* OpenID4VP in Frameworks */ = {isa = PBXBuildFile; productRef = 9C5E69162D0ACB3C00D31852 /* OpenID4VP */; };
9C5E691A2D0ACB6400D31852 /* securekeystore in Frameworks */ = {isa = PBXBuildFile; productRef = 9C5E69192D0ACB6400D31852 /* securekeystore */; };
9C5E691D2D0ACB7A00D31852 /* ios-tuvali-library in Frameworks */ = {isa = PBXBuildFile; productRef = 9C5E691C2D0ACB7A00D31852 /* ios-tuvali-library */; };
9C7CDF3E2C7CBEDE00243A9A /* RNSecureKeystoreModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C7CDF3D2C7CBEDE00243A9A /* RNSecureKeystoreModule.swift */; };
9C7CDF432C7CC13500243A9A /* RNSecureKeystoreModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7CDF422C7CC13500243A9A /* RNSecureKeystoreModule.m */; };
9CCAAC202D425DB90032F366 /* securekeystore in Frameworks */ = {isa = PBXBuildFile; productRef = 9CCAAC1F2D425DB90032F366 /* securekeystore */; };
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; };
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
E86208152C0335C5007C3E24 /* RNVCIClientModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = E86208142C0335C5007C3E24 /* RNVCIClientModule.swift */; };
@@ -116,7 +116,7 @@
9C5E69112D0ACAC000D31852 /* VCIClient in Frameworks */,
96905EF65AED1B983A6B3ABC /* libPods-Inji.a in Frameworks */,
9C5E69172D0ACB3C00D31852 /* OpenID4VP in Frameworks */,
9C5E691A2D0ACB6400D31852 /* securekeystore in Frameworks */,
9CCAAC202D425DB90032F366 /* securekeystore in Frameworks */,
9C5E69142D0ACADA00D31852 /* pixelpass in Frameworks */,
9C5E691D2D0ACB7A00D31852 /* ios-tuvali-library in Frameworks */,
);
@@ -284,8 +284,8 @@
9C5E69102D0ACAC000D31852 /* VCIClient */,
9C5E69132D0ACADA00D31852 /* pixelpass */,
9C5E69162D0ACB3C00D31852 /* OpenID4VP */,
9C5E69192D0ACB6400D31852 /* securekeystore */,
9C5E691C2D0ACB7A00D31852 /* ios-tuvali-library */,
9CCAAC1F2D425DB90032F366 /* securekeystore */,
);
productName = Inji;
productReference = 13B07F961A680F5B00A75B9A /* Inji.app */;
@@ -317,8 +317,8 @@
9C5E690F2D0ACAC000D31852 /* XCRemoteSwiftPackageReference "inji-vci-client-ios-swift" */,
9C5E69122D0ACADA00D31852 /* XCRemoteSwiftPackageReference "pixelpass-ios-swift" */,
9C5E69152D0ACB3C00D31852 /* XCRemoteSwiftPackageReference "inji-openid4vp-ios-swift" */,
9C5E69182D0ACB6400D31852 /* XCRemoteSwiftPackageReference "secure-keystore-ios-swift" */,
9C5E691B2D0ACB7A00D31852 /* XCRemoteSwiftPackageReference "tuvali-ios-swift" */,
9CCAAC1E2D425DB90032F366 /* XCRemoteSwiftPackageReference "secure-keystore-ios-swift" */,
);
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = "";
@@ -787,14 +787,6 @@
kind = branch;
};
};
9C5E69182D0ACB6400D31852 /* XCRemoteSwiftPackageReference "secure-keystore-ios-swift" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/mosip/secure-keystore-ios-swift";
requirement = {
branch = "release-0.3.x";
kind = branch;
};
};
9C5E691B2D0ACB7A00D31852 /* XCRemoteSwiftPackageReference "tuvali-ios-swift" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/mosip/tuvali-ios-swift/";
@@ -803,6 +795,14 @@
kind = branch;
};
};
9CCAAC1E2D425DB90032F366 /* XCRemoteSwiftPackageReference "secure-keystore-ios-swift" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/tw-mosip/secure-keystore-ios-swift";
requirement = {
branch = "injimob-biometric-bypass";
kind = branch;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
@@ -821,16 +821,16 @@
package = 9C5E69152D0ACB3C00D31852 /* XCRemoteSwiftPackageReference "inji-openid4vp-ios-swift" */;
productName = OpenID4VP;
};
9C5E69192D0ACB6400D31852 /* securekeystore */ = {
isa = XCSwiftPackageProductDependency;
package = 9C5E69182D0ACB6400D31852 /* XCRemoteSwiftPackageReference "secure-keystore-ios-swift" */;
productName = securekeystore;
};
9C5E691C2D0ACB7A00D31852 /* ios-tuvali-library */ = {
isa = XCSwiftPackageProductDependency;
package = 9C5E691B2D0ACB7A00D31852 /* XCRemoteSwiftPackageReference "tuvali-ios-swift" */;
productName = "ios-tuvali-library";
};
9CCAAC1F2D425DB90032F366 /* securekeystore */ = {
isa = XCSwiftPackageProductDependency;
package = 9CCAAC1E2D425DB90032F366 /* XCRemoteSwiftPackageReference "secure-keystore-ios-swift" */;
productName = securekeystore;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;

View File

@@ -1,5 +1,5 @@
{
"originHash" : "5737403c0b9f43f503dc98794e8805e76575a62d145e75f6c4c953bff4223584",
"originHash" : "d0ef7729783f4c216ab7451a346f71c827dd7f1af2bc67d1a14254025e270a3c",
"pins" : [
{
"identity" : "base45-swift",
@@ -58,10 +58,10 @@
{
"identity" : "secure-keystore-ios-swift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/mosip/secure-keystore-ios-swift",
"location" : "https://github.com/tw-mosip/secure-keystore-ios-swift",
"state" : {
"branch" : "release-0.3.x",
"revision" : "661bdb56de5aeb26e0230be4490635fbcfe4513e"
"branch" : "injimob-biometric-bypass",
"revision" : "19f537cc8adb01389d4ce69281d1d0991ef68fb6"
}
},
{

View File

@@ -48,6 +48,8 @@
</array>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>ENABLE_AUTH</key>
<string>true</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>

View File

@@ -59,6 +59,15 @@ target 'Inji' do
)
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'RNZipArchive'
target.source_build_phase.files.each do |file|
if file.settings && file.settings['COMPILER_FLAGS']
file.settings['COMPILER_FLAGS'] = ''
end
end
end
end
react_native_post_install(
installer,
config[:reactNativePath],
@@ -78,6 +87,28 @@ target 'Inji' do
end
end
end
plist_path = File.join(__dir__, 'Inji/Info.plist')
# Check if Info.plist exists
if File.exist?(plist_path)
require 'json'
# Read the Info.plist file
plist = JSON.parse(`plutil -convert json -o - "#{plist_path}"`)
# Add ENABLE_AUTH key
plist['ENABLE_AUTH'] = ENV['ENABLE_AUTH'] || 'true'
# Write back to Info.plist
File.open(plist_path, 'w') do |file|
file.write(JSON.pretty_generate(plist))
end
# Convert back to XML format
system("plutil -convert xml1 #{plist_path}")
else
Pod::UI.warn "Info.plist not found at #{plist_path}"
end
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']

View File

@@ -1025,6 +1025,6 @@ SPEC CHECKSUMS:
Yoga: 065f0b74dba4832d6e328238de46eb72c5de9556
ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb
PODFILE CHECKSUM: 44ee7985ac0203f16a6b823b6972530b17704618
PODFILE CHECKSUM: 5ff60e5fc9fdd83677d9f9e4936f79a10e76d86b
COCOAPODS: 1.16.2