diff --git a/.github/workflows/internal-build.yml b/.github/workflows/internal-build.yml index cc1985f2..a6601d31 100644 --- a/.github/workflows/internal-build.yml +++ b/.github/workflows/internal-build.yml @@ -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: '.' diff --git a/ios/Inji.xcodeproj/project.pbxproj b/ios/Inji.xcodeproj/project.pbxproj index 4e7de376..0a3f1493 100644 --- a/ios/Inji.xcodeproj/project.pbxproj +++ b/ios/Inji.xcodeproj/project.pbxproj @@ -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 */; diff --git a/ios/Inji.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/Inji.xcworkspace/xcshareddata/swiftpm/Package.resolved index 6f7a1759..f76f974a 100644 --- a/ios/Inji.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ios/Inji.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -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" } }, { diff --git a/ios/Inji/Info.plist b/ios/Inji/Info.plist index 86db36c1..c92d8460 100644 --- a/ios/Inji/Info.plist +++ b/ios/Inji/Info.plist @@ -48,6 +48,8 @@ CFBundleVersion $(CURRENT_PROJECT_VERSION) + ENABLE_AUTH + true ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/ios/Podfile b/ios/Podfile index da9b5e71..9fc5cadc 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -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'] diff --git a/ios/Podfile.lock b/ios/Podfile.lock index c24af9d1..ef78dc9d 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1025,6 +1025,6 @@ SPEC CHECKSUMS: Yoga: 065f0b74dba4832d6e328238de46eb72c5de9556 ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb -PODFILE CHECKSUM: 44ee7985ac0203f16a6b823b6972530b17704618 +PODFILE CHECKSUM: 5ff60e5fc9fdd83677d9f9e4936f79a10e76d86b COCOAPODS: 1.16.2