From 9c254731807eccf8f0d4ac9fa98135a1378cf8ca Mon Sep 17 00:00:00 2001 From: "stepie.ub" Date: Thu, 25 May 2023 13:55:06 +0545 Subject: [PATCH] changes --- GME Remit.xcodeproj/project.pbxproj | 24 ++-- .../View/SendMoneyExchangeRate.storyboard | 38 ++---- .../SendMoneyExchangeRateViewController.swift | 129 ++++++++++++------ GME Remit/Supported Files/Info.plist | 24 ++-- 4 files changed, 121 insertions(+), 94 deletions(-) diff --git a/GME Remit.xcodeproj/project.pbxproj b/GME Remit.xcodeproj/project.pbxproj index 450055bd..0e82296f 100644 --- a/GME Remit.xcodeproj/project.pbxproj +++ b/GME Remit.xcodeproj/project.pbxproj @@ -183,6 +183,8 @@ 41F06FB929B712A2008E9E5D /* TransferListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41F06FAE29B712A2008E9E5D /* TransferListViewController.swift */; }; 41F06FBA29B712A2008E9E5D /* TransferList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 41F06FAF29B712A2008E9E5D /* TransferList.storyboard */; }; 41F06FBB29B712A2008E9E5D /* TransferListViewInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41F06FB029B712A2008E9E5D /* TransferListViewInterface.swift */; }; + 542326842A1F2A2D0030052F /* SendMoneyExchangeRateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542326822A1F2A2D0030052F /* SendMoneyExchangeRateViewController.swift */; }; + 542326852A1F2A2D0030052F /* SendMoneyExchangeRate.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 542326832A1F2A2D0030052F /* SendMoneyExchangeRate.storyboard */; }; 5565FF1D1FE275E5002934E9 /* SanFranciscoDisplay-Heavy.otf in Resources */ = {isa = PBXBuildFile; fileRef = 5565FF071FE275E0002934E9 /* SanFranciscoDisplay-Heavy.otf */; }; 5565FF1E1FE275E5002934E9 /* SanFranciscoText-RegularItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 5565FF081FE275E0002934E9 /* SanFranciscoText-RegularItalic.otf */; }; 5565FF1F1FE275E5002934E9 /* SanFranciscoText-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 5565FF091FE275E0002934E9 /* SanFranciscoText-Regular.otf */; }; @@ -645,8 +647,6 @@ BEC9B005224FC49C00A2DA06 /* BiometricAuthenticationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEC9AFFA224FC49C00A2DA06 /* BiometricAuthenticationViewController.swift */; }; BEC9B006224FC49C00A2DA06 /* BiometricAuthentication.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BEC9AFFB224FC49C00A2DA06 /* BiometricAuthentication.storyboard */; }; C3466DB62A1F1D46001AA9AE /* BeneficiaryDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C3466DB52A1F1D46001AA9AE /* BeneficiaryDetail.storyboard */; }; - C3BD928E2A1E3CED00568DEC /* SendMoneyExchangeRate.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C3BD928C2A1E3CED00568DEC /* SendMoneyExchangeRate.storyboard */; }; - C3BD928F2A1E3CED00568DEC /* SendMoneyExchangeRateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3BD928D2A1E3CED00568DEC /* SendMoneyExchangeRateViewController.swift */; }; CC9B671D5DDC9BB476C2775F /* Pods_GME_Remit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 754C503578F5B5FFF3758D6E /* Pods_GME_Remit.framework */; }; D9030ABB2138DDD900A1BCA0 /* SendMoneyExchangeRate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9030ABA2138DDD900A1BCA0 /* SendMoneyExchangeRate.swift */; }; D9030ABD2139113A00A1BCA0 /* SendMoneyAccountValidationRequestModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9030ABC2139113A00A1BCA0 /* SendMoneyAccountValidationRequestModel.swift */; }; @@ -1077,6 +1077,8 @@ 41F06FAE29B712A2008E9E5D /* TransferListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransferListViewController.swift; sourceTree = ""; }; 41F06FAF29B712A2008E9E5D /* TransferList.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = TransferList.storyboard; sourceTree = ""; }; 41F06FB029B712A2008E9E5D /* TransferListViewInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransferListViewInterface.swift; sourceTree = ""; }; + 542326822A1F2A2D0030052F /* SendMoneyExchangeRateViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SendMoneyExchangeRateViewController.swift; sourceTree = ""; }; + 542326832A1F2A2D0030052F /* SendMoneyExchangeRate.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = SendMoneyExchangeRate.storyboard; sourceTree = ""; }; 55600052AED9B7B09887A8B3 /* Pods-GME Remit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GME Remit.debug.xcconfig"; path = "Target Support Files/Pods-GME Remit/Pods-GME Remit.debug.xcconfig"; sourceTree = ""; }; 5565FF071FE275E0002934E9 /* SanFranciscoDisplay-Heavy.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SanFranciscoDisplay-Heavy.otf"; sourceTree = ""; }; 5565FF081FE275E0002934E9 /* SanFranciscoText-RegularItalic.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SanFranciscoText-RegularItalic.otf"; sourceTree = ""; }; @@ -1549,8 +1551,6 @@ BEC9AFFA224FC49C00A2DA06 /* BiometricAuthenticationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BiometricAuthenticationViewController.swift; sourceTree = ""; }; BEC9AFFB224FC49C00A2DA06 /* BiometricAuthentication.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = BiometricAuthentication.storyboard; sourceTree = ""; }; C3466DB52A1F1D46001AA9AE /* BeneficiaryDetail.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = BeneficiaryDetail.storyboard; sourceTree = ""; }; - C3BD928C2A1E3CED00568DEC /* SendMoneyExchangeRate.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = SendMoneyExchangeRate.storyboard; sourceTree = ""; }; - C3BD928D2A1E3CED00568DEC /* SendMoneyExchangeRateViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SendMoneyExchangeRateViewController.swift; sourceTree = ""; }; D9030ABA2138DDD900A1BCA0 /* SendMoneyExchangeRate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendMoneyExchangeRate.swift; sourceTree = ""; }; D9030ABC2139113A00A1BCA0 /* SendMoneyAccountValidationRequestModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendMoneyAccountValidationRequestModel.swift; sourceTree = ""; }; D9031129214786EA00AD5BA9 /* ForgotPasswordModuleInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ForgotPasswordModuleInterface.swift; sourceTree = ""; }; @@ -5381,8 +5381,8 @@ 89739DD224459A620016251B /* View */ = { isa = PBXGroup; children = ( - C3BD928C2A1E3CED00568DEC /* SendMoneyExchangeRate.storyboard */, - C3BD928D2A1E3CED00568DEC /* SendMoneyExchangeRateViewController.swift */, + 542326832A1F2A2D0030052F /* SendMoneyExchangeRate.storyboard */, + 542326822A1F2A2D0030052F /* SendMoneyExchangeRateViewController.swift */, 89739DD424459A620016251B /* SendMoneyExchangeRateViewInterface.swift */, ); path = View; @@ -7464,7 +7464,7 @@ 40B9B0A824EC4ED1002C258C /* ExistingUserKyc.storyboard in Resources */, 5565FF291FE275E5002934E9 /* SanFranciscoDisplay-Black.otf in Resources */, FF6E7D9421BF951D00A003B9 /* AppUpdate.storyboard in Resources */, - C3BD928E2A1E3CED00568DEC /* SendMoneyExchangeRate.storyboard in Resources */, + 542326852A1F2A2D0030052F /* SendMoneyExchangeRate.storyboard in Resources */, D9692A1B221396AF00795EBC /* Setting.storyboard in Resources */, 2454866E29BA2AE60065E1DD /* volte-semibold.otf in Resources */, 73195ABC22FD14D500151434 /* SetupRecipient.storyboard in Resources */, @@ -8419,7 +8419,7 @@ DDCDF6682A0ACBDB00124D00 /* AllRecipientsService.swift in Sources */, 40B33AAB24CAF87A00AFE2AB /* ExistingUserRegistrationViewController.swift in Sources */, FF6E7D9221BF951D00A003B9 /* AppUpdateModuleInterface.swift in Sources */, - C3BD928F2A1E3CED00568DEC /* SendMoneyExchangeRateViewController.swift in Sources */, + 542326842A1F2A2D0030052F /* SendMoneyExchangeRateViewController.swift in Sources */, 89739E2B24459A630016251B /* SendMoneyParentServiceType.swift in Sources */, 41F06FB129B712A2008E9E5D /* TransferListModuleInterface.swift in Sources */, 735F68DE2394A76800A2DBC8 /* NewRegisterInteractor.swift in Sources */, @@ -8917,7 +8917,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 68KRG7GPAV; + DEVELOPMENT_TEAM = GH2642V3WY; ENABLE_BITCODE = NO; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; FRAMEWORK_SEARCH_PATHS = ( @@ -8941,7 +8941,7 @@ "$(OTHER_LDFLAGS)", "-ObjC", ); - PRODUCT_BUNDLE_IDENTIFIER = com.japan.jmeremit; + PRODUCT_BUNDLE_IDENTIFIER = com.japan.jmeremit1; PRODUCT_NAME = "JME Remit"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "GME Remit/Supported Files/GMERemittance-Bridging-Header.h"; @@ -8962,7 +8962,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 68KRG7GPAV; + DEVELOPMENT_TEAM = GH2642V3WY; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -8985,7 +8985,7 @@ "$(OTHER_LDFLAGS)", "-ObjC", ); - PRODUCT_BUNDLE_IDENTIFIER = com.japan.jmeremit; + PRODUCT_BUNDLE_IDENTIFIER = com.japan.jmeremit1; PRODUCT_NAME = "JME Remit"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "GME Remit/Supported Files/GMERemittance-Bridging-Header.h"; diff --git a/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRate.storyboard b/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRate.storyboard index 7d10f963..6825b3d0 100644 --- a/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRate.storyboard +++ b/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRate.storyboard @@ -47,19 +47,19 @@ - + - + @@ -118,21 +118,18 @@ - + - + - + @@ -362,7 +347,8 @@ - + + diff --git a/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift b/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift index 6756b608..0c295453 100644 --- a/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift +++ b/GME Remit/Modules/RemittanceModules/OverseasModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift @@ -31,6 +31,17 @@ enum ActionBehaviour { class SendMoneyExchangeRateViewController: UIViewController { + struct StringConstants { + let selectPaymentModeText = "select_payment_mode_text".localized() + let youSendText = "you_send_text".localized() + let recepientGetsText = "receipient_gets_text".localized() + let calculate = "calculate_text".localized() + let title = "todays_rate_text".localized() + let currentExchangeRateText = "current_exchange_rate_text".localized() + let transferFeeDetailText = "transfer_fee_included_text".localized() + let defaultCurrency = "default_currency_text".localized() + } + private enum DiscountType: String { case percent = "1" case value = "2" @@ -42,36 +53,34 @@ class SendMoneyExchangeRateViewController: UIViewController { @IBOutlet weak var cardView: UIView! @IBOutlet private weak var exchangeBackground1: UIView! @IBOutlet private weak var exchangeBackground2: UIView! - @IBOutlet private weak var dropDownImageView: UIImageView! - @IBOutlet private weak var backgroundViewCountryLabel1: UIView! - @IBOutlet private weak var backgroundViewCountryLabel2: UIView! - @IBOutlet private weak var countryListStackView: UIStackView! +// @IBOutlet private weak var countryListStackView: UIStackView! @IBOutlet private weak var countryCodeLabel: UILabel! @IBOutlet private weak var countryFlagImage: UIImageView! @IBOutlet private weak var continueButton: UIButton! @IBOutlet private weak var senderTextField: GMENumberTextField! @IBOutlet private weak var reciepientTextField: GMENumberTextField! - @IBOutlet private weak var transferFeeInfoLabel: UILabel! + + @IBOutlet weak var transferFeeIconView: UIImageView! + @IBOutlet weak var transferFeeLabel: UILabel! + @IBOutlet weak var exchangeRateIconView: UIImageView! + + @IBOutlet private weak var exchangeRateLabel: UILabel! - @IBOutlet private weak var youSendTitleLabel: UILabel! - @IBOutlet private weak var recipientGetsTitleLabel: UILabel! + - @IBOutlet weak var calculatedInfoView: UIView! @IBOutlet weak var serviceChargeView: UIStackView! @IBOutlet weak var exchangeRateView: UIStackView! - @IBOutlet weak var backgroundView: UIView!{ - didSet{ - backgroundView.layer.cornerRadius = 12 - backgroundView.layer.borderWidth = 0.2 - backgroundView.layer.borderColor = UIColor.themeSeparate.cgColor - backgroundView.layer.addShadow(with: UIColor.themeShadow) - } - } - - @IBOutlet weak var couponListFetch: UIView! - @IBOutlet weak var couponListShow: UIStackView! - @IBOutlet weak var rewardView: UIView! +// @IBOutlet weak var backgroundView: UIView!{ +// didSet{ +// backgroundView.layer.cornerRadius = 12 +// backgroundView.layer.borderWidth = 0.2 +// backgroundView.layer.borderColor = UIColor.themeSeparate.cgColor +// backgroundView.layer.addShadow(with: UIColor.themeShadow) +// } +// } + + @IBOutlet weak var rewardView: UIStackView! @IBOutlet weak var rewardTitle: UILabel! @IBOutlet weak var rewardTextField: UITextField! @@ -135,15 +144,42 @@ class SendMoneyExchangeRateViewController: UIViewController { numberString: model.senderAmount ?? "" ) + + transferFeeIconView.image = UIImage(named: "exchange_rate_transfer_fee") + + exchangeRateIconView.image = UIImage(named: "exchange_rate_transfer_fee") + let serviceCharge = model.transferFee?.likeCommaMoney() ?? model.transferFee ?? "0.00" - let transferFee = serviceCharge != "0.00" ? "-\(serviceCharge)" : "\(serviceCharge)" + let transferInfo = "exchange_rate_guranteed".localized().attributedText(color: .theme2E89FF, font: .sanfrancisco(.semibold, size: 14)) + + let transferFee = (serviceCharge != "0.00" ? "-\(serviceCharge)" : "\(serviceCharge)").attributedText(color: .themeBlack, font: .sanfrancisco(.semibold, size: 14)) + + + + let transfer = NSMutableAttributedString() + + + + + transfer.append(transferFee) + transfer.append(transferInfo) + + transferFeeLabel.attributedText = transfer + + let exchangeRate = model.exchangeRate ?? "" + + let exchangeRateAttributed = ("1000 JPY = \(exchangeRate) \(exchangeRateModel?.senderCurrency ?? "") ").attributedText(color: .themeBlack, font: .sanfrancisco(.semibold, size: 14)) + + let exchangeRateInfo = ("".localized()).attributedText(color: .theme2E89FF, font: .sanfrancisco(.semibold, size: 14)) - transferFeeInfoLabel.text = "\(transferFee)\n(\("transfer_fee_included_text".localized()))" - exchangeRateLabel.text = - "\(model.exchangeRate ?? "")\n(\("current_exchange_rate_text".localized()))" + + exchangeRateAttributed.append(exchangeRateAttributed) + exchangeRateAttributed.append(exchangeRateInfo) + + exchangeRateLabel.attributedText = exchangeRateAttributed self.showExchangeRateInfomation(isHidden: false) @@ -182,6 +218,7 @@ class SendMoneyExchangeRateViewController: UIViewController { // MARK: VC's Life cycle override func viewDidLoad() { super.viewDidLoad() + setup() self.cardView.isHidden = true cardView.layer.cornerRadius = 10 @@ -235,29 +272,24 @@ class SendMoneyExchangeRateViewController: UIViewController { // MARK: Other Functions private func setup() { // all setup should be done here -// backgroundViewCountryLabel2.hero.id = reciepient?.receiverID -// backgroundViewCountryLabel2.hero.modifiers = [.translate()] + + uiPropertySetup() setupTargets() action = .calculate senderTextField.delegate = self reciepientTextField.delegate = self calcBy = "c" -// [backgroundViewCountryLabel1, backgroundViewCountryLabel2].forEach { $0?.layer.cornerRadius = 5 } [exchangeBackground1, exchangeBackground2].forEach { - $0?.layer.borderWidth = 1 - $0?.layer.borderColor = UIColor.themeSeparate.cgColor + $0?.layer.borderWidth = 2 + $0?.layer.borderColor = UIColor.init(hex: "#00001F").cgColor // UIColor.init(hex: "#E0E0E0").cgColor - $0?.layer.cornerRadius = 5 + $0?.layer.cornerRadius = 16 } configureLanguage() - continueButton.layer.cornerRadius = 5 - continueButton.backgroundColor = .themeRed - continueButton.titleLabel?.font = .sanfrancisco(.medium, size: 18) - senderTextField.textColor = .black reciepientTextField.textColor = .black // backgroundViewCountryLabel1.backgroundColor = .themeRed @@ -266,9 +298,21 @@ class SendMoneyExchangeRateViewController: UIViewController { rewardTextField.placeholder = "rewards_point_placeholder_text".localized() } + private func uiPropertySetup() { + + countryCodeLabel.textColor = .themeBlack + countryCodeLabel.font = .sanfrancisco(.semibold, size: 16) + + continueButton.setTitle("continue_text".localized(), for: .normal) + continueButton.backgroundColor = .theme2E89FF + continueButton.titleLabel?.font = .sanfrancisco(.semibold, size: 20) + continueButton.set(cornerRadius: 10) + + + } + private func showExchangeRateInfomation(isHidden flag: Bool) { -// calculatedInfoView.isHidden = flag -// calculatedInfoView.alpha = flag ? 0.0 : 1.0 + if !flag { self.serviceChargeView.isHidden = false @@ -299,7 +343,7 @@ class SendMoneyExchangeRateViewController: UIViewController { private func configureLanguage() { // youSendTitleLabel.text = "you_send_text".localized() // recipientGetsTitleLabel.text = "receipient_gets_text".localized() - continueButton.setTitle("calculate_text".localized(), for: .normal) + } private func setCountryFlag(countryCode: String) { @@ -314,7 +358,7 @@ class SendMoneyExchangeRateViewController: UIViewController { private func setupTargets() { let tapGuesture = UITapGestureRecognizer(target: self, action: #selector(showCountryList(_:))) countryListTapGuesture = tapGuesture -// countryListStackView.addGestureRecognizer(countryListTapGuesture) + countryFlagImage.addGestureRecognizer(countryListTapGuesture) reciepientTextField.addTarget( @@ -340,10 +384,7 @@ class SendMoneyExchangeRateViewController: UIViewController { private func configureViews() { exchangeRateModel = nil - let dropDownImage = UIImage(named: "dropdown_grey") - let image = dropDownImage - -// dropDownImageView.image = image + setCountryFlag(countryCode: reciepient?.countryCode ?? "") let deliveryMethod = requestModel?.paymemtMode if (deliveryMethod?.bankRequired ?? "false").lowercased() == "true" { @@ -434,10 +475,10 @@ class SendMoneyExchangeRateViewController: UIViewController { let reciepientCountryName = reciepient?.country let reciepientCountryId = reciepient?.countryID let paymentMode = "wallet" - let paymentMethodId = paymentModel?.id + let paymentMethodId = paymentModel?.receiverId let payoutPartner = requestModel?.paymemtMode?.payoutPartner let myUsername = Utility.getMyUserName() - let bankId = requestModel?.bank?.id + let bankId = paymentModel?.receiverId let discountedFee = rewardTextField.text // let discountedFee //bank id if selected bank diff --git a/GME Remit/Supported Files/Info.plist b/GME Remit/Supported Files/Info.plist index 12ddaed0..e852068c 100644 --- a/GME Remit/Supported Files/Info.plist +++ b/GME Remit/Supported Files/Info.plist @@ -81,28 +81,28 @@ NSCalendarsUsageDescription NSCameraUsageDescription - Allow "JME Remittance" to use your camera to capture Identification documents, Deposit slips + Allow "JME Remittance" to use your camera to capture Identification documents, Deposit slips NSContactsUsageDescription - Allow "JME Remittance" to use your contacts to get users contact + Allow "JME Remittance" to use your contacts to get users contact NSFaceIDUsageDescription - Allow "JME Remittance" to use your biometrics to simplify and secure your app usage + Allow "JME Remittance" to use your biometrics to simplify and secure your app usage NSHumanReadableCopyright NSLocationAlwaysAndWhenInUseUsageDescription - Allow "JME Remittance" to use your location? -Turning on location service allows us to show you nearby JME's branches. + Allow "JME Remittance" to use your location? +Turning on location service allows us to show you nearby JME's branches. NSLocationAlwaysUsageDescription - Allow "JME Remittance" to use your location? -Turning on location service allows us to show you nearby JME's branches. + Allow "JME Remittance" to use your location? +Turning on location service allows us to show you nearby JME's branches. NSLocationWhenInUseUsageDescription - Allow "JME Remittance" to use your location? -Turning on location service allows us to show you nearby JME's branches. + Allow "JME Remittance" to use your location? +Turning on location service allows us to show you nearby JME's branches. NSMicrophoneUsageDescription - Allow "JME Remittance" to use your microphone for access to your recorded voice + Allow "JME Remittance" to use your microphone for access to your recorded voice NSPhotoLibraryAddUsageDescription - Allow "JME Remittance" to use your gallery to use images of documents and depositslips + Allow "JME Remittance" to use your gallery to use images of documents and depositslips NSPhotoLibraryUsageDescription - Allow "JME Remittance" to use your gallery to use images of documents and depositslips + Allow "JME Remittance" to use your gallery to use images of documents and depositslips NSSpeechRecognitionUsageDescription UIAppFonts