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)}`