Commit dda6f732 authored by jzhang's avatar jzhang

no message

parent 823d96a3
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
694B85F82848ECFC009BEDE1 /* Toast.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 694B85D62848EBB2009BEDE1 /* Toast.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 694B85F82848ECFC009BEDE1 /* Toast.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 694B85D62848EBB2009BEDE1 /* Toast.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
694B85F92848EDC4009BEDE1 /* FlutterPluginRegistrant.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 694B85D12848EBB1009BEDE1 /* FlutterPluginRegistrant.xcframework */; }; 694B85F92848EDC4009BEDE1 /* FlutterPluginRegistrant.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 694B85D12848EBB1009BEDE1 /* FlutterPluginRegistrant.xcframework */; };
694B85FD284902EF009BEDE1 /* permission_handler_apple.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 694B85D82848EBB2009BEDE1 /* permission_handler_apple.xcframework */; }; 694B85FD284902EF009BEDE1 /* permission_handler_apple.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 694B85D82848EBB2009BEDE1 /* permission_handler_apple.xcframework */; };
697B07ED284F2E5C0051FC23 /* CompleteVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 697B07EC284F2E5C0051FC23 /* CompleteVC.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
...@@ -82,6 +83,7 @@ ...@@ -82,6 +83,7 @@
694B85D72848EBB2009BEDE1 /* Flutter.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Flutter.xcframework; sourceTree = "<group>"; }; 694B85D72848EBB2009BEDE1 /* Flutter.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Flutter.xcframework; sourceTree = "<group>"; };
694B85D82848EBB2009BEDE1 /* permission_handler_apple.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = permission_handler_apple.xcframework; sourceTree = "<group>"; }; 694B85D82848EBB2009BEDE1 /* permission_handler_apple.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = permission_handler_apple.xcframework; sourceTree = "<group>"; };
694B85D92848EBB2009BEDE1 /* fluttertoast.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = fluttertoast.xcframework; sourceTree = "<group>"; }; 694B85D92848EBB2009BEDE1 /* fluttertoast.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = fluttertoast.xcframework; sourceTree = "<group>"; };
697B07EC284F2E5C0051FC23 /* CompleteVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompleteVC.swift; sourceTree = "<group>"; };
8C76E81CF245C7C738786086 /* Pods-BreastFeedingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BreastFeedingDemo.debug.xcconfig"; path = "Target Support Files/Pods-BreastFeedingDemo/Pods-BreastFeedingDemo.debug.xcconfig"; sourceTree = "<group>"; }; 8C76E81CF245C7C738786086 /* Pods-BreastFeedingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BreastFeedingDemo.debug.xcconfig"; path = "Target Support Files/Pods-BreastFeedingDemo/Pods-BreastFeedingDemo.debug.xcconfig"; sourceTree = "<group>"; };
A4415E51DE97A1784932289A /* Pods-BreastFeedingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BreastFeedingDemo.release.xcconfig"; path = "Target Support Files/Pods-BreastFeedingDemo/Pods-BreastFeedingDemo.release.xcconfig"; sourceTree = "<group>"; }; A4415E51DE97A1784932289A /* Pods-BreastFeedingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BreastFeedingDemo.release.xcconfig"; path = "Target Support Files/Pods-BreastFeedingDemo/Pods-BreastFeedingDemo.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
...@@ -143,6 +145,7 @@ ...@@ -143,6 +145,7 @@
694B85BB2848EB4C009BEDE1 /* AppDelegate.swift */, 694B85BB2848EB4C009BEDE1 /* AppDelegate.swift */,
694B85BD2848EB4C009BEDE1 /* SceneDelegate.swift */, 694B85BD2848EB4C009BEDE1 /* SceneDelegate.swift */,
694B85BF2848EB4C009BEDE1 /* ViewController.swift */, 694B85BF2848EB4C009BEDE1 /* ViewController.swift */,
697B07EC284F2E5C0051FC23 /* CompleteVC.swift */,
692EC419284C81700043E3EA /* ViewModel.swift */, 692EC419284C81700043E3EA /* ViewModel.swift */,
694B85C12848EB4C009BEDE1 /* Main.storyboard */, 694B85C12848EB4C009BEDE1 /* Main.storyboard */,
694B85C42848EB4E009BEDE1 /* Assets.xcassets */, 694B85C42848EB4E009BEDE1 /* Assets.xcassets */,
...@@ -289,6 +292,7 @@ ...@@ -289,6 +292,7 @@
files = ( files = (
694B85C02848EB4C009BEDE1 /* ViewController.swift in Sources */, 694B85C02848EB4C009BEDE1 /* ViewController.swift in Sources */,
694B85BC2848EB4C009BEDE1 /* AppDelegate.swift in Sources */, 694B85BC2848EB4C009BEDE1 /* AppDelegate.swift in Sources */,
697B07ED284F2E5C0051FC23 /* CompleteVC.swift in Sources */,
692EC41A284C81700043E3EA /* ViewModel.swift in Sources */, 692EC41A284C81700043E3EA /* ViewModel.swift in Sources */,
694B85BE2848EB4C009BEDE1 /* SceneDelegate.swift in Sources */, 694B85BE2848EB4C009BEDE1 /* SceneDelegate.swift in Sources */,
); );
...@@ -438,10 +442,11 @@ ...@@ -438,10 +442,11 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 4WRSWKXL27; DEVELOPMENT_TEAM = W3C84P5FPS;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Flutter"; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Flutter";
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = BreastFeedingDemo/Info.plist; INFOPLIST_FILE = BreastFeedingDemo/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "BF AiDemo";
INFOPLIST_KEY_NSCameraUsageDescription = "The app tries to use your camera"; INFOPLIST_KEY_NSCameraUsageDescription = "The app tries to use your camera";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "The app tries to use your microphone"; INFOPLIST_KEY_NSMicrophoneUsageDescription = "The app tries to use your microphone";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
...@@ -455,7 +460,7 @@ ...@@ -455,7 +460,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.jzhang.BreastFeedingDemo; PRODUCT_BUNDLE_IDENTIFIER = com.demo.BreastFeedingDemo;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
...@@ -471,10 +476,11 @@ ...@@ -471,10 +476,11 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 4WRSWKXL27; DEVELOPMENT_TEAM = W3C84P5FPS;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Flutter"; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Flutter";
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = BreastFeedingDemo/Info.plist; INFOPLIST_FILE = BreastFeedingDemo/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "BF AiDemo";
INFOPLIST_KEY_NSCameraUsageDescription = "The app tries to use your camera"; INFOPLIST_KEY_NSCameraUsageDescription = "The app tries to use your camera";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "The app tries to use your microphone"; INFOPLIST_KEY_NSMicrophoneUsageDescription = "The app tries to use your microphone";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
...@@ -488,7 +494,7 @@ ...@@ -488,7 +494,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.jzhang.BreastFeedingDemo; PRODUCT_BUNDLE_IDENTIFIER = com.demo.BreastFeedingDemo;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
......
{
"images" : [
{
"filename" : "massage-complete-title-icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "massage-entry-fullbg.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "noselect.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "popup.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
//
// CompleteVC.swift
// BreastFeedingDemo
//
// Created by Jay Zhang on 2022/6/7.
//
import UIKit
class CompleteVC: UIViewController {
var vm: ViewModel?
@IBOutlet weak var containerV: UIView!
@IBOutlet weak var titleL: UILabel!
@IBOutlet weak var btn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
overrideUserInterfaceStyle = .light
containerV.layer.cornerRadius = 8
titleL.text = vm?.congratulation
btn.setTitle(vm?.completeBtn, for: .normal)
}
@IBAction func okAction(_ sender: Any) {
dismiss(animated: true)
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
...@@ -17,6 +17,7 @@ class ViewController: UIViewController { ...@@ -17,6 +17,7 @@ class ViewController: UIViewController {
@IBOutlet weak var stepL3: UILabel! @IBOutlet weak var stepL3: UILabel!
@IBOutlet weak var startBtn: UIButton! @IBOutlet weak var startBtn: UIButton!
@IBOutlet weak var panelV: UIStackView! @IBOutlet weak var panelV: UIStackView!
@IBOutlet weak var popupView: UIView!
@IBOutlet weak var switchBtn: UIButton! @IBOutlet weak var switchBtn: UIButton!
var methodChannel: FlutterMethodChannel? var methodChannel: FlutterMethodChannel?
lazy var vm: ViewModel = .init() lazy var vm: ViewModel = .init()
...@@ -27,15 +28,17 @@ class ViewController: UIViewController { ...@@ -27,15 +28,17 @@ class ViewController: UIViewController {
stepL2.text = vm.landingPageStep2 stepL2.text = vm.landingPageStep2
stepL3.text = vm.landingPageStep3 stepL3.text = vm.landingPageStep3
startBtn.setTitle(vm.landingPageStart, for: .normal) startBtn.setTitle(vm.landingPageStart, for: .normal)
panelV.layer.cornerRadius = 8
panelV.clipsToBounds = true
} }
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
overrideUserInterfaceStyle = .light
updateUI() updateUI()
panelV.isHidden = true popupView.isHidden = true
if let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine { if let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine {
methodChannel = FlutterMethodChannel(name: "com.wmdigit.breastcoachai.native", methodChannel = FlutterMethodChannel(name: "com.wmdigit.breastcoachai.native",
binaryMessenger: flutterEngine.binaryMessenger) binaryMessenger: flutterEngine.binaryMessenger)
...@@ -47,6 +50,17 @@ class ViewController: UIViewController { ...@@ -47,6 +50,17 @@ class ViewController: UIViewController {
result(strongSelf.vm.flutterArguments) result(strongSelf.vm.flutterArguments)
case "teachingEnd": case "teachingEnd":
strongSelf.presentedViewController?.dismiss(animated: true) strongSelf.presentedViewController?.dismiss(animated: true)
// ["totalDuration": 3, "reasonText": Concern about my personal privacy, "status": incomplete, "incompleteReasonCode": 2]
let argument: [String: Any] = try! JSONSerialization.jsonObject(with: (call.arguments as! String).data(using: .utf8)!) as! [String: Any]
let totalDuration: Int = argument["totalDuration"] as! Int
let reasonText: String = argument["reasonText"] as! String
let status: String = argument["status"] as! String
let incompleteReasonCode: Int = argument["incompleteReasonCode"] as! Int
if status == "incomplete" {
strongSelf.showError(reasonText)
} else if status == "complete" {
strongSelf.toCompleteVC()
}
default: default:
// Unrecognized method name // Unrecognized method name
print("Unrecognized method name: \(call.method)") print("Unrecognized method name: \(call.method)")
...@@ -56,6 +70,24 @@ class ViewController: UIViewController { ...@@ -56,6 +70,24 @@ class ViewController: UIViewController {
} }
} }
func showError(_ text: String?) {
let alertVC = UIAlertController(title: text, message: nil, preferredStyle: .alert)
alertVC.addAction(UIAlertAction(title: "OK", style: .cancel))
present(alertVC, animated: true)
}
func toCompleteVC() {
let sb = UIStoryboard(name: "Main", bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: "CompleteVC") as! CompleteVC
vc.vm = vm
vc.modalPresentationStyle = .fullScreen
present(vc, animated: true)
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + DispatchTimeInterval.seconds(3)) {
vc.dismiss(animated: true)
}
}
@IBAction func tapStart(_ sender: Any) { @IBAction func tapStart(_ sender: Any) {
if let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine { if let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine {
let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil) let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)
...@@ -64,14 +96,13 @@ class ViewController: UIViewController { ...@@ -64,14 +96,13 @@ class ViewController: UIViewController {
} }
} }
@IBAction func showPanel(_ sender: UIButton) { @IBAction func showPanel(_ sender: UIButton) {
sender.isSelected = !sender.isSelected sender.isSelected = !sender.isSelected
panelV.isHidden = !sender.isSelected popupView.isHidden = !sender.isSelected
(panelV.viewWithTag(1000) as! UIButton).isSelected = false (panelV.viewWithTag(1000) as! UIButton).isSelected = false
(panelV.viewWithTag(1001) as! UIButton).isSelected = false (panelV.viewWithTag(1001) as! UIButton).isSelected = false
(panelV.viewWithTag(1002) as! UIButton).isSelected = false (panelV.viewWithTag(1002) as! UIButton).isSelected = false
switch vm.language { switch vm.language {
case .english: case .english:
(panelV.viewWithTag(1000) as! UIButton).isSelected = true (panelV.viewWithTag(1000) as! UIButton).isSelected = true
...@@ -80,7 +111,6 @@ class ViewController: UIViewController { ...@@ -80,7 +111,6 @@ class ViewController: UIViewController {
case .español: case .español:
(panelV.viewWithTag(1002) as! UIButton).isSelected = true (panelV.viewWithTag(1002) as! UIButton).isSelected = true
} }
} }
@IBAction func selectLanguage(_ sender: UIButton) { @IBAction func selectLanguage(_ sender: UIButton) {
...@@ -94,11 +124,10 @@ class ViewController: UIViewController { ...@@ -94,11 +124,10 @@ class ViewController: UIViewController {
default: default:
break break
} }
switchBtn.isSelected = false switchBtn.isSelected = false
panelV.isHidden = true popupView.isHidden = true
updateUI() updateUI()
} }
} }
...@@ -30,7 +30,7 @@ class ViewModel { ...@@ -30,7 +30,7 @@ class ViewModel {
var landingPageStep3: String? var landingPageStep3: String?
var landingPageStart: String? var landingPageStart: String?
var congratulation: String? var congratulation: String?
var ok: String? var completeBtn: String?
var languagePack: [String: Any] { var languagePack: [String: Any] {
let languageFile = language.rawValue.appending(".json") let languageFile = language.rawValue.appending(".json")
...@@ -67,24 +67,24 @@ class ViewModel { ...@@ -67,24 +67,24 @@ class ViewModel {
landingPageStep2 = "Keep one meter away from the camera, and fit your body into the guide line. Session starts in 5 seconds after you click \"Start Now\" button" landingPageStep2 = "Keep one meter away from the camera, and fit your body into the guide line. Session starts in 5 seconds after you click \"Start Now\" button"
landingPageStep3 = "Camera permission is needed for AI coach. Your clothes will not affect the AI coach" landingPageStep3 = "Camera permission is needed for AI coach. Your clothes will not affect the AI coach"
landingPageStart = "Start Now" landingPageStart = "Start Now"
congratulation = "Congratulations" congratulation = "Congratulations!"
ok = "OK" completeBtn = "OK"
case .français: case .français:
landingPageTitle = "Coach AI en posture d'allaitement" landingPageTitle = "Coach AI en posture d'allaitement"
landingPageStep1 = "Placez votre appareil sur une surface stable" landingPageStep1 = "Placez votre appareil sur une surface stable"
landingPageStep2 = "Tenez-vous à un mètre de la caméra et placez votre corps dans la ligne de guidage. La session démarre dans 5 secondes après avoir cliqué sur le bouton \"Démarrer maintenant\"" landingPageStep2 = "Tenez-vous à un mètre de la caméra et placez votre corps dans la ligne de guidage. La session démarre dans 5 secondes après avoir cliqué sur le bouton \"Démarrer maintenant\""
landingPageStep3 = "L'autorisation de la caméra est nécessaire pour l'entraîneur AI. Vos vêtements n'affecteront pas l'entraîneur AI" landingPageStep3 = "L'autorisation de la caméra est nécessaire pour l'entraîneur AI. Vos vêtements n'affecteront pas l'entraîneur AI"
landingPageStart = "Commencez maintenant" landingPageStart = "Commencez maintenant"
congratulation = "" congratulation = "Toutes nos félicitations!"
ok = "OK" completeBtn = "OK"
case .español: case .español:
landingPageTitle = "Asistente de AI de postura de lactancia" landingPageTitle = "Asistente de AI de postura de lactancia"
landingPageStep1 = "Coloque su dispositivo en una superficie estable" landingPageStep1 = "Coloque su dispositivo en una superficie estable"
landingPageStep2 = "Manténgase a un metro de distancia de la cámara y coloque su cuerpo en la línea. La sesión comienza en 5 segundos después de hacer clic en el botón \"Comenzar ahora\"" landingPageStep2 = "Manténgase a un metro de distancia de la cámara y coloque su cuerpo en la línea. La sesión comienza en 5 segundos después de hacer clic en el botón \"Comenzar ahora\""
landingPageStep3 = "Se necesita permiso para acceder a la cámara para el asistente de IA. Su ropa no afectará al asistente de IA" landingPageStep3 = "Se necesita permiso para acceder a la cámara para el asistente de IA. Su ropa no afectará al asistente de IA"
landingPageStart = "Empezar ahora" landingPageStart = "Empezar ahora"
congratulation = "" congratulation = "¡Felicidades!"
ok = "OK" completeBtn = "DE ACUERDO"
} }
} }
} }
...@@ -6,31 +6,31 @@ ...@@ -6,31 +6,31 @@
<array> <array>
<dict> <dict>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string> <string>ios-arm64_armv7</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>App.framework</string> <string>App.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string> <string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>App.framework</string> <string>App.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>armv7</string> <string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
8VTMZ26+I9Ntfou2LfDLFinhFFw= JLE9CRjp0tHIF4afU2WpnnKD9Vk=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -5,37 +5,37 @@ ...@@ -5,37 +5,37 @@
<key>AvailableLibraries</key> <key>AvailableLibraries</key>
<array> <array>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>Toast.framework</string> <string>Toast.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>armv7</string> <string>i386</string>
<string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_i386_x86_64-simulator</string> <string>ios-arm64_armv7</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>Toast.framework</string> <string>Toast.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>i386</string> <string>armv7</string>
<string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
m3IAYur/FYcN+4xVLEE2YSlmMds= pTK4QI+U6C4p7JNHbTNBIMyowiA=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
+wtIdGn9ueYYeZ1k0koXYEWl0oI= MJJJYdWq2u0eDfvzkatE3MBdWUs=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
1skX2LKHzWX9NcAjdXOwQKQAnGQ= aYuc1r5lZaJrLjtukzrQ12WZIJk=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -5,35 +5,35 @@ ...@@ -5,35 +5,35 @@
<key>AvailableLibraries</key> <key>AvailableLibraries</key>
<array> <array>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>fluttertoast.framework</string> <string>fluttertoast.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>x86_64</string>
<string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-x86_64-simulator</string> <string>ios-arm64_armv7</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>fluttertoast.framework</string> <string>fluttertoast.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>x86_64</string> <string>arm64</string>
<string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
YClfx4ycku5lITB5lsFMxWlL7Yc= xdPhun0PHUMcDJlktqPyPQi2UJw=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -5,36 +5,36 @@ ...@@ -5,36 +5,36 @@
<key>AvailableLibraries</key> <key>AvailableLibraries</key>
<array> <array>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>package_info_plus.framework</string> <string>package_info_plus.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>armv7</string> <string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string> <string>ios-arm64_armv7</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>package_info_plus.framework</string> <string>package_info_plus.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string> <string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
4yjIMVxz7x24azzxYADyFsF4YJc= sTd02hRrzgOCLFtWjl7wt0ZUJ3Q=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -6,31 +6,31 @@ ...@@ -6,31 +6,31 @@
<array> <array>
<dict> <dict>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string> <string>ios-arm64_armv7</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>permission_handler_apple.framework</string> <string>permission_handler_apple.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string> <string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>permission_handler_apple.framework</string> <string>permission_handler_apple.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>armv7</string> <string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
x9+R2+ZelAIbnXM46hoqLhnv1lw= QG12277Gfg7dQgySWlzoi5jN4uY=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -5,36 +5,36 @@ ...@@ -5,36 +5,36 @@
<key>AvailableLibraries</key> <key>AvailableLibraries</key>
<array> <array>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string> <string>ios-arm64_armv7</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>shared_preferences_ios.framework</string> <string>shared_preferences_ios.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string> <string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>shared_preferences_ios.framework</string> <string>shared_preferences_ios.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>armv7</string> <string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
kJA71fZ/YvZSK8kPbXHS2EkkPyo= vTrXq2pKFoZXrPte+UXWYA0J/dM=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
......
...@@ -103,6 +103,7 @@ ...@@ -103,6 +103,7 @@
"Correct! Please keep the posture for about 20 seconds", "Correct! Please keep the posture for about 20 seconds",
"errorTitle": "Error", "errorTitle": "Error",
"keyErrorText": "Key Forbidden", "keyErrorText": "Key Forbidden",
"originErrorText": "Not allowed by CORS" "originErrorText": "Not allowed by CORS",
"noCameraErrorText": "Camera not detected",
} }
} }
\ No newline at end of file
...@@ -110,6 +110,7 @@ ...@@ -110,6 +110,7 @@
"Corriger! Veuillez garder la posture pendant environ 20 secondes", "Corriger! Veuillez garder la posture pendant environ 20 secondes",
"errorTitle": "Erreur", "errorTitle": "Erreur",
"keyErrorText": "Interdire l'utilisation des clés", "keyErrorText": "Interdire l'utilisation des clés",
"originErrorText": "Cors not allowed" "originErrorText": "Cors not allowed",
"noCameraErrorText": "Caméra non détectée",
} }
} }
\ No newline at end of file
...@@ -109,6 +109,7 @@ ...@@ -109,6 +109,7 @@
"¡Correcto! Mantenga la postura durante unos 20 segundos", "¡Correcto! Mantenga la postura durante unos 20 segundos",
"errorTitle": "Error", "errorTitle": "Error",
"keyErrorText": "Desactivar la clave", "keyErrorText": "Desactivar la clave",
"originErrorText": "CORS no permite" "originErrorText": "CORS no permite",
"noCameraErrorText": "Cámara no detectada",
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment