chore(fastlane): prepare ios app for App Store submission with assets, metadata and screenshots (#2972)
1
Gemfile
@ -1,5 +1,6 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "fastlane"
|
gem "fastlane"
|
||||||
|
gem "cocoapods"
|
||||||
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
|
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
|
||||||
eval_gemfile(plugins_path) if File.exist?(plugins_path)
|
eval_gemfile(plugins_path) if File.exist?(plugins_path)
|
||||||
|
|||||||
82
Gemfile.lock
@ -5,8 +5,23 @@ GEM
|
|||||||
base64
|
base64
|
||||||
nkf
|
nkf
|
||||||
rexml
|
rexml
|
||||||
|
activesupport (7.2.2.1)
|
||||||
|
base64
|
||||||
|
benchmark (>= 0.3)
|
||||||
|
bigdecimal
|
||||||
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
||||||
|
connection_pool (>= 2.2.5)
|
||||||
|
drb
|
||||||
|
i18n (>= 1.6, < 2)
|
||||||
|
logger (>= 1.4.2)
|
||||||
|
minitest (>= 5.1)
|
||||||
|
securerandom (>= 0.3)
|
||||||
|
tzinfo (~> 2.0, >= 2.0.5)
|
||||||
addressable (2.8.7)
|
addressable (2.8.7)
|
||||||
public_suffix (>= 2.0.2, < 7.0)
|
public_suffix (>= 2.0.2, < 7.0)
|
||||||
|
algoliasearch (1.27.5)
|
||||||
|
httpclient (~> 2.8, >= 2.8.3)
|
||||||
|
json (>= 1.5.1)
|
||||||
artifactory (3.0.17)
|
artifactory (3.0.17)
|
||||||
atomos (0.1.3)
|
atomos (0.1.3)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
@ -28,17 +43,63 @@ GEM
|
|||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
babosa (1.0.4)
|
babosa (1.0.4)
|
||||||
base64 (0.2.0)
|
base64 (0.2.0)
|
||||||
|
benchmark (0.3.0)
|
||||||
|
bigdecimal (3.2.2)
|
||||||
claide (1.1.0)
|
claide (1.1.0)
|
||||||
|
cocoapods (1.16.2)
|
||||||
|
addressable (~> 2.8)
|
||||||
|
claide (>= 1.0.2, < 2.0)
|
||||||
|
cocoapods-core (= 1.16.2)
|
||||||
|
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||||
|
cocoapods-downloader (>= 2.1, < 3.0)
|
||||||
|
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||||
|
cocoapods-search (>= 1.0.0, < 2.0)
|
||||||
|
cocoapods-trunk (>= 1.6.0, < 2.0)
|
||||||
|
cocoapods-try (>= 1.1.0, < 2.0)
|
||||||
|
colored2 (~> 3.1)
|
||||||
|
escape (~> 0.0.4)
|
||||||
|
fourflusher (>= 2.3.0, < 3.0)
|
||||||
|
gh_inspector (~> 1.0)
|
||||||
|
molinillo (~> 0.8.0)
|
||||||
|
nap (~> 1.0)
|
||||||
|
ruby-macho (>= 2.3.0, < 3.0)
|
||||||
|
xcodeproj (>= 1.27.0, < 2.0)
|
||||||
|
cocoapods-core (1.16.2)
|
||||||
|
activesupport (>= 5.0, < 8)
|
||||||
|
addressable (~> 2.8)
|
||||||
|
algoliasearch (~> 1.0)
|
||||||
|
concurrent-ruby (~> 1.1)
|
||||||
|
fuzzy_match (~> 2.0.4)
|
||||||
|
nap (~> 1.0)
|
||||||
|
netrc (~> 0.11)
|
||||||
|
public_suffix (~> 4.0)
|
||||||
|
typhoeus (~> 1.0)
|
||||||
|
cocoapods-deintegrate (1.0.5)
|
||||||
|
cocoapods-downloader (2.1)
|
||||||
|
cocoapods-plugins (1.0.0)
|
||||||
|
nap
|
||||||
|
cocoapods-search (1.0.1)
|
||||||
|
cocoapods-trunk (1.6.0)
|
||||||
|
nap (>= 0.8, < 2.0)
|
||||||
|
netrc (~> 0.11)
|
||||||
|
cocoapods-try (1.2.0)
|
||||||
colored (1.2)
|
colored (1.2)
|
||||||
colored2 (3.1.2)
|
colored2 (3.1.2)
|
||||||
commander (4.6.0)
|
commander (4.6.0)
|
||||||
highline (~> 2.0.0)
|
highline (~> 2.0.0)
|
||||||
|
concurrent-ruby (1.3.5)
|
||||||
|
connection_pool (2.5.0)
|
||||||
declarative (0.0.20)
|
declarative (0.0.20)
|
||||||
digest-crc (0.7.0)
|
digest-crc (0.7.0)
|
||||||
rake (>= 12.0.0, < 14.0.0)
|
rake (>= 12.0.0, < 14.0.0)
|
||||||
domain_name (0.6.20240107)
|
domain_name (0.6.20240107)
|
||||||
dotenv (2.8.1)
|
dotenv (2.8.1)
|
||||||
|
drb (2.2.0)
|
||||||
|
ruby2_keywords
|
||||||
emoji_regex (3.2.3)
|
emoji_regex (3.2.3)
|
||||||
|
escape (0.0.4)
|
||||||
|
ethon (0.16.0)
|
||||||
|
ffi (>= 1.15.0)
|
||||||
excon (0.112.0)
|
excon (0.112.0)
|
||||||
faraday (1.10.4)
|
faraday (1.10.4)
|
||||||
faraday-em_http (~> 1.0)
|
faraday-em_http (~> 1.0)
|
||||||
@ -117,6 +178,9 @@ GEM
|
|||||||
fastlane-plugin-increment_build_number (0.0.4)
|
fastlane-plugin-increment_build_number (0.0.4)
|
||||||
fastlane-sirp (1.0.0)
|
fastlane-sirp (1.0.0)
|
||||||
sysrandom (~> 1.0)
|
sysrandom (~> 1.0)
|
||||||
|
ffi (1.17.1-arm64-darwin)
|
||||||
|
fourflusher (2.3.1)
|
||||||
|
fuzzy_match (2.0.4)
|
||||||
gh_inspector (1.1.3)
|
gh_inspector (1.1.3)
|
||||||
google-apis-androidpublisher_v3 (0.54.0)
|
google-apis-androidpublisher_v3 (0.54.0)
|
||||||
google-apis-core (>= 0.11.0, < 2.a)
|
google-apis-core (>= 0.11.0, < 2.a)
|
||||||
@ -162,21 +226,28 @@ GEM
|
|||||||
http-cookie (1.0.8)
|
http-cookie (1.0.8)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
|
i18n (1.14.7)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
jmespath (1.6.2)
|
jmespath (1.6.2)
|
||||||
json (2.9.1)
|
json (2.9.1)
|
||||||
jwt (2.10.1)
|
jwt (2.10.1)
|
||||||
base64
|
base64
|
||||||
|
logger (1.7.0)
|
||||||
mini_magick (4.13.2)
|
mini_magick (4.13.2)
|
||||||
mini_mime (1.1.5)
|
mini_mime (1.1.5)
|
||||||
|
minitest (5.20.0)
|
||||||
|
molinillo (0.8.0)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
multipart-post (2.4.1)
|
multipart-post (2.4.1)
|
||||||
nanaimo (0.4.0)
|
nanaimo (0.4.0)
|
||||||
|
nap (1.1.0)
|
||||||
naturally (2.2.1)
|
naturally (2.2.1)
|
||||||
|
netrc (0.11.0)
|
||||||
nkf (0.2.0)
|
nkf (0.2.0)
|
||||||
optparse (0.6.0)
|
optparse (0.6.0)
|
||||||
os (1.1.4)
|
os (1.1.4)
|
||||||
plist (3.7.2)
|
plist (3.7.2)
|
||||||
public_suffix (6.0.1)
|
public_suffix (4.0.7)
|
||||||
rake (13.2.1)
|
rake (13.2.1)
|
||||||
representable (3.2.0)
|
representable (3.2.0)
|
||||||
declarative (< 0.1.0)
|
declarative (< 0.1.0)
|
||||||
@ -185,8 +256,10 @@ GEM
|
|||||||
retriable (3.1.2)
|
retriable (3.1.2)
|
||||||
rexml (3.4.0)
|
rexml (3.4.0)
|
||||||
rouge (3.28.0)
|
rouge (3.28.0)
|
||||||
|
ruby-macho (2.5.1)
|
||||||
ruby2_keywords (0.0.5)
|
ruby2_keywords (0.0.5)
|
||||||
rubyzip (2.4.1)
|
rubyzip (2.4.1)
|
||||||
|
securerandom (0.3.1)
|
||||||
security (0.1.5)
|
security (0.1.5)
|
||||||
signet (0.19.0)
|
signet (0.19.0)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
@ -205,6 +278,10 @@ GEM
|
|||||||
tty-screen (0.8.2)
|
tty-screen (0.8.2)
|
||||||
tty-spinner (0.9.3)
|
tty-spinner (0.9.3)
|
||||||
tty-cursor (~> 0.7)
|
tty-cursor (~> 0.7)
|
||||||
|
typhoeus (1.4.1)
|
||||||
|
ethon (>= 0.9.0)
|
||||||
|
tzinfo (2.0.6)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
uber (0.1.0)
|
uber (0.1.0)
|
||||||
unicode-display_width (2.6.0)
|
unicode-display_width (2.6.0)
|
||||||
word_wrap (1.0.0)
|
word_wrap (1.0.0)
|
||||||
@ -221,10 +298,11 @@ GEM
|
|||||||
xcpretty (~> 0.2, >= 0.0.7)
|
xcpretty (~> 0.2, >= 0.0.7)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
|
arm64-darwin-24
|
||||||
ruby
|
ruby
|
||||||
x64-mingw-ucrt
|
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
|
cocoapods
|
||||||
fastlane
|
fastlane
|
||||||
fastlane-plugin-firebase_app_distribution
|
fastlane-plugin-firebase_app_distribution
|
||||||
fastlane-plugin-increment_build_number
|
fastlane-plugin-increment_build_number
|
||||||
|
|||||||
@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "7555FF7A242A565900829871"
|
||||||
|
BuildableName = "Mifos Mobile.app"
|
||||||
|
BlueprintName = "iosApp"
|
||||||
|
ReferencedContainer = "container:iosApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "7555FF7A242A565900829871"
|
||||||
|
BuildableName = "Mifos Mobile.app"
|
||||||
|
BlueprintName = "iosApp"
|
||||||
|
ReferencedContainer = "container:iosApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"images" : [
|
"images" : [
|
||||||
{
|
{
|
||||||
"filename" : "mifospay_logo_1024.png",
|
"filename" : "mifosmobile_logo_1024.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"platform" : "ios",
|
"platform" : "ios",
|
||||||
"size" : "1024x1024"
|
"size" : "1024x1024"
|
||||||
|
|||||||
|
After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 36 KiB |
@ -2,6 +2,8 @@
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
|
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||||
|
<true/>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
@ -15,20 +17,19 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.0</string>
|
<string>1.0.0</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>4</string>
|
||||||
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
<false/>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
<key>NSCameraUsageDescription</key>
|
||||||
<true/>
|
<string>We use the camera to scan QR codes for payments and to add beneficiaries. No images or video are stored.</string>
|
||||||
<key>NSPhotoLibraryAddUsageDescription</key>
|
<key>NSPhotoLibraryAddUsageDescription</key>
|
||||||
<string>Allow access to add photos to your library so you can save artworks directly to your device and view them offline.</string>
|
<string>Allow access to choose a photo or document you decide to upload (e.g., profile photo or ID).</string>
|
||||||
<key>UIApplicationSceneManifest</key>
|
<key>NSPhotoLibraryUsageDescription</key>
|
||||||
<dict>
|
<string>Allow access to choose a photo or document you decide to upload (e.g., profile photo or ID).</string>
|
||||||
<key>UIApplicationSupportsMultipleScenes</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<key>UIApplicationSceneManifest</key>
|
<key>UIApplicationSceneManifest</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>UIApplicationSupportsMultipleScenes</key>
|
<key>UIApplicationSupportsMultipleScenes</key>
|
||||||
|
|||||||
@ -393,7 +393,9 @@ platform :ios do
|
|||||||
update_plist(
|
update_plist(
|
||||||
plist_path: ios_config[:plist_path],
|
plist_path: ios_config[:plist_path],
|
||||||
block: proc do |plist|
|
block: proc do |plist|
|
||||||
plist["NSCameraUsageDescription"] = "We use the camera to scan QR codes to send and receive payments."
|
plist["ITSAppUsesNonExemptEncryption"] = false
|
||||||
|
plist["NSCameraUsageDescription"] = "We use the camera to scan QR codes for payments and to add beneficiaries. No images or video are stored."
|
||||||
|
plist["NSPhotoLibraryUsageDescription"] = "Allow access to choose a photo or document you decide to upload (e.g., profile photo or ID)."
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
@ -468,7 +470,7 @@ platform :ios do
|
|||||||
build_signed_ios(
|
build_signed_ios(
|
||||||
options.merge(
|
options.merge(
|
||||||
match_type: "adhoc",
|
match_type: "adhoc",
|
||||||
provisioning_profile_name: "match AdHoc org.mifospay"
|
provisioning_profile_name: "match AdHoc org.mifos.mobile"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -513,7 +515,7 @@ platform :ios do
|
|||||||
|
|
||||||
build_ios_project(
|
build_ios_project(
|
||||||
options.merge(
|
options.merge(
|
||||||
provisioning_profile_name: "match AppStore org.mifospay"
|
provisioning_profile_name: "match AppStore org.mifos.mobile"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -554,11 +556,12 @@ platform :ios do
|
|||||||
|
|
||||||
build_ios_project(
|
build_ios_project(
|
||||||
options.merge(
|
options.merge(
|
||||||
provisioning_profile_name: "match AppStore org.mifospay"
|
provisioning_profile_name: "match AppStore org.mifos.mobile"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
deliver(
|
deliver(
|
||||||
|
screenshots_path: ios_config[:screenshots_ios_path],
|
||||||
metadata_path: options[:metadata_path] || ios_config[:metadata_path],
|
metadata_path: options[:metadata_path] || ios_config[:metadata_path],
|
||||||
submit_for_review: false, # Set to true if you want to auto-submit for review
|
submit_for_review: false, # Set to true if you want to auto-submit for review
|
||||||
automatic_release: true, # Set to true if you want to auto-release once it approved
|
automatic_release: true, # Set to true if you want to auto-release once it approved
|
||||||
|
|||||||
16
fastlane/age_rating.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"violenceCartoonOrFantasy": "NONE",
|
||||||
|
"violenceRealistic": "NONE",
|
||||||
|
"violenceRealisticProlongedGraphicOrSadistic": "NONE",
|
||||||
|
"profanityOrCrudeHumor": "NONE",
|
||||||
|
"matureOrSuggestiveThemes": "NONE",
|
||||||
|
"horrorOrFearThemes": "NONE",
|
||||||
|
"sexualContentGraphicAndNudity": "NONE",
|
||||||
|
"alcoholTobaccoOrDrugUseOrReferences": "NONE",
|
||||||
|
"gamblingSimulated": "NONE",
|
||||||
|
"sexualContentOrNudity": "NONE",
|
||||||
|
"contests": "NONE",
|
||||||
|
"medicalOrTreatmentInformation": "NONE",
|
||||||
|
"unrestrictedWebAccess": false,
|
||||||
|
"gambling": false
|
||||||
|
}
|
||||||
101
fastlane/app_privacy_details.json
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"category": "CONTACTS",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "CREDIT_AND_FRAUD",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "DEVICE_ID",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "EMAIL_ADDRESS",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "NAME",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "OTHER_FINANCIAL_INFO",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "PAYMENT_INFORMATION",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "PHONE_NUMBER",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "PHOTOS_OR_VIDEOS",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "PHYSICAL_ADDRESS",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "USER_ID",
|
||||||
|
"purposes": [
|
||||||
|
"APP_FUNCTIONALITY"
|
||||||
|
],
|
||||||
|
"data_protections": [
|
||||||
|
"DATA_LINKED_TO_YOU"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
3
fastlane/metadata/ios/copyright.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
© 2025 The Mifos Initiative
|
||||||
|
|
||||||
|
This app is licensed under the Mozilla Public License, v. 2.0.
|
||||||
1
fastlane/metadata/ios/en-US/apple_tv_privacy_policy.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
12
fastlane/metadata/ios/en-US/description.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Mifos Mobile is a modern, white-label mobile banking app for financial institutions running Mifos X / Apache Fineract. It gives customers a clear view of their savings and loan accounts and lets them move money, repay loans, and stay on top of activity—all from a clean, intuitive interface.
|
||||||
|
|
||||||
|
WHAT YOU CAN DO
|
||||||
|
• View a summary of all your accounts at a glance, with detailed balances and transaction history
|
||||||
|
• Download or review account statements
|
||||||
|
• Apply for new accounts (when enabled by your institution)
|
||||||
|
• Transfer funds between your own savings accounts
|
||||||
|
• Repay loans directly from linked savings accounts
|
||||||
|
• Send money to other customers of your financial institution
|
||||||
|
• Add beneficiaries quickly—scan or share a QR code to set them up
|
||||||
|
• See recent activity instantly and receive in-app notifications about important events and campaigns
|
||||||
|
• Manage profile details and change your password from Settings
|
||||||
2
fastlane/metadata/ios/en-US/keywords.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
mobilebanking,onlinebanking,savingsaccount,loanrepayment,statements,transfers,beneficiaries
|
||||||
|
|
||||||
1
fastlane/metadata/ios/en-US/marketing_url.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
fastlane/metadata/ios/en-US/name.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Mifos Mobile
|
||||||
1
fastlane/metadata/ios/en-US/privacy_url.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://openmf.github.io/privacy_policy_mifos_mobile.html
|
||||||
1
fastlane/metadata/ios/en-US/promotional_text.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Manage savings and loans, view statements, transfer money, repay loans, and get in-app notifications—securely connected to your financial institution.
|
||||||
1
fastlane/metadata/ios/en-US/release_notes.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
fastlane/metadata/ios/en-US/subtitle.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Banking for Mifos & Fineract
|
||||||
1
fastlane/metadata/ios/en-US/support_url.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://github.com/openMF/mifos-mobile
|
||||||
1
fastlane/metadata/ios/primary_category.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
FINANCE
|
||||||
1
fastlane/metadata/ios/primary_first_sub_category.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
fastlane/metadata/ios/primary_second_sub_category.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
@ -0,0 +1 @@
|
|||||||
|
password
|
||||||
1
fastlane/metadata/ios/review_information/demo_user.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
maria
|
||||||
@ -0,0 +1 @@
|
|||||||
|
info@mifos.org
|
||||||
1
fastlane/metadata/ios/review_information/first_name.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Hekmatullah
|
||||||
1
fastlane/metadata/ios/review_information/last_name.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Amin
|
||||||
1
fastlane/metadata/ios/review_information/notes.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
@ -0,0 +1 @@
|
|||||||
|
+44 7391462187
|
||||||
1
fastlane/metadata/ios/secondary_category.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
BUSINESS
|
||||||
1
fastlane/metadata/ios/secondary_first_sub_category.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
fastlane/metadata/ios/secondary_second_sub_category.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
BIN
fastlane/screenshots_ios/en-US/0_APP_IPAD_PRO_3GEN_129_0.png
Normal file
|
After Width: | Height: | Size: 753 KiB |
BIN
fastlane/screenshots_ios/en-US/0_APP_IPHONE_65_0.png
Normal file
|
After Width: | Height: | Size: 487 KiB |
BIN
fastlane/screenshots_ios/en-US/1_APP_IPAD_PRO_3GEN_129_1.png
Normal file
|
After Width: | Height: | Size: 690 KiB |
BIN
fastlane/screenshots_ios/en-US/1_APP_IPHONE_65_1.png
Normal file
|
After Width: | Height: | Size: 464 KiB |
BIN
fastlane/screenshots_ios/en-US/2_APP_IPAD_PRO_3GEN_129_2.png
Normal file
|
After Width: | Height: | Size: 794 KiB |
BIN
fastlane/screenshots_ios/en-US/2_APP_IPHONE_65_2.png
Normal file
|
After Width: | Height: | Size: 527 KiB |
BIN
fastlane/screenshots_ios/en-US/3_APP_IPAD_PRO_3GEN_129_3.png
Normal file
|
After Width: | Height: | Size: 756 KiB |
BIN
fastlane/screenshots_ios/en-US/3_APP_IPHONE_65_3.png
Normal file
|
After Width: | Height: | Size: 565 KiB |
BIN
fastlane/screenshots_ios/en-US/4_APP_IPAD_PRO_3GEN_129_4.png
Normal file
|
After Width: | Height: | Size: 960 KiB |
BIN
fastlane/screenshots_ios/en-US/4_APP_IPHONE_65_4.png
Normal file
|
After Width: | Height: | Size: 406 KiB |