diff --git a/app/android/app/src/main/AndroidManifest_local b/app/android/app/src/main/AndroidManifest_local
index 9b7e617ce..16e992674 100644
--- a/app/android/app/src/main/AndroidManifest_local
+++ b/app/android/app/src/main/AndroidManifest_local
@@ -24,19 +24,19 @@
-
+
-
+
-
+
diff --git a/app/android/app/src/main/AndroidManifest_staging b/app/android/app/src/main/AndroidManifest_staging
index ecef33448..da90a8d85 100644
--- a/app/android/app/src/main/AndroidManifest_staging
+++ b/app/android/app/src/main/AndroidManifest_staging
@@ -26,19 +26,19 @@
-
+
-
+
-
+
diff --git a/app/android/app/src/main/AndroidManifest_testing b/app/android/app/src/main/AndroidManifest_testing
index d1fadbb47..75b3cef60 100644
--- a/app/android/app/src/main/AndroidManifest_testing
+++ b/app/android/app/src/main/AndroidManifest_testing
@@ -24,19 +24,19 @@
-
+
-
+
-
+
diff --git a/app/build.sh b/app/build.sh
index 2a1307d96..051a70cf2 100755
--- a/app/build.sh
+++ b/app/build.sh
@@ -42,6 +42,8 @@ switchConfigs() {
cp android/app/src/main/res/mipmap-xxhdpi/ic_launcher_$1.png android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
cp android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_$1.png android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+ cp ios/Runner/Info_$1 ios/Runner/Info.plist
+
# cp android/app/google-services_$1 android/app/google-services.json
# cp ios/Runner/GoogleService-Info_$1 ios/Runner/GoogleService-Info.plist
}
diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock
index 3cc5c5012..cd66bf3b7 100644
--- a/app/ios/Podfile.lock
+++ b/app/ios/Podfile.lock
@@ -33,7 +33,7 @@ PODS:
- shared_preferences_ios (0.0.1):
- Flutter
- ShuftiPro (1.1.5)
- - shuftipro_sdk (1.1.4):
+ - shuftipro_sdk (2.0.4):
- Flutter
- ShuftiPro
- SwiftSocket (2.0.2)
@@ -124,7 +124,7 @@ SPEC CHECKSUMS:
redirection: 86a0674fdc4d10643d0a2b45d2b73a9aba1363b8
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
ShuftiPro: 8850ec667a807a772c6958c74499801bba76cdf9
- shuftipro_sdk: 6f1eef3a64faf9a54fdeee7dbcdf55ad97164657
+ shuftipro_sdk: 423ec5be99f7c233d01575f47fbaaccdce7f28f4
SwiftSocket: 6f4c9c63fbc5c1d61188936bb3c599fd546f40ae
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
diff --git a/app/ios/Runner/Info.plist b/app/ios/Runner/Info.plist
index 030070edd..e5188351a 100644
--- a/app/ios/Runner/Info.plist
+++ b/app/ios/Runner/Info.plist
@@ -85,4 +85,4 @@
io.flutter.embedded_views_preview
-
+
\ No newline at end of file
diff --git a/app/ios/Runner/Info_local b/app/ios/Runner/Info_local
new file mode 100644
index 000000000..1876d4640
--- /dev/null
+++ b/app/ios/Runner/Info_local
@@ -0,0 +1,88 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ ThreeFold Connect
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ threebotlogin
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(MARKETING_VERSION)
+ CFBundleSignature
+ ????
+ CFBundleURLTypes
+
+
+ CFBundleTypeRole
+ Editor
+ CFBundleURLName
+ org.jimber.threebot
+ CFBundleURLSchemes
+
+ threebot-local
+
+
+
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ ITSAppUsesNonExemptEncryption
+
+ LSApplicationCategoryType
+
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 13.0
+ NSAppleMusicUsageDescription
+ App requires access to your Apple music
+ NSCalendarsUsageDescription
+ App requires access to your calendar
+ NSCameraUsageDescription
+ App requires access to your camera to allow you to scan QR codes.
+ NSContactsUsageDescription
+ App requires access to your contacts
+ NSFaceIDUsageDescription
+ ThreeFold Connect would like permission for using Face ID or Touch ID
+ NSLocationWhenInUseUsageDescription
+ App requires access to your location
+ NSMicrophoneUsageDescription
+ App requires access to your microphone to validate your identity
+ NSMotionUsageDescription
+ App requires access to your motion usage
+ NSSpeechRecognitionUsageDescription
+ App requires access to your speech
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIStatusBarHidden
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+ io.flutter.embedded_views_preview
+
+
+
\ No newline at end of file
diff --git a/app/ios/Runner/Info_production b/app/ios/Runner/Info_production
new file mode 100644
index 000000000..e5188351a
--- /dev/null
+++ b/app/ios/Runner/Info_production
@@ -0,0 +1,88 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ ThreeFold Connect
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ threebotlogin
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(MARKETING_VERSION)
+ CFBundleSignature
+ ????
+ CFBundleURLTypes
+
+
+ CFBundleTypeRole
+ Editor
+ CFBundleURLName
+ org.jimber.threebot
+ CFBundleURLSchemes
+
+ threebot
+
+
+
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ ITSAppUsesNonExemptEncryption
+
+ LSApplicationCategoryType
+
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 13.0
+ NSAppleMusicUsageDescription
+ App requires access to your Apple music
+ NSCalendarsUsageDescription
+ App requires access to your calendar
+ NSCameraUsageDescription
+ App requires access to your camera to allow you to scan QR codes.
+ NSContactsUsageDescription
+ App requires access to your contacts
+ NSFaceIDUsageDescription
+ ThreeFold Connect would like permission for using Face ID or Touch ID
+ NSLocationWhenInUseUsageDescription
+ App requires access to your location
+ NSMicrophoneUsageDescription
+ App requires access to your microphone to validate your identity
+ NSMotionUsageDescription
+ App requires access to your motion usage
+ NSSpeechRecognitionUsageDescription
+ App requires access to your speech
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIStatusBarHidden
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+ io.flutter.embedded_views_preview
+
+
+
\ No newline at end of file
diff --git a/app/ios/Runner/Info_staging b/app/ios/Runner/Info_staging
new file mode 100644
index 000000000..f23031e80
--- /dev/null
+++ b/app/ios/Runner/Info_staging
@@ -0,0 +1,88 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ ThreeFold Connect
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ threebotlogin
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(MARKETING_VERSION)
+ CFBundleSignature
+ ????
+ CFBundleURLTypes
+
+
+ CFBundleTypeRole
+ Editor
+ CFBundleURLName
+ org.jimber.threebot
+ CFBundleURLSchemes
+
+ threebot-staging
+
+
+
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ ITSAppUsesNonExemptEncryption
+
+ LSApplicationCategoryType
+
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 13.0
+ NSAppleMusicUsageDescription
+ App requires access to your Apple music
+ NSCalendarsUsageDescription
+ App requires access to your calendar
+ NSCameraUsageDescription
+ App requires access to your camera to allow you to scan QR codes.
+ NSContactsUsageDescription
+ App requires access to your contacts
+ NSFaceIDUsageDescription
+ ThreeFold Connect would like permission for using Face ID or Touch ID
+ NSLocationWhenInUseUsageDescription
+ App requires access to your location
+ NSMicrophoneUsageDescription
+ App requires access to your microphone to validate your identity
+ NSMotionUsageDescription
+ App requires access to your motion usage
+ NSSpeechRecognitionUsageDescription
+ App requires access to your speech
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIStatusBarHidden
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+ io.flutter.embedded_views_preview
+
+
+
\ No newline at end of file
diff --git a/app/ios/Runner/Info_testing b/app/ios/Runner/Info_testing
new file mode 100644
index 000000000..a408d04ed
--- /dev/null
+++ b/app/ios/Runner/Info_testing
@@ -0,0 +1,88 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ ThreeFold Connect
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ threebotlogin
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(MARKETING_VERSION)
+ CFBundleSignature
+ ????
+ CFBundleURLTypes
+
+
+ CFBundleTypeRole
+ Editor
+ CFBundleURLName
+ org.jimber.threebot
+ CFBundleURLSchemes
+
+ threebot-testing
+
+
+
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ ITSAppUsesNonExemptEncryption
+
+ LSApplicationCategoryType
+
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 13.0
+ NSAppleMusicUsageDescription
+ App requires access to your Apple music
+ NSCalendarsUsageDescription
+ App requires access to your calendar
+ NSCameraUsageDescription
+ App requires access to your camera to allow you to scan QR codes.
+ NSContactsUsageDescription
+ App requires access to your contacts
+ NSFaceIDUsageDescription
+ ThreeFold Connect would like permission for using Face ID or Touch ID
+ NSLocationWhenInUseUsageDescription
+ App requires access to your location
+ NSMicrophoneUsageDescription
+ App requires access to your microphone to validate your identity
+ NSMotionUsageDescription
+ App requires access to your motion usage
+ NSSpeechRecognitionUsageDescription
+ App requires access to your speech
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIStatusBarHidden
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+ io.flutter.embedded_views_preview
+
+
+
\ No newline at end of file
diff --git a/frontend/public/config.prod.js b/frontend/public/config.prod.js
index bcbf10d89..ae7cdaf00 100644
--- a/frontend/public/config.prod.js
+++ b/frontend/public/config.prod.js
@@ -1,4 +1,5 @@
export default ({
apiurl: 'https://login.threefold.me/',
- openkycurl: 'https://openkyc.live/'
+ openkycurl: 'https://openkyc.live/',
+ deeplink: 'threebot://'
})
diff --git a/frontend/public/config.staging.js b/frontend/public/config.staging.js
index 6ab65a190..e0533bf71 100644
--- a/frontend/public/config.staging.js
+++ b/frontend/public/config.staging.js
@@ -1,4 +1,5 @@
export default ({
apiurl: 'https://login.staging.jimber.io/',
- openkycurl: 'https://openkyc.staging.jimber.io/'
+ openkycurl: 'https://openkyc.staging.jimber.io/',
+ deeplink: 'threebot-staging://'
})
diff --git a/frontend/public/config.testing.js b/frontend/public/config.testing.js
index 337c3134a..71ff5f440 100644
--- a/frontend/public/config.testing.js
+++ b/frontend/public/config.testing.js
@@ -1,4 +1,5 @@
export default ({
apiurl: 'https://login.testing.jimber.org/',
- openkycurl: 'https://openkyc.testing.jimber.org/'
+ openkycurl: 'https://openkyc.testing.jimber.org/',
+ deeplink: 'threebot-testing://'
})
diff --git a/frontend/src/views/Initial/Initial.js b/frontend/src/views/Initial/Initial.js
index 3a7a4b4b8..ee9f1d3c7 100644
--- a/frontend/src/views/Initial/Initial.js
+++ b/frontend/src/views/Initial/Initial.js
@@ -4,6 +4,8 @@ import {
} from 'vuex'
const cookies = require('vue-cookies')
+import config from '../public/config'
+
export default {
name: 'initial',
components: {},
@@ -136,7 +138,7 @@ export default {
})
this.setRandomRoom(this.randomRoom)
- var url = `threebot://login?state=${encodeURIComponent(this._state)}&randomRoom=${this.randomRoom}`
+ var url = `${config.deeplink}login?state=${encodeURIComponent(this._state)}&randomRoom=${this.randomRoom}`
if (this.scope) url += `&scope=${encodeURIComponent(this.scope)}`
if (this.appId) url += `&appId=${encodeURIComponent(this.appId)}`
if (this.appPublicKey) url += `&appPublicKey=${encodeURIComponent(this.appPublicKey)}`
@@ -155,7 +157,7 @@ export default {
firstTime: false
})
if (this.isMobile) {
- var url = `threebot://login/?state=${encodeURIComponent(this._state)}`
+ var url = `${config.deeplink}login/?state=${encodeURIComponent(this._state)}`
if (this.scope) url += `&scope=${encodeURIComponent(this.scope)}`
if (this.appId) url += `&appId=${encodeURIComponent(this.appId)}`
if (this.appPublicKey) url += `&appPublicKey=${encodeURIComponent(this.appPublicKey)}`
diff --git a/frontend/src/views/Login/Login.js b/frontend/src/views/Login/Login.js
index 6d927eba2..7a4d130b6 100644
--- a/frontend/src/views/Login/Login.js
+++ b/frontend/src/views/Login/Login.js
@@ -1,4 +1,5 @@
import { mapGetters, mapActions } from 'vuex'
+import config from '../public/config'
export default {
name: 'login',
@@ -46,7 +47,7 @@ export default {
},
openApp () {
if (this.isMobile) {
- var url = `threebot://login/?state=${encodeURIComponent(this._state)}`
+ var url = `${config.deeplink}login/?state=${encodeURIComponent(this._state)}`
if (this.scope) url += `&scope=${encodeURIComponent(this.scope)}`
if (this.appId) url += `&appId=${encodeURIComponent(this.appId)}`
if (this.appPublicKey) url += `&appPublicKey=${encodeURIComponent(this.appPublicKey)}`
diff --git a/frontend/src/views/Sign/sign.js b/frontend/src/views/Sign/sign.js
index da3a416db..cc14e490c 100644
--- a/frontend/src/views/Sign/sign.js
+++ b/frontend/src/views/Sign/sign.js
@@ -2,6 +2,7 @@ import {
mapActions,
mapGetters
} from 'vuex'
+import config from '../public/config'
export default {
name: 'initial',
@@ -116,7 +117,7 @@ export default {
})
if (this.isMobile) {
- var url = `threebot://sign/?state=${encodeURIComponent(this._state)}&randomRoom=${this.randomRoom}`
+ var url = `${config.deeplink}sign/?state=${encodeURIComponent(this._state)}&randomRoom=${this.randomRoom}`
if (this.appId) url += `&appId=${encodeURIComponent(this.appId)}`
if (dataHash) url += `&dataHash=${encodeURIComponent(this.dataUrlHash)}`
if (dataUrl) url += `&dataUrl=${encodeURIComponent(this.dataUrl)}`
diff --git a/frontend/src/views/VerifyEmail/VerifyEmail.js b/frontend/src/views/VerifyEmail/VerifyEmail.js
index ac5180922..6e4c6f891 100644
--- a/frontend/src/views/VerifyEmail/VerifyEmail.js
+++ b/frontend/src/views/VerifyEmail/VerifyEmail.js
@@ -1,4 +1,6 @@
import { mapActions, mapGetters } from 'vuex'
+import config from '../public/config'
+
export default {
name: 'verify-email',
@@ -33,7 +35,7 @@ export default {
]),
openApp () {
if (this.isMobile) {
- var url = `threebot://login/?state=${encodeURIComponent(this.state)}`
+ var url = `${config.deeplink}login/?state=${encodeURIComponent(this.state)}`
if (this.scope) url += `&scope=${encodeURIComponent(this.scope)}`
if (this.appId) url += `&appId=${encodeURIComponent(this.appId)}`
if (this.appPublicKey) url += `&appPublicKey=${encodeURIComponent(this.appPublicKey)}`
diff --git a/frontend/src/views/VerifySms/VerifySms.js b/frontend/src/views/VerifySms/VerifySms.js
index d52beaa4e..99df58286 100644
--- a/frontend/src/views/VerifySms/VerifySms.js
+++ b/frontend/src/views/VerifySms/VerifySms.js
@@ -1,4 +1,5 @@
import { mapActions, mapGetters } from 'vuex'
+import config from '../public/config'
export default {
name: 'verify-sms',
@@ -33,7 +34,7 @@ export default {
]),
openApp () {
if (this.isMobile) {
- var url = `threebot://login/?state=${encodeURIComponent(this.state)}`
+ var url = `${config.deeplink}login/?state=${encodeURIComponent(this.state)}`
if (this.scope) url += `&scope=${encodeURIComponent(this.scope)}`
if (this.appId) url += `&appId=${encodeURIComponent(this.appId)}`
if (this.appPublicKey) url += `&appPublicKey=${encodeURIComponent(this.appPublicKey)}`