Commit 44701675c10a7e4fd4c1e40d2a8cb5b28a1792b8

Authored by 常守达
1 parent fb3eedec

feat(today): 今日最新状态

Showing 47 changed files with 1577 additions and 428 deletions
  1 +description: This file stores settings for Dart & Flutter DevTools.
  2 +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
  3 +extensions:
@@ -92,7 +92,7 @@ EXTERNAL SOURCES: @@ -92,7 +92,7 @@ EXTERNAL SOURCES:
92 :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin" 92 :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
93 93
94 SPEC CHECKSUMS: 94 SPEC CHECKSUMS:
95 - Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 95 + Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
96 fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1 96 fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1
97 image_cropper: c4326ea50132b1e1564499e5d32a84f01fb03537 97 image_cropper: c4326ea50132b1e1564499e5d32a84f01fb03537
98 image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a 98 image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
  1 +c134254776a5ccd144c8a5e627d78c10
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e8fb97e4d8fc6b27d73383f393c88ecd","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/TOCropViewController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"TOCropViewController","INFOPLIST_FILE":"Target Support Files/TOCropViewController/ResourceBundle-TOCropViewControllerBundle-TOCropViewController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"TOCropViewControllerBundle","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b75d1048f68d3bb5985c770bd41c3964","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98646a08d73cb1b05edde4b2af727d2773","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/TOCropViewController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"TOCropViewController","INFOPLIST_FILE":"Target Support Files/TOCropViewController/ResourceBundle-TOCropViewControllerBundle-TOCropViewController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"TOCropViewControllerBundle","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e9947f3bc60a9a376173a132421b2278","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98646a08d73cb1b05edde4b2af727d2773","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/TOCropViewController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"TOCropViewController","INFOPLIST_FILE":"Target Support Files/TOCropViewController/ResourceBundle-TOCropViewControllerBundle-TOCropViewController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"TOCropViewControllerBundle","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e983751bd601c66cda9f4c7c8b8aed619ef","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c2917c5d20bcd9c007f37af8611de2a6","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986afffa2cfd2f9512aa233f5cc63fb570","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b3f0c66e128d272bb1288ea8780dc9b4","guid":"bfdfe7dc352907fc980b868725387e9803b9b1af2d5261479f7f93af035f84ad"},{"fileReference":"bfdfe7dc352907fc980b868725387e98943d94e1dca9370afcbc7d2e9f0abbad","guid":"bfdfe7dc352907fc980b868725387e98437b8113d0c0f7efa46ee29b722c79cb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e20d522eae8962c5e533c7c249450ba1","guid":"bfdfe7dc352907fc980b868725387e9895e3b6c1100dde567d8298da959ab892"},{"fileReference":"bfdfe7dc352907fc980b868725387e9875b23b6d8bdbfaadd15a183140d79f69","guid":"bfdfe7dc352907fc980b868725387e984f33ed908452ea332941903c0411b3ef"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e0f2b7de1c1bc04e1ffe46c68ce33ad8","guid":"bfdfe7dc352907fc980b868725387e9826d2fa37af38d4d77992079be9e49bbe"},{"fileReference":"bfdfe7dc352907fc980b868725387e987b5a1086ea8be4d9b051d3ce7999d172","guid":"bfdfe7dc352907fc980b868725387e98c047cfdc484f9f46ed24109dd7964cab"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d2785ef910e4b678590a3f07d27b2b26","guid":"bfdfe7dc352907fc980b868725387e98f17441845b3284079bd0a8af3efb9a94"},{"fileReference":"bfdfe7dc352907fc980b868725387e98436252fbeeed3265eb2cee95eb12a14a","guid":"bfdfe7dc352907fc980b868725387e9853a0872068d9802e4e7ef5e78684536a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a143bbb2156d53dcb475bf3467818a00","guid":"bfdfe7dc352907fc980b868725387e98cd6cb21ecbed9ef5249db5427b34f309"},{"fileReference":"bfdfe7dc352907fc980b868725387e989326c93489133be54ec1c5ce883f7f95","guid":"bfdfe7dc352907fc980b868725387e987086f18c8f04746040ad04d1495e5987"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ab86e2bc0e96a3e47efb5fb4938bd05b","guid":"bfdfe7dc352907fc980b868725387e98deb061d220cf256291574c978433b9bd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9899763c221a73e8f5860bb7297c2ecadf","guid":"bfdfe7dc352907fc980b868725387e98fb2ce2a54d4830268408f0da53955eb2"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a55026799f54413f94c8d617bcee1bc","guid":"bfdfe7dc352907fc980b868725387e98dde0ca6b9e6a722f948c8fad38c22a95"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f458e319d28f436491479bf5bc69bee4","guid":"bfdfe7dc352907fc980b868725387e982d460c5e8f6550cbc140db774b40752f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9871360fc12faa4a6a46c3a5000eb78525","guid":"bfdfe7dc352907fc980b868725387e9827c4023f7130ab90afc00f1434340393"},{"fileReference":"bfdfe7dc352907fc980b868725387e980aa48715923cc7d3226a6daf26d515a7","guid":"bfdfe7dc352907fc980b868725387e981c750fb4de8e6f8f5bd31359a47e1e42"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fea9ee4c790269b2b255fbda65d21cd5","guid":"bfdfe7dc352907fc980b868725387e980b4535c2eb5efe032efcd7ea90b8a666"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aaded417427f59091e2272bec6813a42","guid":"bfdfe7dc352907fc980b868725387e980ba4c57bb4bd7bdcd21c04570f5a2e1f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f350348517c2cecb7d07354784c3bbc9","guid":"bfdfe7dc352907fc980b868725387e9811adc361209945de86a86b7fa1d7c3f8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a7ea5aa63b71073b08e7b415f74ed663","guid":"bfdfe7dc352907fc980b868725387e98492985e800f2423459efcfef10270692"},{"fileReference":"bfdfe7dc352907fc980b868725387e98247133e54555136c6e141473046f7e08","guid":"bfdfe7dc352907fc980b868725387e983b073fd21e782463067704b20c7aecb4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852f6cd5cdac1d0f84fae787b09c92c74","guid":"bfdfe7dc352907fc980b868725387e988c218a129ee9337c6f4c9fc9c31651bf"},{"fileReference":"bfdfe7dc352907fc980b868725387e98683dc56e238d9ccd0a2cd3b2d7b2e363","guid":"bfdfe7dc352907fc980b868725387e98a48f6a439944fbae7cbacffb33bb0a8f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9845f0c14bbe37bdcf2d4d3c5941ee46f5","guid":"bfdfe7dc352907fc980b868725387e98d607d60302022bf876d39aa1bd69cdf0"},{"fileReference":"bfdfe7dc352907fc980b868725387e982672050c2030427d057debb1ea0c3df9","guid":"bfdfe7dc352907fc980b868725387e9849687d7ad52891093076ae6016a26da4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f474de454e032ecc10c533fc7fe161f0","guid":"bfdfe7dc352907fc980b868725387e982151f9e4c972b8a27c807903709a5cdd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a67747b5a77b0d264643563f3e216e7c","guid":"bfdfe7dc352907fc980b868725387e981e9f0720b7996cbbc5d1fed40f0912af"},{"fileReference":"bfdfe7dc352907fc980b868725387e986721d9a64a6948ad719ee0ca618d0d98","guid":"bfdfe7dc352907fc980b868725387e98daf88f1e9c8b88debe0db8a5a7ca7fc3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98917e258ffc6052c99dbd63f347526ff6","guid":"bfdfe7dc352907fc980b868725387e98af9dace882a7c96a865bcef174d45792"},{"fileReference":"bfdfe7dc352907fc980b868725387e9814511951012b4191c2433d5a379eb9a1","guid":"bfdfe7dc352907fc980b868725387e9802f8dba89062e5de6c4c276fd7aa8b36"},{"fileReference":"bfdfe7dc352907fc980b868725387e987f3b32d8f963147c42e467390e392744","guid":"bfdfe7dc352907fc980b868725387e98b89ee2bf44b66263aa19e3fe8e7ae16a"}],"guid":"bfdfe7dc352907fc980b868725387e98311b3e21fcbc0f104d22472972191841","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e986dbfa2df59ddcae0f992dedaee8f3553","name":"TOCropViewController-TOCropViewControllerBundle","productReference":{"guid":"bfdfe7dc352907fc980b868725387e980e69b2358d36eb6c2616a1dbbe45f585","name":"TOCropViewControllerBundle.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9872c3a102c2f55c6f0eee5833107fac63","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c19358e0d8fc0ff82ae574564065ed6b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d1a455bf7417c3aeb645db18ef108a94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98afb87e3af52050c61b6e42f9c8a3883b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d1a455bf7417c3aeb645db18ef108a94","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e4f2c507ffb311a50a95aa349d7e88ed","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ac7d823da02db5d40c302ec94ea301a3","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980633102ccc15b88a476e0ed7ba1ff323","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d815319f529deb57d9d10e32525da1ef","guid":"bfdfe7dc352907fc980b868725387e988dcb3837b0f66cc15fcbb54ada836554"}],"guid":"bfdfe7dc352907fc980b868725387e98451cbac7e109149bf793647b9c462224","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9849c1d4b1200fcbf6f387f94121c7d0bf","name":"sqflite_darwin_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98493610a1174f3f4f738833de56d1328f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"webview_flutter_wkwebview","PRODUCT_NAME":"webview_flutter_wkwebview","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d6da72224a0002e2c8d4ad6a4140a101","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986361f96ad5d0d9cdb22ee6aa8a152702","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"webview_flutter_wkwebview","PRODUCT_NAME":"webview_flutter_wkwebview","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984cab3693a69eb1c553c791758183685f","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986361f96ad5d0d9cdb22ee6aa8a152702","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"webview_flutter_wkwebview","PRODUCT_NAME":"webview_flutter_wkwebview","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f480631d57f584ae82569893436b3d19","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e100b69887046077a7bf8a9cf060b929","guid":"bfdfe7dc352907fc980b868725387e98faa2d77c0ef7eb87f7f8421e51c1b40a","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98a1e3dac75ef5081293a3cce12f493338","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986ff29dbf77026e2fd214aacc48415f97","guid":"bfdfe7dc352907fc980b868725387e981de55d3cb88db838f3f39ff1797f33ce"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820d9fff640378ae11fbdb2bba644e272","guid":"bfdfe7dc352907fc980b868725387e980d29368ece429919c8416c926d20a1b2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98974b7125c3956adff996755a1b114006","guid":"bfdfe7dc352907fc980b868725387e98a435f50ff0ee12aa4ee277e694f2d126"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fba6a1bdafdc072d807182e50958ac26","guid":"bfdfe7dc352907fc980b868725387e9818698cd69a8dd984343dd8261e191bfe"},{"fileReference":"bfdfe7dc352907fc980b868725387e9807fa3ed9a1c3d073fb8ed93058a7d538","guid":"bfdfe7dc352907fc980b868725387e987b439d64aac2afa2aed5d37bc7b53769"},{"fileReference":"bfdfe7dc352907fc980b868725387e9824e336744c0d7621c05a0223e51f3f66","guid":"bfdfe7dc352907fc980b868725387e9818e2a45f7d284b0dd902ab3482fc9edb"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857e538de55d68f7ce78f685c1cd73410","guid":"bfdfe7dc352907fc980b868725387e98ffd34fa8ce89c4ce6d50467fae983432"},{"fileReference":"bfdfe7dc352907fc980b868725387e982da8ffef86ceaf65ed1f58ad933d36d8","guid":"bfdfe7dc352907fc980b868725387e98292490ce28c17daff90e0e782d73f784"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce9ba0fba9b5e90953d30114104d18bc","guid":"bfdfe7dc352907fc980b868725387e9834f73e42a69fc8b030848f28d070a368"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a310832039952a0739ca7694f7ad758e","guid":"bfdfe7dc352907fc980b868725387e9898302af153ac1de4bd9428fca3bb8787"},{"fileReference":"bfdfe7dc352907fc980b868725387e9891936b22d4461ddb3e4165f1a75492dd","guid":"bfdfe7dc352907fc980b868725387e98ed9c33c1bf4f8fcd55bba266c67d062a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816b4b9d8465e3dd15680823043c778bb","guid":"bfdfe7dc352907fc980b868725387e98464a60c69b30cf4487e30f2e39b99e0a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce6725437b5f43c0bd6ef1ccca2be082","guid":"bfdfe7dc352907fc980b868725387e984e94890557c10720442eefca0758fb7c"},{"fileReference":"bfdfe7dc352907fc980b868725387e986957040d9dced8053bb6e8f373a49a06","guid":"bfdfe7dc352907fc980b868725387e9801dbd92bfe45922f943df863b92756e6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a64df73b74f54e7dabd523cef6eea263","guid":"bfdfe7dc352907fc980b868725387e98695f5b329bfc5e6e8a12c3ef049fd84c"},{"fileReference":"bfdfe7dc352907fc980b868725387e985543c3a955f9d511d6e7251e7b4f383d","guid":"bfdfe7dc352907fc980b868725387e9872af5e523f4a9b056594a6e3963880d9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98792b7a5a9cbe04e9c7b7d002ea638e83","guid":"bfdfe7dc352907fc980b868725387e98cabaf14c8327f9e739a1581549abcfba"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e581dc86e636a128fcc7362ffedfe3b7","guid":"bfdfe7dc352907fc980b868725387e989b8f377ba0e2936c53f2b68c58a2468f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858cff6fc49e9b7824e719efa2a279eb8","guid":"bfdfe7dc352907fc980b868725387e98756f0f8bc30293af870fd37ef4e582e1"},{"fileReference":"bfdfe7dc352907fc980b868725387e980c66c03c8dc7e7282d701e3891d179cb","guid":"bfdfe7dc352907fc980b868725387e98a495bec27416fe0ef6d4c382d92bd37e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d93aa4a0ffddd857d5b5afe3f1789e0e","guid":"bfdfe7dc352907fc980b868725387e98dbe4cb3179877b97fd1cd1b9c7b0d657"},{"fileReference":"bfdfe7dc352907fc980b868725387e98755928d01ec4e183f6c6ad5dd1695876","guid":"bfdfe7dc352907fc980b868725387e98766ed63c43677a312cd576b6ecfa968c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98efc85ac7c715782d5e65417979a219b9","guid":"bfdfe7dc352907fc980b868725387e9848489c7f67c84ff61cfb0ea1ec45d107"},{"fileReference":"bfdfe7dc352907fc980b868725387e988bef82569b24b5f6c612471073c56493","guid":"bfdfe7dc352907fc980b868725387e987259ad0ccd853df9dbdf20df62b01bf2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e98acb700f264a4d35f96d3e3a8e7192","guid":"bfdfe7dc352907fc980b868725387e9891cdd6b5f47999868b621c0cac86717d"},{"fileReference":"bfdfe7dc352907fc980b868725387e986bcadc9db0e23f509801ea7c18f17d3e","guid":"bfdfe7dc352907fc980b868725387e98bc9ffc416d43c25db0eba7374081cc24"},{"fileReference":"bfdfe7dc352907fc980b868725387e98272adc89cc3be2f5bac7bc2bd91672ed","guid":"bfdfe7dc352907fc980b868725387e989f67bad303f2c7a18d6663b9004e7f7f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dc6cb65d5dd165e65b7fbfcc7dc4421e","guid":"bfdfe7dc352907fc980b868725387e9862ed648bd55286684f95fcc2fdaa477b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9833a097b5db2a7b844364a9486bb9616f","guid":"bfdfe7dc352907fc980b868725387e982552ba38ca9f397d8f80abfd80676bc3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9811087db04d1b6ae8e562b162a7bde163","guid":"bfdfe7dc352907fc980b868725387e98d195323b373d63793cdede578ba29670"},{"fileReference":"bfdfe7dc352907fc980b868725387e987b63bd86e178dd1a4cd5fdf23764582d","guid":"bfdfe7dc352907fc980b868725387e989f08d7c9104548f24fc29052371ddadd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98369effa6d8c6f49ab6a964ee2e41f64e","guid":"bfdfe7dc352907fc980b868725387e987ec55db088ddc2cfce45820bbd5664e8"},{"fileReference":"bfdfe7dc352907fc980b868725387e980a7f96f6c054a6b00bbe8edd3e5e02dc","guid":"bfdfe7dc352907fc980b868725387e9834fcf0d5ba9575313556f54273579df8"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816892ac189479c50552d8df59101d469","guid":"bfdfe7dc352907fc980b868725387e980040a96cdcfcca3605783952ba372b88"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d35f2da81360644fe00f5e7f5c5945d2","guid":"bfdfe7dc352907fc980b868725387e98447fdb1e6faad86182194fdfd9dfa3e4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98176f3e1e76204f06691b39d943dccd53","guid":"bfdfe7dc352907fc980b868725387e982a39c7e1197817396058f11573213f14"},{"fileReference":"bfdfe7dc352907fc980b868725387e981ce32df686de5ed232b0c0ee3fcd4c2f","guid":"bfdfe7dc352907fc980b868725387e988fbe3b540434ba51c47bff24442a163e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e318650c8871ff158cbd37f8183721bc","guid":"bfdfe7dc352907fc980b868725387e98930b3ec41868a6d90b18606db9285027"},{"fileReference":"bfdfe7dc352907fc980b868725387e98386ba49f024aea24034bf28582dbecf4","guid":"bfdfe7dc352907fc980b868725387e98d259083229b4eed28de4a364a94222ca"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d6c137c1d8c257e5b352ba97472bf7bf","guid":"bfdfe7dc352907fc980b868725387e981b32f3680c2b08fba50eeb04efa7482a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cb546a8f7bdc2047fbe4a99c1563566d","guid":"bfdfe7dc352907fc980b868725387e98eebbce98b73db8698586b64728bd46aa"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a1098d9b7174aa713f6eb4dab0d9ad3","guid":"bfdfe7dc352907fc980b868725387e981fb47af3fa29c91f647f1ad2f650ec8d"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c1cb5357bcb6e5e3a472f4e95d10dbd","guid":"bfdfe7dc352907fc980b868725387e98c65d236fa956eb88c1809b17ad57212b"}],"guid":"bfdfe7dc352907fc980b868725387e980055fbf3a11bc15129d28ebbe5cc1480","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e987ead9e15fc09a570554fa963eed1137d"}],"guid":"bfdfe7dc352907fc980b868725387e98da9cd099e7190758cfc42156c0f4e548","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98b8defae1b39d33d1c1b6a7ec3e8cf51c","targetReference":"bfdfe7dc352907fc980b868725387e987c93e943aa0a38b5f6684beaf6b4a3a1"}],"guid":"bfdfe7dc352907fc980b868725387e987fd8694c1d36b88c99f78feb0d04dd25","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987c93e943aa0a38b5f6684beaf6b4a3a1","name":"webview_flutter_wkwebview-webview_flutter_wkwebview_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e988efdc4dd0ac29b43123295eca853f4ed","name":"webview_flutter_wkwebview","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e980823710353e0487822d6da09bf8d6254","name":"webview_flutter_wkwebview.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98890adb2b2b98fc70f20de16996216002","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9864dece58fe8898e7f0b46391fe2d091f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98221c7220f1a43556e154d0e84bf28676","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981b08ec94c515cc2b895c3ae9b4c03834","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98221c7220f1a43556e154d0e84bf28676","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982b03ce4519745554a82e5cffe58f25e2","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9887cb71ec0a197ed2946aed6024d1dad1","guid":"bfdfe7dc352907fc980b868725387e98036d5aec29b54b7dd40e90098fa1a783","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9892d65c42b66fdd6d568c50d0e873ca05","guid":"bfdfe7dc352907fc980b868725387e9884122a5495886f08a28766f6766ed12d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988061950042bff325e12ce6e07163bdf3","guid":"bfdfe7dc352907fc980b868725387e9878792dd23cc884d01a42ee927a76af76","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98314704ab4b99c3ad78a115a96a37a641","guid":"bfdfe7dc352907fc980b868725387e98ac4ce8757c9fefe5d0b2b79262ebbaeb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9874a54da90eac84404a6d42381d295f8d","guid":"bfdfe7dc352907fc980b868725387e9816643affd079e3f5d29a95b3d4ac8518","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984ae39a9f5ce5801d979fc71dc42040a4","guid":"bfdfe7dc352907fc980b868725387e9833ff3f2578502bb2f88e252ec33d5fb3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986d4a8dba098c26b0e6cb26abd8e5b82f","guid":"bfdfe7dc352907fc980b868725387e9822ff4bab74a9180dcd559e6228895c11","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98001a1216fcba8a5077639ed936eedf22","guid":"bfdfe7dc352907fc980b868725387e984f06794600a72eff5e8b6bd1bfb1381c","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e987c543487347cac13b6462fae62598e7f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e981f6c3202c5e8ea43fabe23d4ac249aa8","guid":"bfdfe7dc352907fc980b868725387e9839e6fa4fb580d35845b455f3349208ed"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d3353819e36d78fafa3c90288aa829a8","guid":"bfdfe7dc352907fc980b868725387e987f4d20a804f6cc54ba49f23a03bba3ff"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879f3ff725c0c37a2851096c74b7aa01c","guid":"bfdfe7dc352907fc980b868725387e986de844193f467a67763cf085cbf548af"},{"fileReference":"bfdfe7dc352907fc980b868725387e98521a0cbc97fe403ba6dec7b4711eca98","guid":"bfdfe7dc352907fc980b868725387e980a470861055f808b55678e192587ba69"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ef7fab25f1a8201b14fddc3cd791dc85","guid":"bfdfe7dc352907fc980b868725387e98fe1bc38033b4a880e7f645b78bb9d3b6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e866ceff35444fd643a35a36698bec12","guid":"bfdfe7dc352907fc980b868725387e98e0ab939fbafbd88342244f2b4a6d7f2e"},{"fileReference":"bfdfe7dc352907fc980b868725387e987c91f08e2ecb120f461660eb187051f2","guid":"bfdfe7dc352907fc980b868725387e986537e55fb8c991ac3f2f365064e71ccf"}],"guid":"bfdfe7dc352907fc980b868725387e98ce67561b68c83c2e24888c94da999914","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e98cf1fddec899afc6c9825c5eb5ec44493"}],"guid":"bfdfe7dc352907fc980b868725387e98434353ef3b38c3699582ee30b73fe6a8","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9872ef11792920b3966776ea469c5092df","targetReference":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d"}],"guid":"bfdfe7dc352907fc980b868725387e9811e9e8a5f23273fd9234f4740a75ccb9","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e981f000f066404b97b12e9c4ca84d38d0f","name":"image_picker_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988e06e8c3685b7c12032d8059f412f4cb","name":"image_picker_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a6093e67eab0c95af9b59197c88a1b6b","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/permission_handler_apple/permission_handler_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"permission_handler_apple","PRODUCT_NAME":"permission_handler_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98519c0f1aabf34eacbf6f755b813f1496","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982824e3afc8d872da1d8489aeef65d25c","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/permission_handler_apple/permission_handler_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"permission_handler_apple","PRODUCT_NAME":"permission_handler_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ec62137b0ee28ca4265944856877be27","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982824e3afc8d872da1d8489aeef65d25c","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/permission_handler_apple/permission_handler_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"permission_handler_apple","PRODUCT_NAME":"permission_handler_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9832ebf16d88dad2729e444c32094aa46a","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9884851084d3b02b53cd983fcffd818235","guid":"bfdfe7dc352907fc980b868725387e98a27a49b00be0ac981e5db9f07832563d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982e7f7319c09f94850a0723a216d70e04","guid":"bfdfe7dc352907fc980b868725387e989878394bd4334bc5b75f69e19db62bf2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9821ebb0fa53d0eb7ec2ab6f8ca9190624","guid":"bfdfe7dc352907fc980b868725387e98e1897e3d8aed17671192779f85b1c248","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5b86aa005335961c358b4a960923948","guid":"bfdfe7dc352907fc980b868725387e981450c482f5c290824d437888a184ae8b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cfa5ce0ae7f41afbcf0e57cd6de30680","guid":"bfdfe7dc352907fc980b868725387e98e4fc9878a7a9815c87ead588b617e13f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9822c393317084e36f2969d86ba20820cc","guid":"bfdfe7dc352907fc980b868725387e98931f24651cd163bcb560cc6bf0293fcb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98265b9bc576c6643489aa71c5ef563885","guid":"bfdfe7dc352907fc980b868725387e98d4cfb9e1cbc63fdd6505f85f9a29df9c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb31e35e6ff05f31942d41934fa09494","guid":"bfdfe7dc352907fc980b868725387e98603cbbc70b8dca9ffe9ae016055178e4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e6c10cd55ac7b546e8a27a6d73df979","guid":"bfdfe7dc352907fc980b868725387e98de1a9153e9195626d2e18082bddd5583","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986788e4d437e57069fdd7150780f6a1e9","guid":"bfdfe7dc352907fc980b868725387e984a1d400fa247fcd1999957a8682fc831","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cafca9abb3305da2511ec18f0b22ed2c","guid":"bfdfe7dc352907fc980b868725387e98d32709d3a2dbac2c57e7e408179d0866","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828dae6c5d961eab3e33766ec57e27821","guid":"bfdfe7dc352907fc980b868725387e9852b51035de7e7268120a09bd61060c70","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985dfbcd518b00fd83791970f4f841e5e7","guid":"bfdfe7dc352907fc980b868725387e98dc02dbc796bf1a1c79ffc8c7bf3cea72","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981329cadec5aeca914b5940565930d22a","guid":"bfdfe7dc352907fc980b868725387e9851124daa4e024f512c6435eeca4166ec","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98447580bc8b8f4827c81d8360464b9e24","guid":"bfdfe7dc352907fc980b868725387e98d1ab4894e5f8a787a882b5c8c35da9b2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2f59fe53444d666df46ecacb137334b","guid":"bfdfe7dc352907fc980b868725387e980ef321af2f9f2c834e49de13f3d55bc9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986dd8eb61c9df9c78ba64a9f79cace01e","guid":"bfdfe7dc352907fc980b868725387e98f0d31a429c82f17b0991aeffa8fa048c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988e29d9b40690bda08dda415d92f70602","guid":"bfdfe7dc352907fc980b868725387e98a42a0c118dedfd60efdbb4d16492c7b8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e2ab3143400e3260e6623fe39e99f7c0","guid":"bfdfe7dc352907fc980b868725387e98b3c686ca16e5bce7ed24eabc68c27a7a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98af3e4ebd26dd264bce4333eb0e99f67c","guid":"bfdfe7dc352907fc980b868725387e9828accb1b5b23f919db719dddafe64428","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a5999d69392be533721c9529b09cb914","guid":"bfdfe7dc352907fc980b868725387e981a70531bb3ca84e549cc6ba35f299fa1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9830ffd03b288e713d891e12ce5bfa5613","guid":"bfdfe7dc352907fc980b868725387e98d126da608ed212ace70c11a62a0c1637","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e3b68579772f0ba934ed8c3c170aa0ab","guid":"bfdfe7dc352907fc980b868725387e98482d9659cbec4dc229fbd14d4097dbb0","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e986a03fa67e33d48dce94be2b8eb2259ec","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9859b1324343dc055e161d6c6533ee5e14","guid":"bfdfe7dc352907fc980b868725387e989514a07acecd425069c301ac83629a34"},{"fileReference":"bfdfe7dc352907fc980b868725387e9842f3aba82f1bbbea45fa42860b997a9c","guid":"bfdfe7dc352907fc980b868725387e98c5aeecdf68b8bd150764901c66af09a9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98620c548ad1ca45b7c591297d1eb7c747","guid":"bfdfe7dc352907fc980b868725387e98845832e3ddc9b9efa82804181189873f"},{"fileReference":"bfdfe7dc352907fc980b868725387e988137c4db801b52960f300f0a7f9e66e1","guid":"bfdfe7dc352907fc980b868725387e988422c8d41a531ab0e5feda22b2729450"},{"fileReference":"bfdfe7dc352907fc980b868725387e9818cfd9e6e71005df38ef34975cee4bb2","guid":"bfdfe7dc352907fc980b868725387e98032b5432a99c409a15c23484d253896f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9873b0ea1c477453db2a27395853e19d20","guid":"bfdfe7dc352907fc980b868725387e988ec79e04b31e29a98b9058ffe01c7fe6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2f696a6e8c1b05591d7b9da435e3493","guid":"bfdfe7dc352907fc980b868725387e980e70a7a6c573b1b7ccd3e1d5ab5d07e2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9800e74c7905cd82d36f9960af8978f5aa","guid":"bfdfe7dc352907fc980b868725387e983e056fb9529e4b65a3f33b7e5569c272"},{"fileReference":"bfdfe7dc352907fc980b868725387e98de774a6e299c64442144c3fcc58fa595","guid":"bfdfe7dc352907fc980b868725387e980341c01be7632895d55fd1dac2b54ca7"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b42d8660810a9d6b3aad933347d7e57","guid":"bfdfe7dc352907fc980b868725387e9844b9c045f1529acb68ed027e0a48b614"},{"fileReference":"bfdfe7dc352907fc980b868725387e98520970053fda1908c06476b52a119a95","guid":"bfdfe7dc352907fc980b868725387e98b1b6e64bf6811487ed4c6e1384077226"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b14ce293cf32a01a773054612405a14","guid":"bfdfe7dc352907fc980b868725387e981f2b6f47d148085767ead35147c92b0a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98697a7d246f5ecbb804645bdff1bd0889","guid":"bfdfe7dc352907fc980b868725387e981850b344567e5543096f0a83d9eac0b2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b232dd09cbb7ffdcc50b18242e2d54aa","guid":"bfdfe7dc352907fc980b868725387e98ff4558f6e06cbb7fbd15dd015ca18854"},{"fileReference":"bfdfe7dc352907fc980b868725387e981311af37bc86faf3e55d86273af1dd44","guid":"bfdfe7dc352907fc980b868725387e983caf79b54a68f27872c153b09b7289cb"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fc0bac42f87fe89196550b76dd1d39a","guid":"bfdfe7dc352907fc980b868725387e983550715f5dc47c6e779aeb12290a7c48"},{"fileReference":"bfdfe7dc352907fc980b868725387e984e9f512a43dc9832164c7190e5793552","guid":"bfdfe7dc352907fc980b868725387e985800f051739a623bb35f7cc22cbdb0d1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f4a28458a09df40a41a85843a00b9764","guid":"bfdfe7dc352907fc980b868725387e98f2203b5d78f4ac52bb8f2618d0202e75"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c71f7c3f79685b588b764a4722910f6","guid":"bfdfe7dc352907fc980b868725387e983616275298339a71f8ce5405edcae646"},{"fileReference":"bfdfe7dc352907fc980b868725387e98629dea7138da4a42b26f2cec5f668c3e","guid":"bfdfe7dc352907fc980b868725387e9859b2f7d951b31f73b36500eee5613569"},{"fileReference":"bfdfe7dc352907fc980b868725387e98572e0d97aec70a0d968a775514e32a66","guid":"bfdfe7dc352907fc980b868725387e9800fc7c6d98b1d598e7f0946391c24f5b"}],"guid":"bfdfe7dc352907fc980b868725387e98be6229230a4715433df2f8e74fbafc5b","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e980797c2152e50219ee4196549bb34f857"}],"guid":"bfdfe7dc352907fc980b868725387e984d290968aff9eafa4ed5b85c80a8c610","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98fa0d11ed0b4e1a85c13d68e37d1547e0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9802f35ab680609a626ebd2ddd692a3822","name":"permission_handler_apple-permission_handler_apple_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98ef10255b706f98e1e88fae00855b0968","name":"permission_handler_apple","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f8f53f8ba4165e76c7481b24262177ed","name":"permission_handler_apple.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9868b77f49da4a0e0608aac8b3f5ae3e8e","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/fluttertoast/fluttertoast-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/fluttertoast/fluttertoast-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/fluttertoast/fluttertoast.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"fluttertoast","PRODUCT_NAME":"fluttertoast","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980d95e38372e14dc164189e9e39c87ca3","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852dc1371d317d5fc535ff1f306279566","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/fluttertoast/fluttertoast-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/fluttertoast/fluttertoast-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/fluttertoast/fluttertoast.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"fluttertoast","PRODUCT_NAME":"fluttertoast","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980c7da66ee29e77cf7e3c5ef7b6bf0505","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852dc1371d317d5fc535ff1f306279566","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/fluttertoast/fluttertoast-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/fluttertoast/fluttertoast-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/fluttertoast/fluttertoast.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"fluttertoast","PRODUCT_NAME":"fluttertoast","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985d57597ee80c97031b19d4dd216a0459","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983b44f07e560c85607ecdbac390035690","guid":"bfdfe7dc352907fc980b868725387e9898803a5367f403dbe7d7f50e52e158e4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ce5db321c5b1a0e8d45a2033460a820","guid":"bfdfe7dc352907fc980b868725387e983964f34a71d25e0ad408764637201730","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9810650f30d25a1a650eb486810140f78d","guid":"bfdfe7dc352907fc980b868725387e98c8914a1d8083fd11e9c788dbae30cb4b","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f9f50c0f44c9e9758a8d2da9a3e9486d","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98000117cc7e8ad3178027b29f7f6baa74","guid":"bfdfe7dc352907fc980b868725387e98732bda2bf98a69eea7b638ba5caac9e6"},{"additionalCompilerOptions":"-DOS_OBJECT_USE_OBJC=0","fileReference":"bfdfe7dc352907fc980b868725387e987d8dc557a1cefbf1c0572194540f3c91","guid":"bfdfe7dc352907fc980b868725387e98c7baa8b56c358501b9b804d1da3607c1"},{"additionalCompilerOptions":"-DOS_OBJECT_USE_OBJC=0","fileReference":"bfdfe7dc352907fc980b868725387e98be100717715b68a43bd8a6ee4411da5c","guid":"bfdfe7dc352907fc980b868725387e98434a59f227df2853d124b2eb53dbd773"}],"guid":"bfdfe7dc352907fc980b868725387e98ff7ff0914d28d25b338598e51f35a22a","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e98fb70b41caaa71fca49a76d4a80225131"}],"guid":"bfdfe7dc352907fc980b868725387e9893a2f3917413e2f83f099b893b6202f2","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e982a8b2134dd93f2cb1d1331e935303944","targetReference":"bfdfe7dc352907fc980b868725387e985739272bce418ef50bd06c859612bad5"}],"guid":"bfdfe7dc352907fc980b868725387e98678ff57194ccd7dfda00aac2582b17b5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e985739272bce418ef50bd06c859612bad5","name":"fluttertoast-fluttertoast_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98839a1650b1f10605b2db52456c9e6468","name":"fluttertoast","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f09a1b962c84d31b7bec2ec6176b5c98","name":"fluttertoast.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bef0d6c2c15f5aafe14dc460dedf3fd4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_cropper/image_cropper-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_cropper/image_cropper-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_cropper/image_cropper.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_cropper","PRODUCT_NAME":"image_cropper","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f7b93ecdbd3c8b9ea5616aa7b0d3fe18","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980fd9e2f1733e15caec480c108e2f6d49","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_cropper/image_cropper-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_cropper/image_cropper-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_cropper/image_cropper.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_cropper","PRODUCT_NAME":"image_cropper","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f138ec1c7959dd17e955c99842ba6cd3","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980fd9e2f1733e15caec480c108e2f6d49","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_cropper/image_cropper-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_cropper/image_cropper-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_cropper/image_cropper.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_cropper","PRODUCT_NAME":"image_cropper","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9822ce90530c07c0eef19816e1846a2b47","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988def5567fb619d818c0e4033c07da2d0","guid":"bfdfe7dc352907fc980b868725387e983cd18188c90960b70b25f90c0640bc2e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9849e25a833cb0bed5dc8ebb5539d6cb74","guid":"bfdfe7dc352907fc980b868725387e9835ba3c68c353baaaaf8a192693f9fb9c","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9872651d2c8d8c194c061f4d51d19b24d0","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e9ae364119d4ded1be782c9c2027f874","guid":"bfdfe7dc352907fc980b868725387e98fac879e253c603d20d42aefd7eba7e0c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c3a32b479b99fa0be5118bc2e4f2256c","guid":"bfdfe7dc352907fc980b868725387e98a90eca3f4ef58020f17eff6ee8594ca3"}],"guid":"bfdfe7dc352907fc980b868725387e984a515ab06e514badd4270f0dcfa41726","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e983584573e884ecb062bea67dd4b38239e"}],"guid":"bfdfe7dc352907fc980b868725387e988219f27d7669f834e95ed895d1bd8d70","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9811cdaaa9080a7ba3ac6ee0e4bf44298c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987a4af56e2729cecfad7b13d62a9a5fa4","name":"TOCropViewController"}],"guid":"bfdfe7dc352907fc980b868725387e98c7508c3a173f39338f076ef697b954c4","name":"image_cropper","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98af2ff58bf1e7988af36cadaf5bb3d25c","name":"image_cropper.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c9406d4edd5339dd20198a367c290d36","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9815d476a49b818ac83bb7d89c034bc7b7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988fe63e2e9f76f78e56562689e1d41ffe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981373391d97c6cdcaed1361cf95934c31","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988fe63e2e9f76f78e56562689e1d41ffe","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98652057b55c4e6ac5e390712a0bc77086","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984823a2e0fba92681cf7792666b9bb36b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980148385ae73e13be88316704eda5e242","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9889c48add7124ee091ff93ea9433486b7","guid":"bfdfe7dc352907fc980b868725387e98a792d5c00bccb4df88a188da3006a680"}],"guid":"bfdfe7dc352907fc980b868725387e98ebb3c9b4117be3b1e5bd198bd9957243","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e649604f74c414a7c2dbe5ef4cc4e75","name":"path_provider_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9850cc7fc2d23136fb4fac488d6c47df20","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a2829366523dfaca9b75e5f7a72f6254","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dc1a21852c7a085c7dd8f65cf0fa9907","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e4a12d91909beabfb3ea44357e371c3a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f17abf55d75f35efcaf45a1185b085b6","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98cafdf8e5f53f5249fdb699a2c3732041","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980ec6fbca7264a6936f2adfc48dd7f5bc","guid":"bfdfe7dc352907fc980b868725387e98c18583e54caccb23480e9ad821fcc5d4","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e982b12e1a9514e59d182b3bdc6513b57e9","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fed0970e703d355c9aff813f280aafdc","guid":"bfdfe7dc352907fc980b868725387e98d7195027851f4e0b20d9fe9fe9ba555f"}],"guid":"bfdfe7dc352907fc980b868725387e98913f65d029169dd43df72f5d47591332","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e981d396859bc3fe6a005f0edb170134b5c"}],"guid":"bfdfe7dc352907fc980b868725387e9826f150e187da19c7d1e421741141421b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98be276f630606ffe5c387e92a6079d1a6","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987a4af56e2729cecfad7b13d62a9a5fa4","name":"TOCropViewController"},{"guid":"bfdfe7dc352907fc980b868725387e98839a1650b1f10605b2db52456c9e6468","name":"fluttertoast"},{"guid":"bfdfe7dc352907fc980b868725387e98c7508c3a173f39338f076ef697b954c4","name":"image_cropper"},{"guid":"bfdfe7dc352907fc980b868725387e981f000f066404b97b12e9c4ca84d38d0f","name":"image_picker_ios"},{"guid":"bfdfe7dc352907fc980b868725387e9830037b09fee48cfce1f8562d753688c8","name":"path_provider_foundation"},{"guid":"bfdfe7dc352907fc980b868725387e98ef10255b706f98e1e88fae00855b0968","name":"permission_handler_apple"},{"guid":"bfdfe7dc352907fc980b868725387e9828cab1f188854e0a973e6ff6905c5ffe","name":"shared_preferences_foundation"},{"guid":"bfdfe7dc352907fc980b868725387e981304d3d2169071b3ca365b19f5340b7c","name":"sqflite_darwin"},{"guid":"bfdfe7dc352907fc980b868725387e988efdc4dd0ac29b43123295eca853f4ed","name":"webview_flutter_wkwebview"}],"guid":"bfdfe7dc352907fc980b868725387e98312b4bc59bbbe2c06c205bf4da6737f5","name":"Pods-Runner","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98699846e06e93b50cafdb00290784c775","name":"Pods_Runner.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98144cd18850e477837c238075d5256ffe","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980029bc42f3dda39154e9cd2e8ce213da","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981b663a2c82f0220040296818ba53477e","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d15fe13ffb666b223bfd6ee9f0a6138e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98965b92d39d30a7872295adc2841cd1b1","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d4a36e40c823f266ea5f9d0711ed6df0","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e5e8bcdff29e5f8321be18f7989b4bc7","guid":"bfdfe7dc352907fc980b868725387e98ca9af5e2c54f437f9ebb0c203883ccae","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e986e6b8bd91d07f2fb082ccd84c7dcacb1","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98022654f1ff78dd844d694dba2439dab2","guid":"bfdfe7dc352907fc980b868725387e9881f185e1672aa83b98d6e30b47f8f468"}],"guid":"bfdfe7dc352907fc980b868725387e98de09b1176c796343f1f9bcd422c73402","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e98e7ac2b91ee49764a75561cf994247683"}],"guid":"bfdfe7dc352907fc980b868725387e983bb5c38e7891bdb262f8e050f7d97030","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987fddc24c35656402341de288e0688015","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98312b4bc59bbbe2c06c205bf4da6737f5","name":"Pods-Runner"}],"guid":"bfdfe7dc352907fc980b868725387e98483832d3c820398e9d40e1a6904b03fe","name":"Pods-RunnerTests","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984f9f39caeddf64cc331db2b69d62aa63","name":"Pods_RunnerTests.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98890adb2b2b98fc70f20de16996216002","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c0a44ddda8105286060bf5c6003d30d7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98221c7220f1a43556e154d0e84bf28676","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986afd31b25e8bdbe54b555b3e819bed9a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98221c7220f1a43556e154d0e84bf28676","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984409b961219dd5170e42cf8af9d37b85","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98da3c51c4c853664165580f13a6f0fc5c","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98cf2603f400108d5d689d69e49210f9ea","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d81fa81818b111128bdfcbfe37fe99cc","guid":"bfdfe7dc352907fc980b868725387e986f2cd484effb79da397fd484ac7cefd7"}],"guid":"bfdfe7dc352907fc980b868725387e9848f72b017e196244386c0f13d723c588","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98cba567c8a049008de84f093e54e3191c","name":"image_picker_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989b8b5e6c332d83d94a43e8bb36f14a8b","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e982cf0da236cf10d087750aa1434da9227","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98765d02cbdfd89645a23d200ad656f8af","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98cc28f154213fd8181aa70d4c188a8335","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98765d02cbdfd89645a23d200ad656f8af","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e981f19fefc6e52ad9e4e005a2248234387","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c9406d4edd5339dd20198a367c290d36","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ab88586633079f928287f370e8b6f07b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988fe63e2e9f76f78e56562689e1d41ffe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9880f884b2537bd891ed54ff6e3ab7d0ee","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988fe63e2e9f76f78e56562689e1d41ffe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9858b9d941e76db42d349048c14af0e16e","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986ad90640c2a87ccd2504ab539e324d34","guid":"bfdfe7dc352907fc980b868725387e98e40234757d04478dc54a213f59e845fa","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98450b40315711083d32b0ed949174ff28","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989f750ed9e20f950ada8937f306c31206","guid":"bfdfe7dc352907fc980b868725387e98c025a6cef40a0e1fbdb6dfdf276171ba"},{"fileReference":"bfdfe7dc352907fc980b868725387e980e2570f90a57a95b7bd48b9bbed2305f","guid":"bfdfe7dc352907fc980b868725387e986dfc1b5ca512f6383be32a7124385963"},{"fileReference":"bfdfe7dc352907fc980b868725387e98616486747c74cf21aec11f2de8c74a26","guid":"bfdfe7dc352907fc980b868725387e98651a9c0b966fd508c01d94f4cad81677"}],"guid":"bfdfe7dc352907fc980b868725387e98f5d455158bacea210fd45e1a8f3245fc","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e9829f34398048903731961241124ac546e"}],"guid":"bfdfe7dc352907fc980b868725387e987ebedde198dc993f3ca38aec4ed08768","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98234997a2811e55e2dfc23faf0b9d3093","targetReference":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5"}],"guid":"bfdfe7dc352907fc980b868725387e98ac45f7d09c5ae0c1d8f7eb8e8ff004ab","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9830037b09fee48cfce1f8562d753688c8","name":"path_provider_foundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98177b75fe6f519d73b22b382cca137f1c","name":"path_provider_foundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987429100136c7cabdb1c53ff7846a606f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984b0ac60cfbf01a73090074fdbdad02ca","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852aeec4c055e14df0bbd35d7207bef7b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98497877ccb057c0b998adcc0f530ed6ce","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852aeec4c055e14df0bbd35d7207bef7b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e4724ec3436be7e4ac6868968ad6eabe","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e983798725b834d0f662406381ca7bde3f2","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b91701758ca9639610804a99b5398a8d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a7593e8608d9acecd27fab8927976749","guid":"bfdfe7dc352907fc980b868725387e98ac058063c77726eb1f0b10fdd8be15b5"}],"guid":"bfdfe7dc352907fc980b868725387e9837f959b90bb31b5e696f9a85cb667226","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ad625504a4c1e61077bbfd33bd1d1785","name":"shared_preferences_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a6093e67eab0c95af9b59197c88a1b6b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/permission_handler_apple","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"permission_handler_apple","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/ResourceBundle-permission_handler_apple_privacy-permission_handler_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"permission_handler_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ab85269e3c32dd7d46dc5b2d71a85e10","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982824e3afc8d872da1d8489aeef65d25c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/permission_handler_apple","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"permission_handler_apple","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/ResourceBundle-permission_handler_apple_privacy-permission_handler_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"permission_handler_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98339217bba3aa34a14079ebf1ecbb02d9","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982824e3afc8d872da1d8489aeef65d25c","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/permission_handler_apple","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"permission_handler_apple","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/ResourceBundle-permission_handler_apple_privacy-permission_handler_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"permission_handler_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9848aceabd21d4bd82521339f4bb06e5ef","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9809610ca16e4ec0b8b4d2801aac5247b5","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ec495162e4d17b980435a432aa070d1b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983baa8e01f584c554d49e2b2bb7cde084","guid":"bfdfe7dc352907fc980b868725387e98a0381af2bb4814d9d0a8e921781d06fe"}],"guid":"bfdfe7dc352907fc980b868725387e981f36d8e95984def1a3e1adcf78688e0d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9802f35ab680609a626ebd2ddd692a3822","name":"permission_handler_apple-permission_handler_apple_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983e9a904e8a35cb34b69458780be142b3","name":"permission_handler_apple_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e8fb97e4d8fc6b27d73383f393c88ecd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/TOCropViewController/TOCropViewController-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/TOCropViewController/TOCropViewController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"11.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/TOCropViewController/TOCropViewController.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"TOCropViewController","PRODUCT_NAME":"TOCropViewController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98605c35452afc21c9738f0c6828c71d26","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98646a08d73cb1b05edde4b2af727d2773","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/TOCropViewController/TOCropViewController-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/TOCropViewController/TOCropViewController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"11.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/TOCropViewController/TOCropViewController.modulemap","PRODUCT_MODULE_NAME":"TOCropViewController","PRODUCT_NAME":"TOCropViewController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988c614f91f9b72052667099c32cbe6637","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98646a08d73cb1b05edde4b2af727d2773","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/TOCropViewController/TOCropViewController-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/TOCropViewController/TOCropViewController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"11.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/TOCropViewController/TOCropViewController.modulemap","PRODUCT_MODULE_NAME":"TOCropViewController","PRODUCT_NAME":"TOCropViewController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a86be8a3d3fc9de309d9529a5e706f38","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cb086915a5d7868551987b7c937b1a48","guid":"bfdfe7dc352907fc980b868725387e980a4dfaa604a5c973bd4cb5802c9855ab","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980f947dccb1ab29394d270a9013b4bf6e","guid":"bfdfe7dc352907fc980b868725387e9863499551374c1c9ce8b5b4772d95cd02","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984d282bd26faa86397beb095b7a3d376d","guid":"bfdfe7dc352907fc980b868725387e98729b04462a09cdeae6d1711d1cca87d8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98797068857240200848cd110455f52a9a","guid":"bfdfe7dc352907fc980b868725387e98d7cc822e6ff7acf3dda3e6f4e7a05fe2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982bff5d3fdbb96b21480273a5f509d057","guid":"bfdfe7dc352907fc980b868725387e9869aa9e264a1406d02e21ec0e12782b90","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a10957f0a1eeea88e6ac565e960e0f93","guid":"bfdfe7dc352907fc980b868725387e988c61a099ce5bda3b8c423bda9a71d3fe","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0694873f1892e94bb75f8e59dedc233","guid":"bfdfe7dc352907fc980b868725387e98969de66fdf5f5ba640fa0b4fd2b1983d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9856f118f2d46d97111b2a52e08ff662a3","guid":"bfdfe7dc352907fc980b868725387e9892aac1b38c1207e05c8972ff02b5577d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98486b24fc8a92b9608b42c206e389e292","guid":"bfdfe7dc352907fc980b868725387e98a105d635d93b75cace7bbd27b86b8e73","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2614aa70647dc91f2899ce09cd44b2e","guid":"bfdfe7dc352907fc980b868725387e98fe2d3380e9a9e674f15a2ea4eea9bba1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98822752306ed24d8224a31589482a6a19","guid":"bfdfe7dc352907fc980b868725387e98311b7b43caef2eb83b6f84d293bffd52","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e989823e64e9e00d6500db27cd56bb64766","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9820af03ccb5b9dba937543436fde51ebc","guid":"bfdfe7dc352907fc980b868725387e98f2854e2e6c4b0efdadd510b4c7df08e9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98589c232ca66350220c5b2b60af419691","guid":"bfdfe7dc352907fc980b868725387e98862f204c2217ec1fd0f6c2541cb1d7d2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98967f8f000fb83e0cd182b51d0c53cdd4","guid":"bfdfe7dc352907fc980b868725387e98c4192ed237fd06694e27828b8f6eaa20"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e6de2b9bdc36646e78a3b258eff7e562","guid":"bfdfe7dc352907fc980b868725387e98314f445b68467d09bc944f6977d6a1e5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98817bdacacaa9c1fdca41497b32908163","guid":"bfdfe7dc352907fc980b868725387e9899e94270ee0a9fc2990fe6311d9e930c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816660fd5daec56af3b08e2cb899287bc","guid":"bfdfe7dc352907fc980b868725387e9874865e6e3e9d40fd69956302ea6a16b1"},{"fileReference":"bfdfe7dc352907fc980b868725387e9846c6e6f5c86b917d65fbec9b4dd09550","guid":"bfdfe7dc352907fc980b868725387e9830df155f1ccf9cf1ff06feda787776e8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98af82120dd778704d0b071247289500e0","guid":"bfdfe7dc352907fc980b868725387e98a9f944ecbfbd6276045c1acd677fdc87"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce28fe5a13c196a6e1dc960861f6321d","guid":"bfdfe7dc352907fc980b868725387e9834639a5bdb4f50681ddcc792d8385313"},{"fileReference":"bfdfe7dc352907fc980b868725387e983daa75eb91fc04928c0658f9216185f7","guid":"bfdfe7dc352907fc980b868725387e983da8a6c162fb34e1a67bb7ab1d4b8cc7"}],"guid":"bfdfe7dc352907fc980b868725387e98b973c71a5c8d9944a2711af778a2c3b6","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e98269f2208e6af9ec57440cdb8e9a1fdb7"}],"guid":"bfdfe7dc352907fc980b868725387e988710db881c4cd7a5ab2e4ff5e3783e93","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e981ebf3826f47dbb7fd582b4ad06af832b","targetReference":"bfdfe7dc352907fc980b868725387e986dbfa2df59ddcae0f992dedaee8f3553"}],"guid":"bfdfe7dc352907fc980b868725387e98561889aae53f203fe8d20bd552b4212b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e986dbfa2df59ddcae0f992dedaee8f3553","name":"TOCropViewController-TOCropViewControllerBundle"}],"guid":"bfdfe7dc352907fc980b868725387e987a4af56e2729cecfad7b13d62a9a5fa4","name":"TOCropViewController","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9874cf314b58ac20a75c1512ceb8885e00","name":"TOCropViewController.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98493610a1174f3f4f738833de56d1328f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/webview_flutter_wkwebview","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"webview_flutter_wkwebview","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"webview_flutter_wkwebview_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d80b51d8a17903a5a76f87e19f34a1cd","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986361f96ad5d0d9cdb22ee6aa8a152702","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/webview_flutter_wkwebview","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"webview_flutter_wkwebview","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"webview_flutter_wkwebview_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a8eb84ead72688d86e0b3cc3812ea2c5","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986361f96ad5d0d9cdb22ee6aa8a152702","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/webview_flutter_wkwebview","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"webview_flutter_wkwebview","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"webview_flutter_wkwebview_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9866813aeb060709759078e48411f62903","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98be0c772f785cd7505ee510c2c1540ffc","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9803c584675c731ccc36f8caaf4cf90695","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982297aecfd80c36c1baf114e37d793b48","guid":"bfdfe7dc352907fc980b868725387e98da6537bf6fc10be793f792c58fe8ceb7"}],"guid":"bfdfe7dc352907fc980b868725387e988311469bb57dac0be242a449c4d5a54c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987c93e943aa0a38b5f6684beaf6b4a3a1","name":"webview_flutter_wkwebview-webview_flutter_wkwebview_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a0c2ea56ea4c64a4495566659e5fdb93","name":"webview_flutter_wkwebview_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987429100136c7cabdb1c53ff7846a606f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986f83bf1d86816a7afe713389f3b0794c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852aeec4c055e14df0bbd35d7207bef7b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c6ce66678a98cae8c935e06602a448e0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852aeec4c055e14df0bbd35d7207bef7b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980f59bc0c0df185b08d92e2afa6f35dda","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983ec0af0b71e7c22c7e6379565b559d23","guid":"bfdfe7dc352907fc980b868725387e98e82259888cd400660e6ae15b115eb233","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9845bc282ec8aa7540f3a569c2631d21d5","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e7a271e245866241ed9115730062d18c","guid":"bfdfe7dc352907fc980b868725387e983f910a660af8b1be8c5c9c125d4adb96"},{"fileReference":"bfdfe7dc352907fc980b868725387e987877bde4a16b804bce84a03009cd4a3f","guid":"bfdfe7dc352907fc980b868725387e98489a95f2019f3ec6e0acd5ba6de8991a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c00b68f3aa242f9059f2aa57ccc6a50b","guid":"bfdfe7dc352907fc980b868725387e989af2be92c6af9962a52aabe6c4751285"}],"guid":"bfdfe7dc352907fc980b868725387e98f14b5d6b6d6b0c465e2f1e0eaa6bc1cd","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e98475ba5d87573359032e9b06fd466a003"}],"guid":"bfdfe7dc352907fc980b868725387e9859badffc37928e123e98be61f8d11d71","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9872e4e537a8c9a8da179493daa4c54b77","targetReference":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765"}],"guid":"bfdfe7dc352907fc980b868725387e9876fd72010a5b056ae41fa1936cd39334","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9828cab1f188854e0a973e6ff6905c5ffe","name":"shared_preferences_foundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9815af7ba71ce93f789a463577fc360420","name":"shared_preferences_foundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9872c3a102c2f55c6f0eee5833107fac63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ee49f65d26d8a0c930cc03d16e0ffcc8","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d1a455bf7417c3aeb645db18ef108a94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987d3fcd01a34fff9e18dec0764bcc371e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d1a455bf7417c3aeb645db18ef108a94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/changshouda/Documents/flutter_flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984def481d54810d0de6d3335b228b2a5d","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986fb22dd51fa46a134940fe6eaca4c33f","guid":"bfdfe7dc352907fc980b868725387e98f74bfe561cdc142d140be02f934f1dd5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9884ed5320049c5deacc8bdde324892932","guid":"bfdfe7dc352907fc980b868725387e98ee11ff009cad5d58df14f6726361e05e"},{"fileReference":"bfdfe7dc352907fc980b868725387e986111af286522da9c91d0a23bb43d5789","guid":"bfdfe7dc352907fc980b868725387e985b56be77fd90c95178875fbdc9759ded"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f522c2c362e0cb505e091d40b601b659","guid":"bfdfe7dc352907fc980b868725387e989fb03240d74c5b16d4df2090487dd870"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb3a48ecd51a149ca81f8964ffc2a633","guid":"bfdfe7dc352907fc980b868725387e98b0a98399ea089bec6015924fca214fd0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a6073c90465ff96a450936e03863b005","guid":"bfdfe7dc352907fc980b868725387e98a561fea4089e8e9aaa7d41e004a74551"},{"fileReference":"bfdfe7dc352907fc980b868725387e984af2acc58d476c23807b931ebdc6fcea","guid":"bfdfe7dc352907fc980b868725387e98e58eb8cea732f8da9eabee06f4760c04"},{"fileReference":"bfdfe7dc352907fc980b868725387e989792f90254ab248f54bb28aad5d10b96","guid":"bfdfe7dc352907fc980b868725387e989f7af140018ee6c1e6b210b20014ceb1"},{"fileReference":"bfdfe7dc352907fc980b868725387e980a6fc4f6d4839e6b447146ca7c886bce","guid":"bfdfe7dc352907fc980b868725387e98f23c703fb2f8f96105b7661f651d76b4"},{"fileReference":"bfdfe7dc352907fc980b868725387e989592a62ecd847bb19b5cd1307f338495","guid":"bfdfe7dc352907fc980b868725387e98b842866f43a58c7f2cd4903a46020f66"},{"fileReference":"bfdfe7dc352907fc980b868725387e980af65b71df82ad9c499004407ea24610","guid":"bfdfe7dc352907fc980b868725387e986769c43d062e13d97bdb26435517a0a9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9888ff0ca83bb270d92e95e5a3a94f5b66","guid":"bfdfe7dc352907fc980b868725387e98dcd1d6833c3ba22cff192e9c729f402d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5ab4adf06bad8786975c988a7c1aefc","guid":"bfdfe7dc352907fc980b868725387e98a8b10f256eab576dca45253c4e5eb01a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9870b0a201c6540c238e46ebd2a3e3f6e2","guid":"bfdfe7dc352907fc980b868725387e984db51d20d4b10739c36207080362307d","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98cc465b98567e5be1dff8b7284a07e4e3","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a3e0e5f6b6128baf5a0636ba98dd1bf7","guid":"bfdfe7dc352907fc980b868725387e985adaa6c4e40f33315ac0cec984200988"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5a595be9be31b486c76ff2f88085da9","guid":"bfdfe7dc352907fc980b868725387e9887c26a4ce919cd8e1da7ba74bc37f5e3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a0dd514539473bc748477a243ceff41d","guid":"bfdfe7dc352907fc980b868725387e98d14ae3cc83358b6ee88a1f9a4d5c6d3e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879bf3158d99ad90816a50571a9897a1b","guid":"bfdfe7dc352907fc980b868725387e983dbbed738f1be0937cd9105c2a700a04"},{"fileReference":"bfdfe7dc352907fc980b868725387e986fd10043962de1416443951e6f9a1223","guid":"bfdfe7dc352907fc980b868725387e98ea0fba00024403dbd3e85cac557df8e5"},{"fileReference":"bfdfe7dc352907fc980b868725387e9809c004b58d16a21de9d0533f0896ef75","guid":"bfdfe7dc352907fc980b868725387e9823662ee0e62201af4b56a8af77ae26e6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98caf6cab5efa0d88fed7a44cb8c5eb823","guid":"bfdfe7dc352907fc980b868725387e98fed9191d2666c9cd3507583cd694c1a5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c83761c941d8fe8c3cf108bf0d3e3aa5","guid":"bfdfe7dc352907fc980b868725387e98af1eb69ffb28b93e0b654f9fa9aeec11"},{"fileReference":"bfdfe7dc352907fc980b868725387e98407416797503baf87cf9e40adefc896e","guid":"bfdfe7dc352907fc980b868725387e98e6b9ebef247a9cb276932d07fdf18195"}],"guid":"bfdfe7dc352907fc980b868725387e9837c2f0a37c50e959478519168227e455","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9867aa7825f197b5c58a57320b4ccdc64e","guid":"bfdfe7dc352907fc980b868725387e982f461d51c284a55b8f869fc9092ae5dc"}],"guid":"bfdfe7dc352907fc980b868725387e98dd47f73652ff7b522b7942f6a87afd23","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98d17544c34b81de618417de5f9c91b4ec","targetReference":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8"}],"guid":"bfdfe7dc352907fc980b868725387e98e60a652c76bfee084293e97b00176921","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e981304d3d2169071b3ca365b19f5340b7c","name":"sqflite_darwin","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98dbbec3eebed26c79cc653713be723aba","name":"sqflite_darwin.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"}
  1 +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9868b77f49da4a0e0608aac8b3f5ae3e8e","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/fluttertoast","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"fluttertoast","INFOPLIST_FILE":"Target Support Files/fluttertoast/ResourceBundle-fluttertoast_privacy-fluttertoast-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"fluttertoast_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e953ed566e91deecfd81b8d86775557e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852dc1371d317d5fc535ff1f306279566","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/fluttertoast","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"fluttertoast","INFOPLIST_FILE":"Target Support Files/fluttertoast/ResourceBundle-fluttertoast_privacy-fluttertoast-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"fluttertoast_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98aaf3428a047eceae78d5066e966725e2","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852dc1371d317d5fc535ff1f306279566","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/fluttertoast","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"fluttertoast","INFOPLIST_FILE":"Target Support Files/fluttertoast/ResourceBundle-fluttertoast_privacy-fluttertoast-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"fluttertoast_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f579fcd0430145ff5c26ebb561295b61","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9841303d8c9e72995b61c742fccb2bd21c","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984d28eac7bb4cfd0b6e33b38e608751b1","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98929a0306e3d8a8e4d4e29ee5e8aefe33","guid":"bfdfe7dc352907fc980b868725387e98eed99eb74e9521e86d82963f3fcafaa0"}],"guid":"bfdfe7dc352907fc980b868725387e98b5f9c12d7a063695e354f05b3e8b7e8e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e985739272bce418ef50bd06c859612bad5","name":"fluttertoast-fluttertoast_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e989d4bb598ca0a92e1d0f3a4ef0157bf7e","name":"fluttertoast_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
  1 +{"guid":"dc4b70c03e8043e50e38f2068887b1d4","name":"Pods","path":"/Users/changshouda/Documents/FlutterProject/doublefeel_flutter/ios/Pods/Pods.xcodeproj/project.xcworkspace","projects":["PROJECT@v11_mod=0c3f0943d4c7c3601816831d5458ddcd_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]}
@@ -27,17 +27,8 @@ class AccountSettingsView extends GetView<AccountSettingsController> { @@ -27,17 +27,8 @@ class AccountSettingsView extends GetView<AccountSettingsController> {
27 child: Scaffold( 27 child: Scaffold(
28 backgroundColor: _background, 28 backgroundColor: _background,
29 appBar: AppBar( 29 appBar: AppBar(
30 - backgroundColor: Colors.transparent,  
31 - surfaceTintColor: Colors.transparent,  
32 - toolbarHeight: 44.dp,  
33 - centerTitle: true,  
34 title: Text( 30 title: Text(
35 '账号设置', 31 '账号设置',
36 - style: TextStyle(  
37 - color: AppColors.textPrimary,  
38 - fontSize: 16.dp,  
39 - fontWeight: FontWeight.w500,  
40 - ),  
41 ), 32 ),
42 leading: IconButton( 33 leading: IconButton(
43 highlightColor: Colors.transparent, 34 highlightColor: Colors.transparent,
1 import 'package:doublefeel_flutter/core/theme/app_colors.dart'; 1 import 'package:doublefeel_flutter/core/theme/app_colors.dart';
2 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 2 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
3 import 'package:doublefeel_flutter/data/models/user/user_models.dart'; 3 import 'package:doublefeel_flutter/data/models/user/user_models.dart';
  4 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
4 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
5 import 'package:get/get.dart'; 6 import 'package:get/get.dart';
  7 +import 'package:intl/intl.dart';
6 8
7 import '../controllers/feedback_list_controller.dart'; 9 import '../controllers/feedback_list_controller.dart';
8 10
@@ -14,19 +16,8 @@ class FeedbackListView extends GetView<FeedbackListController> { @@ -14,19 +16,8 @@ class FeedbackListView extends GetView<FeedbackListController> {
14 return Scaffold( 16 return Scaffold(
15 backgroundColor: context.colors.backgroundPage, 17 backgroundColor: context.colors.backgroundPage,
16 appBar: AppBar( 18 appBar: AppBar(
17 - backgroundColor: Colors.transparent,  
18 - surfaceTintColor: Colors.transparent,  
19 - shadowColor: Colors.transparent,  
20 - elevation: 0,  
21 - toolbarHeight: 44,  
22 - centerTitle: true,  
23 - title: const Text(  
24 - '反馈记录',  
25 - style: TextStyle(  
26 - color: Colors.black,  
27 - fontSize: 16,  
28 - fontWeight: FontWeight.w500,  
29 - ), 19 + title: Text(
  20 + context.l10n.feedbackLog,
30 ), 21 ),
31 leadingWidth: 56, 22 leadingWidth: 56,
32 leading: IconButton( 23 leading: IconButton(
@@ -49,7 +40,7 @@ class FeedbackListView extends GetView<FeedbackListController> { @@ -49,7 +40,7 @@ class FeedbackListView extends GetView<FeedbackListController> {
49 if (controller.records.isEmpty) { 40 if (controller.records.isEmpty) {
50 return Center( 41 return Center(
51 child: Text( 42 child: Text(
52 - '暂无反馈记录', 43 + context.l10n.noFeedbackRecordsYet,
53 style: TextStyle( 44 style: TextStyle(
54 color: context.colors.textSecondary, 45 color: context.colors.textSecondary,
55 fontSize: 14, 46 fontSize: 14,
@@ -208,7 +199,7 @@ class _FeedbackDetailSheet extends StatelessWidget { @@ -208,7 +199,7 @@ class _FeedbackDetailSheet extends StatelessWidget {
208 mainAxisAlignment: MainAxisAlignment.center, 199 mainAxisAlignment: MainAxisAlignment.center,
209 children: [ 200 children: [
210 Text( 201 Text(
211 - '反馈详情', 202 + AppLocalizations.of(context)!.feedbackDetails,
212 style: TextStyle( 203 style: TextStyle(
213 color: context.colors.textPrimary, 204 color: context.colors.textPrimary,
214 fontSize: 16, 205 fontSize: 16,
@@ -462,10 +453,5 @@ String _formatTimestamp(int? timestamp) { @@ -462,10 +453,5 @@ String _formatTimestamp(int? timestamp) {
462 if (timestamp == null || timestamp <= 0) return ''; 453 if (timestamp == null || timestamp <= 0) return '';
463 454
464 final date = DateTime.fromMillisecondsSinceEpoch(timestamp * 1000); 455 final date = DateTime.fromMillisecondsSinceEpoch(timestamp * 1000);
465 - final month = date.month.toString().padLeft(2, '0');  
466 - final day = date.day.toString().padLeft(2, '0');  
467 - final hour = date.hour.toString().padLeft(2, '0');  
468 - final minute = date.minute.toString().padLeft(2, '0');  
469 - final second = date.second.toString().padLeft(2, '0');  
470 - return '${date.year}/$month/$day $hour:$minute:$second'; 456 + return DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
471 } 457 }
  1 +import 'package:doublefeel_flutter/app/models/dialog_meta_data.dart';
  2 +import 'package:doublefeel_flutter/app/utils/dialog_utils.dart';
1 import 'package:doublefeel_flutter/core/network/api/user_api.dart'; 3 import 'package:doublefeel_flutter/core/network/api/user_api.dart';
2 import 'package:doublefeel_flutter/core/result/app_result.dart'; 4 import 'package:doublefeel_flutter/core/result/app_result.dart';
3 import 'package:doublefeel_flutter/core/util/app_toast.dart'; 5 import 'package:doublefeel_flutter/core/util/app_toast.dart';
@@ -57,7 +59,11 @@ class SubmitFeedbackController extends GetxController { @@ -57,7 +59,11 @@ class SubmitFeedbackController extends GetxController {
57 ); 59 );
58 switch (result) { 60 switch (result) {
59 case AppSuccess(): 61 case AppSuccess():
60 - AppToast.show('提交成功'); 62 + await DialogUtils.showCommonDialog(DialogMetaData(
  63 + title: '反馈提交成功',
  64 + message: '谢谢您的反馈。如需进一步沟通,我们会尽快通过您留下的邮箱地址与您联系,请留意查收邮件。',
  65 + confirmText: '好的',
  66 + ));
61 Get.back(); 67 Get.back();
62 case AppFailure(:final error): 68 case AppFailure(:final error):
63 AppToast.show(error.displayMessage); 69 AppToast.show(error.displayMessage);
@@ -2,6 +2,7 @@ import 'dart:io'; @@ -2,6 +2,7 @@ import 'dart:io';
2 2
3 import 'package:doublefeel_flutter/core/theme/app_colors.dart'; 3 import 'package:doublefeel_flutter/core/theme/app_colors.dart';
4 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 4 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
  5 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
5 import 'package:flutter/material.dart'; 6 import 'package:flutter/material.dart';
6 import 'package:get/get.dart'; 7 import 'package:get/get.dart';
7 import 'package:image_picker/image_picker.dart'; 8 import 'package:image_picker/image_picker.dart';
@@ -25,8 +26,8 @@ class SubmitFeedbackView extends GetView<SubmitFeedbackController> { @@ -25,8 +26,8 @@ class SubmitFeedbackView extends GetView<SubmitFeedbackController> {
25 elevation: 0, 26 elevation: 0,
26 toolbarHeight: 44, 27 toolbarHeight: 44,
27 centerTitle: true, 28 centerTitle: true,
28 - title: const Text(  
29 - '问题反馈', 29 + title: Text(
  30 + context.l10n.reportAnIssue,
30 style: TextStyle( 31 style: TextStyle(
31 color: Colors.black, 32 color: Colors.black,
32 fontSize: 16, 33 fontSize: 16,
@@ -61,7 +62,7 @@ class SubmitFeedbackView extends GetView<SubmitFeedbackController> { @@ -61,7 +62,7 @@ class SubmitFeedbackView extends GetView<SubmitFeedbackController> {
61 SizedBox(height: 9), 62 SizedBox(height: 9),
62 const _FeedbackInput(), 63 const _FeedbackInput(),
63 SizedBox(height: 20), 64 SizedBox(height: 20),
64 - const _SectionLabel('联系方式'), 65 + _SectionLabel(context.l10n.contactInformation),
65 SizedBox(height: 8), 66 SizedBox(height: 8),
66 const _ContactInput(), 67 const _ContactInput(),
67 SizedBox(height: 20), 68 SizedBox(height: 20),
@@ -86,8 +87,8 @@ class SubmitFeedbackView extends GetView<SubmitFeedbackController> { @@ -86,8 +87,8 @@ class SubmitFeedbackView extends GetView<SubmitFeedbackController> {
86 color: AppColors.primary, 87 color: AppColors.primary,
87 borderRadius: BorderRadius.circular(24), 88 borderRadius: BorderRadius.circular(24),
88 ), 89 ),
89 - child: const Text(  
90 - '提交', 90 + child: Text(
  91 + AppLocalizations.of(context)!.submit,
91 style: TextStyle( 92 style: TextStyle(
92 color: Colors.white, 93 color: Colors.white,
93 fontSize: 16, 94 fontSize: 16,
@@ -117,12 +118,12 @@ class _FeedbackLabel extends StatelessWidget { @@ -117,12 +118,12 @@ class _FeedbackLabel extends StatelessWidget {
117 fontWeight: FontWeight.w500, 118 fontWeight: FontWeight.w500,
118 height: 1.4, 119 height: 1.4,
119 ), 120 ),
120 - children: const [ 121 + children: [
121 TextSpan( 122 TextSpan(
122 text: '* ', 123 text: '* ',
123 style: TextStyle(color: AppColors.warning), 124 style: TextStyle(color: AppColors.warning),
124 ), 125 ),
125 - TextSpan(text: '问题和反馈'), 126 + TextSpan(text: context.l10n.questionsAndFeedback),
126 ], 127 ],
127 ), 128 ),
128 ); 129 );
@@ -181,7 +182,9 @@ class _FeedbackInput extends GetView<SubmitFeedbackController> { @@ -181,7 +182,9 @@ class _FeedbackInput extends GetView<SubmitFeedbackController> {
181 enabledBorder: InputBorder.none, 182 enabledBorder: InputBorder.none,
182 focusedBorder: InputBorder.none, 183 focusedBorder: InputBorder.none,
183 counterText: '', 184 counterText: '',
184 - hintText: '请详细描述你遇到的问题或建议', 185 + hintText: '''1.请说明问题的界面和使用场景
  186 +2.请提供截图,以便提升解决问题效率
  187 +3.请留下联系方式,我们尽快回复联系您''',
185 hintStyle: TextStyle( 188 hintStyle: TextStyle(
186 color: context.colors.textTertiary, 189 color: context.colors.textTertiary,
187 fontSize: 14, 190 fontSize: 14,
@@ -247,7 +250,8 @@ class _ContactInput extends GetView<SubmitFeedbackController> { @@ -247,7 +250,8 @@ class _ContactInput extends GetView<SubmitFeedbackController> {
247 border: InputBorder.none, 250 border: InputBorder.none,
248 enabledBorder: InputBorder.none, 251 enabledBorder: InputBorder.none,
249 focusedBorder: InputBorder.none, 252 focusedBorder: InputBorder.none,
250 - hintText: '如果需要我们回复,请填写联系邮箱', 253 + hintText: AppLocalizations.of(context)!
  254 + .ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress,
251 hintStyle: TextStyle( 255 hintStyle: TextStyle(
252 color: context.colors.textTertiary, 256 color: context.colors.textTertiary,
253 fontSize: 14, 257 fontSize: 14,
@@ -268,7 +272,7 @@ class _UploadHeader extends GetView<SubmitFeedbackController> { @@ -268,7 +272,7 @@ class _UploadHeader extends GetView<SubmitFeedbackController> {
268 Widget build(BuildContext context) { 272 Widget build(BuildContext context) {
269 return Row( 273 return Row(
270 children: [ 274 children: [
271 - const _SectionLabel('上传凭证'), 275 + _SectionLabel(context.l10n.uploadProof),
272 SizedBox(width: 5), 276 SizedBox(width: 5),
273 Obx( 277 Obx(
274 () => Text( 278 () => Text(
@@ -17,8 +17,8 @@ class HelpView extends GetView<HelpController> { @@ -17,8 +17,8 @@ class HelpView extends GetView<HelpController> {
17 17
18 return Scaffold( 18 return Scaffold(
19 appBar: AppBar( 19 appBar: AppBar(
20 - title: const Text(  
21 - '帮助', 20 + title: Text(
  21 + context.l10n.help,
22 ), 22 ),
23 leadingWidth: 56, 23 leadingWidth: 56,
24 leading: IconButton( 24 leading: IconButton(
@@ -47,7 +47,7 @@ class HelpView extends GetView<HelpController> { @@ -47,7 +47,7 @@ class HelpView extends GetView<HelpController> {
47 _FaqCard(items: faqItems), 47 _FaqCard(items: faqItems),
48 SizedBox(height: 12), 48 SizedBox(height: 12),
49 _ActionRow( 49 _ActionRow(
50 - title: '反馈记录', 50 + title: context.l10n.feedbackLog,
51 onTap: () => Get.toNamed(Routes.FEEDBACK_LIST), 51 onTap: () => Get.toNamed(Routes.FEEDBACK_LIST),
52 ), 52 ),
53 ], 53 ],
@@ -58,7 +58,7 @@ class HelpView extends GetView<HelpController> { @@ -58,7 +58,7 @@ class HelpView extends GetView<HelpController> {
58 bottom: 36 + MediaQuery.paddingOf(context).bottom, 58 bottom: 36 + MediaQuery.paddingOf(context).bottom,
59 child: Center( 59 child: Center(
60 child: _PrimaryHelpButton( 60 child: _PrimaryHelpButton(
61 - label: '问题反馈', 61 + label: context.l10n.reportAnIssue,
62 onTap: () => Get.toNamed(Routes.SUBMIT_FEEDBACK), 62 onTap: () => Get.toNamed(Routes.SUBMIT_FEEDBACK),
63 ), 63 ),
64 ), 64 ),
@@ -151,7 +151,7 @@ class _FaqCard extends StatelessWidget { @@ -151,7 +151,7 @@ class _FaqCard extends StatelessWidget {
151 crossAxisAlignment: CrossAxisAlignment.start, 151 crossAxisAlignment: CrossAxisAlignment.start,
152 children: [ 152 children: [
153 Text( 153 Text(
154 - '常见问题', 154 + AppLocalizations.of(context)!.frequentlyAskedQuestions,
155 style: TextStyle( 155 style: TextStyle(
156 color: context.colors.textPrimary, 156 color: context.colors.textPrimary,
157 fontSize: 14, 157 fontSize: 14,
1 import 'package:doublefeel_flutter/core/network/api/user_api.dart'; 1 import 'package:doublefeel_flutter/core/network/api/user_api.dart';
2 -import 'package:get/get_state_manager/src/simple/get_controllers.dart'; 2 +import 'package:doublefeel_flutter/core/result/app_result.dart';
  3 +import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart';
  4 +import 'package:doublefeel_flutter/data/models/user/user_models.dart';
  5 +import 'package:get/get.dart';
  6 +import 'package:image_picker/image_picker.dart';
3 7
4 class MyController extends GetxController { 8 class MyController extends GetxController {
5 MyController(this._userApi); 9 MyController(this._userApi);
6 10
7 final UserApi _userApi; 11 final UserApi _userApi;
  12 + final ImagePicker _picker = ImagePicker();
  13 +
  14 + void updateNickname(String nickname) async {
  15 + final result = await _userApi.updateOwnerUserInfo(nickname: nickname);
  16 + if (result is AppSuccess<UserInfoResponse>) {
  17 + await Get.find<UserPreferencesStorage>().updateMeUserInfo(result.data);
  18 + }
  19 + }
  20 +
  21 + Future<void> pickAvatar() async {
  22 + final result = await _picker.pickImage(source: ImageSource.gallery);
  23 + if (result != null) {
  24 + var obsUrl = 'https://cdn.couple360.net/couple360/themes/im_theme7.png';
  25 + final updateResult = await _userApi.updateOwnerUserInfo(avatar: obsUrl);
  26 + if (updateResult is AppSuccess<UserInfoResponse>) {
  27 + await Get.find<UserPreferencesStorage>()
  28 + .updateMeUserInfo(updateResult.data);
  29 + }
  30 + }
  31 + }
8 } 32 }
@@ -77,6 +77,8 @@ class TodayController extends GetxController { @@ -77,6 +77,8 @@ class TodayController extends GetxController {
77 // ── HRV 数字 + 心率 ─────────────────────── 77 // ── HRV 数字 + 心率 ───────────────────────
78 final avgHrv = '--'.obs; 78 final avgHrv = '--'.obs;
79 final restingHeartRate = '--'.obs; 79 final restingHeartRate = '--'.obs;
  80 + final latestHrvValue = '--'.obs;
  81 + final latestHrvTimeLabel = ''.obs;
80 82
81 // ── 睡眠卡片 ────────────────────────────── 83 // ── 睡眠卡片 ──────────────────────────────
82 final sleepHours = '--'.obs; 84 final sleepHours = '--'.obs;
@@ -288,6 +290,8 @@ class TodayController extends GetxController { @@ -288,6 +290,8 @@ class TodayController extends GetxController {
288 stressChartData.clear(); 290 stressChartData.clear();
289 hrvAnnotations.clear(); 291 hrvAnnotations.clear();
290 avgHrv.value = '--'; 292 avgHrv.value = '--';
  293 + latestHrvValue.value = '--';
  294 + latestHrvTimeLabel.value = '';
291 stressLabel.value = '状态正常'; 295 stressLabel.value = '状态正常';
292 } 296 }
293 297
@@ -314,13 +318,15 @@ class TodayController extends GetxController { @@ -314,13 +318,15 @@ class TodayController extends GetxController {
314 }), 318 }),
315 ); 319 );
316 320
  321 + final latest = _latestTodayHrv(today.hrvDataList);
  322 + _applyLatestTodayHrv(latest);
  323 +
317 final hrvValues = hrvPoints.map((point) => point.hrv).toList(); 324 final hrvValues = hrvPoints.map((point) => point.hrv).toList();
318 if (hrvValues.isNotEmpty) { 325 if (hrvValues.isNotEmpty) {
319 final average = hrvValues.reduce((value, element) => value + element) / 326 final average = hrvValues.reduce((value, element) => value + element) /
320 hrvValues.length; 327 hrvValues.length;
321 avgHrv.value = _formatMetric(average); 328 avgHrv.value = _formatMetric(average);
322 329
323 - final latest = _latestTodayHrv(today.hrvDataList);  
324 final latestStatus = latest?.hrvStatus; 330 final latestStatus = latest?.hrvStatus;
325 if (latestStatus != null) { 331 if (latestStatus != null) {
326 stressLabel.value = latestStatus.title; 332 stressLabel.value = latestStatus.title;
@@ -334,6 +340,10 @@ class TodayController extends GetxController { @@ -334,6 +340,10 @@ class TodayController extends GetxController {
334 if (avgHrv.value == '--' && userHrv != null) { 340 if (avgHrv.value == '--' && userHrv != null) {
335 avgHrv.value = _formatMetric(userHrv); 341 avgHrv.value = _formatMetric(userHrv);
336 } 342 }
  343 + if (latestHrvValue.value == '--' && userHrv != null) {
  344 + latestHrvValue.value = _formatMetric(userHrv);
  345 + latestHrvTimeLabel.value = '';
  346 + }
337 if (userHrv != null) { 347 if (userHrv != null) {
338 stressLabel.value = _hrvStatusTitle( 348 stressLabel.value = _hrvStatusTitle(
339 value: userHrv, 349 value: userHrv,
@@ -471,6 +481,16 @@ class TodayController extends GetxController { @@ -471,6 +481,16 @@ class TodayController extends GetxController {
471 } 481 }
472 } 482 }
473 483
  484 + void _applyLatestTodayHrv(TodayHrvData? latest) {
  485 + final value = latest?.value;
  486 + if (value == null) return;
  487 +
  488 + latestHrvValue.value = _formatMetric(value);
  489 + final time = latest?.time;
  490 + latestHrvTimeLabel.value =
  491 + time == null ? '' : _formatHour(_hourFromApiTime(time));
  492 + }
  493 +
474 void _applySleepDuration(int? rawDuration) { 494 void _applySleepDuration(int? rawDuration) {
475 final minutes = _normalizeDurationMinutes(rawDuration); 495 final minutes = _normalizeDurationMinutes(rawDuration);
476 if (minutes == null) { 496 if (minutes == null) {
1 import 'package:cached_network_image/cached_network_image.dart'; 1 import 'package:cached_network_image/cached_network_image.dart';
  2 +import 'package:doublefeel_flutter/app/actions/dialog_action.dart';
2 import 'package:doublefeel_flutter/app/models/input_dialog_meta_data.dart'; 3 import 'package:doublefeel_flutter/app/models/input_dialog_meta_data.dart';
3 import 'package:doublefeel_flutter/app/modules/home/controllers/my_controller.dart'; 4 import 'package:doublefeel_flutter/app/modules/home/controllers/my_controller.dart';
4 import 'package:doublefeel_flutter/app/modules/home/widgets/my/account_setting_view.dart'; 5 import 'package:doublefeel_flutter/app/modules/home/widgets/my/account_setting_view.dart';
@@ -10,6 +11,8 @@ import 'package:doublefeel_flutter/core/util/size_extensions.dart'; @@ -10,6 +11,8 @@ import 'package:doublefeel_flutter/core/util/size_extensions.dart';
10 import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart'; 11 import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart';
11 import 'package:doublefeel_flutter/data/models/local/user_preferences.dart'; 12 import 'package:doublefeel_flutter/data/models/local/user_preferences.dart';
12 import 'package:doublefeel_flutter/data/models/user/user_models.dart'; 13 import 'package:doublefeel_flutter/data/models/user/user_models.dart';
  14 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
  15 +import 'package:flutter/cupertino.dart';
13 import 'package:flutter/foundation.dart'; 16 import 'package:flutter/foundation.dart';
14 import 'package:flutter/material.dart'; 17 import 'package:flutter/material.dart';
15 import 'package:get/get.dart'; 18 import 'package:get/get.dart';
@@ -48,7 +51,9 @@ class MyTab extends GetView<MyController> { @@ -48,7 +51,9 @@ class MyTab extends GetView<MyController> {
48 child: _ProfileHeader(user: me), 51 child: _ProfileHeader(user: me),
49 ), 52 ),
50 const SizedBox(height: 28), 53 const SizedBox(height: 28),
51 - _ProCard(vipInfo: vipInfo), 54 + vipInfo?.isVip == true
  55 + ? _ProCard(vipInfo: vipInfo)
  56 + : const _UnlockPremiumCard(),
52 const SizedBox(height: 12), 57 const SizedBox(height: 12),
53 _WatchThemeCard( 58 _WatchThemeCard(
54 onTap: () => Get.toNamed( 59 onTap: () => Get.toNamed(
@@ -58,12 +63,12 @@ class MyTab extends GetView<MyController> { @@ -58,12 +63,12 @@ class MyTab extends GetView<MyController> {
58 ), 63 ),
59 const SizedBox(height: 12), 64 const SizedBox(height: 12),
60 _SettingsRow( 65 _SettingsRow(
61 - title: '账号信息', 66 + title: context.l10n.accountInformation,
62 onTap: () => Get.to(() => const AccountSettingView()), 67 onTap: () => Get.to(() => const AccountSettingView()),
63 ), 68 ),
64 const SizedBox(height: 12), 69 const SizedBox(height: 12),
65 _SettingsRow( 70 _SettingsRow(
66 - title: '帮助', 71 + title: context.l10n.help,
67 onTap: () => Get.toNamed(Routes.HELP), 72 onTap: () => Get.toNamed(Routes.HELP),
68 ), 73 ),
69 if (kDebugMode) ...[ 74 if (kDebugMode) ...[
@@ -82,6 +87,7 @@ class MyTab extends GetView<MyController> { @@ -82,6 +87,7 @@ class MyTab extends GetView<MyController> {
82 ); 87 );
83 } 88 }
84 } 89 }
  90 +
85 class _SettingsRow extends StatelessWidget { 91 class _SettingsRow extends StatelessWidget {
86 const _SettingsRow({required this.title, required this.onTap}); 92 const _SettingsRow({required this.title, required this.onTap});
87 93
@@ -127,7 +133,6 @@ class _SettingsRow extends StatelessWidget { @@ -127,7 +133,6 @@ class _SettingsRow extends StatelessWidget {
127 } 133 }
128 } 134 }
129 135
130 -  
131 class _ProfileHeader extends StatelessWidget { 136 class _ProfileHeader extends StatelessWidget {
132 const _ProfileHeader({required this.user}); 137 const _ProfileHeader({required this.user});
133 138
@@ -135,6 +140,8 @@ class _ProfileHeader extends StatelessWidget { @@ -135,6 +140,8 @@ class _ProfileHeader extends StatelessWidget {
135 140
136 @override 141 @override
137 Widget build(BuildContext context) { 142 Widget build(BuildContext context) {
  143 + var controller = Get.find<MyController>();
  144 +
138 return SizedBox( 145 return SizedBox(
139 height: 80, 146 height: 80,
140 child: Row( 147 child: Row(
@@ -167,15 +174,19 @@ class _ProfileHeader extends StatelessWidget { @@ -167,15 +174,19 @@ class _ProfileHeader extends StatelessWidget {
167 GestureDetector( 174 GestureDetector(
168 behavior: HitTestBehavior.opaque, 175 behavior: HitTestBehavior.opaque,
169 onTap: () async { 176 onTap: () async {
170 - await DialogUtils.showInputDialog( 177 + var result = await DialogUtils.showInputDialog(
171 InputDialogMetaData( 178 InputDialogMetaData(
172 - title: '修改昵称', 179 + title: context.l10n.changeNickname,
173 initialValue: user?.nickname ?? '', 180 initialValue: user?.nickname ?? '',
174 - hintText: '请输入昵称',  
175 - confirmText: '保存', 181 + hintText: context.l10n.pleaseEnterANickname,
  182 + confirmText: MaterialLocalizations.of(context)
  183 + .saveButtonLabel,
176 maxLength: 6, 184 maxLength: 6,
177 ), 185 ),
178 ); 186 );
  187 + if (result.action == DialogAction.confirm) {
  188 + controller.updateNickname(result.data ?? '');
  189 + }
179 }, 190 },
180 child: Image.asset( 191 child: Image.asset(
181 'assets/images/common/ic_edit_outlined.webp', 192 'assets/images/common/ic_edit_outlined.webp',
@@ -214,6 +225,7 @@ class _Avatar extends StatelessWidget { @@ -214,6 +225,7 @@ class _Avatar extends StatelessWidget {
214 225
215 @override 226 @override
216 Widget build(BuildContext context) { 227 Widget build(BuildContext context) {
  228 + var controller = Get.find<MyController>();
217 return Stack( 229 return Stack(
218 clipBehavior: Clip.none, 230 clipBehavior: Clip.none,
219 children: [ 231 children: [
@@ -232,7 +244,9 @@ class _Avatar extends StatelessWidget { @@ -232,7 +244,9 @@ class _Avatar extends StatelessWidget {
232 bottom: 0, 244 bottom: 0,
233 child: GestureDetector( 245 child: GestureDetector(
234 behavior: HitTestBehavior.opaque, 246 behavior: HitTestBehavior.opaque,
235 - onTap: () {}, 247 + onTap: () {
  248 + controller.pickAvatar();
  249 + },
236 child: Container( 250 child: Container(
237 width: 24, 251 width: 24,
238 height: 24, 252 height: 24,
@@ -254,6 +268,67 @@ class _Avatar extends StatelessWidget { @@ -254,6 +268,67 @@ class _Avatar extends StatelessWidget {
254 } 268 }
255 } 269 }
256 270
  271 +class _UnlockPremiumCard extends StatelessWidget {
  272 + const _UnlockPremiumCard();
  273 +
  274 + @override
  275 + Widget build(BuildContext context) {
  276 + return GestureDetector(
  277 + behavior: HitTestBehavior.opaque,
  278 + onTap: () => Get.toNamed(Routes.PURCHASE),
  279 + child: Container(
  280 + padding: const EdgeInsets.fromLTRB(20, 14, 20, 14),
  281 + decoration: BoxDecoration(
  282 + gradient: const LinearGradient(
  283 + begin: Alignment.centerLeft,
  284 + end: Alignment.centerRight,
  285 + colors: [
  286 + Color(0xFF916DF5),
  287 + Color(0xFF8D64F4),
  288 + ],
  289 + ),
  290 + borderRadius: BorderRadius.circular(16),
  291 + ),
  292 + child: Container(
  293 + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
  294 + decoration: ShapeDecoration(
  295 + color: const Color(0xFFFFDF50),
  296 + shape: RoundedRectangleBorder(
  297 + borderRadius: BorderRadius.circular(24),
  298 + ),
  299 + ),
  300 + child: Row(
  301 + mainAxisSize: MainAxisSize.min,
  302 + mainAxisAlignment: MainAxisAlignment.center,
  303 + crossAxisAlignment: CrossAxisAlignment.center,
  304 + children: [
  305 + Row(
  306 + mainAxisSize: MainAxisSize.min,
  307 + mainAxisAlignment: MainAxisAlignment.start,
  308 + crossAxisAlignment: CrossAxisAlignment.center,
  309 + spacing: 4,
  310 + children: [
  311 + Image.asset('assets/images/common/ic_pro.png',
  312 + width: 18,
  313 + height: 18,
  314 + color: context.colors.textPrimary),
  315 + Text(
  316 + '立即解锁',
  317 + style: TextStyle(
  318 + color: context.colors.textPrimary,
  319 + fontSize: 14,
  320 + fontWeight: FontWeight.w500,
  321 + ),
  322 + ),
  323 + ],
  324 + ),
  325 + ],
  326 + ),
  327 + ),
  328 + ));
  329 + }
  330 +}
  331 +
257 class _ProCard extends StatelessWidget { 332 class _ProCard extends StatelessWidget {
258 const _ProCard({required this.vipInfo}); 333 const _ProCard({required this.vipInfo});
259 334
@@ -427,13 +502,12 @@ class _WatchThemeCard extends StatelessWidget { @@ -427,13 +502,12 @@ class _WatchThemeCard extends StatelessWidget {
427 child: _ThemeBubble( 502 child: _ThemeBubble(
428 size: _itemSize, 503 size: _itemSize,
429 assetPath: officialThemes[index] 504 assetPath: officialThemes[index]
430 - .infoList  
431 - .firstOrNull  
432 - ?.assetPath ?? 505 + .infoList
  506 + .firstOrNull
  507 + ?.assetPath ??
433 '', 508 '',
434 )); 509 ));
435 }, 510 },
436 -  
437 ), 511 ),
438 ), 512 ),
439 SizedBox(height: 10.dp), 513 SizedBox(height: 10.dp),
@@ -452,6 +526,7 @@ class _WatchThemeCard extends StatelessWidget { @@ -452,6 +526,7 @@ class _WatchThemeCard extends StatelessWidget {
452 ); 526 );
453 } 527 }
454 } 528 }
  529 +
455 class _ThemeBubble extends StatelessWidget { 530 class _ThemeBubble extends StatelessWidget {
456 const _ThemeBubble({required this.size, required this.assetPath}); 531 const _ThemeBubble({required this.size, required this.assetPath});
457 532
  1 +import 'package:doublefeel_flutter/app/modules/report_common/models/report_period.dart';
  2 +import 'package:doublefeel_flutter/app/modules/report_common/widgets/report_date_picker_sheet.dart';
1 import 'package:doublefeel_flutter/core/services/user_state_service.dart'; 3 import 'package:doublefeel_flutter/core/services/user_state_service.dart';
2 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 4 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
3 import 'package:doublefeel_flutter/l10n/l10n_extensions.dart'; 5 import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
4 import 'package:flutter/material.dart'; 6 import 'package:flutter/material.dart';
5 import 'package:get/get.dart'; 7 import 'package:get/get.dart';
  8 +import 'package:intl/intl.dart';
6 import 'package:table_calendar/table_calendar.dart'; 9 import 'package:table_calendar/table_calendar.dart';
7 10
8 import '../../controllers/today_controller.dart'; 11 import '../../controllers/today_controller.dart';
@@ -19,12 +22,11 @@ import '../../widgets/today/premium_card.dart'; @@ -19,12 +22,11 @@ import '../../widgets/today/premium_card.dart';
19 class TodayTab extends GetView<TodayController> { 22 class TodayTab extends GetView<TodayController> {
20 const TodayTab({super.key}); 23 const TodayTab({super.key});
21 24
22 - static const _bgColor = Color(0xFFF2F2F7);  
23 - static const _topBarHeight = 48.0;  
24 - static const _weekCalendarHeight = 58.0;  
25 - static const _topContentHeight = _topBarHeight + _weekCalendarHeight;  
26 - static const _weekRowsHeight = 50.0;  
27 - static const _selectedDayWidth = 32.0; 25 + final _bgColor = const Color(0xFFF2F2F7);
  26 + final _weekCalendarHeight = 58.0;
  27 + final _topContentHeight = /*_topBarHeight + _weekCalendarHeight*/ 106.0;
  28 + final _weekRowsHeight = 50.0;
  29 + final _selectedDayWidth = 32.0;
28 30
29 @override 31 @override
30 Widget build(BuildContext context) { 32 Widget build(BuildContext context) {
@@ -70,7 +72,7 @@ class TodayTab extends GetView<TodayController> { @@ -70,7 +72,7 @@ class TodayTab extends GetView<TodayController> {
70 mainAxisSize: MainAxisSize.min, 72 mainAxisSize: MainAxisSize.min,
71 children: [ 73 children: [
72 _TopDateBar( 74 _TopDateBar(
73 - title: _dateTitle(controller.selectedDate.value), 75 + title: _dateTitle(context, controller.selectedDate.value),
74 showBackToToday: !isSameDay( 76 showBackToToday: !isSameDay(
75 controller.selectedDate.value, 77 controller.selectedDate.value,
76 controller.lastSelectableDay, 78 controller.lastSelectableDay,
@@ -177,10 +179,22 @@ class TodayTab extends GetView<TodayController> { @@ -177,10 +179,22 @@ class TodayTab extends GetView<TodayController> {
177 const SizedBox(height: 12), 179 const SizedBox(height: 12),
178 const TodayHrvChartCard(), 180 const TodayHrvChartCard(),
179 const SizedBox(height: 12), 181 const SizedBox(height: 12),
  182 + const _LatestHrvCard(),
  183 + const SizedBox(height: 12),
  184 + measureHRVButton(context),
  185 + Padding(
  186 + padding: const EdgeInsets.symmetric(vertical: 12),
  187 + child: Text(
  188 + context.l10n.dailyActions,
  189 + style: TextStyle(
  190 + color: context.colors.textPrimary,
  191 + fontSize: 16,
  192 + fontWeight: FontWeight.w600,
  193 + ),
  194 + ),
  195 + ),
180 const TodaySleepCard(), 196 const TodaySleepCard(),
181 const TodayActivityCard(), 197 const TodayActivityCard(),
182 - const SizedBox(height: 4),  
183 - measureHRVButton(context),  
184 Container( 198 Container(
185 alignment: Alignment.center, 199 alignment: Alignment.center,
186 margin: EdgeInsets.only( 200 margin: EdgeInsets.only(
@@ -209,13 +223,24 @@ class TodayTab extends GetView<TodayController> { @@ -209,13 +223,24 @@ class TodayTab extends GetView<TodayController> {
209 color: Colors.white, 223 color: Colors.white,
210 borderRadius: BorderRadius.circular(16), 224 borderRadius: BorderRadius.circular(16),
211 ), 225 ),
212 - child: Text(  
213 - context.l10n.measureYourHrvNow,  
214 - style: TextStyle(  
215 - color: context.colors.textPrimary,  
216 - fontSize: 16,  
217 - fontWeight: FontWeight.w600,  
218 - ), 226 + child: Row(
  227 + children: [
  228 + Text(
  229 + context.l10n.measureYourHrvNow,
  230 + style: TextStyle(
  231 + color: context.colors.textPrimary,
  232 + fontSize: 16,
  233 + fontWeight: FontWeight.w600,
  234 + ),
  235 + ),
  236 + Spacer(),
  237 + Image.asset(
  238 + 'assets/images/common/ic_more_gray.png',
  239 + width: 16,
  240 + height: 16,
  241 + color: context.colors.textTertiary,
  242 + ),
  243 + ],
219 ), 244 ),
220 ), 245 ),
221 ); 246 );
@@ -241,7 +266,8 @@ class TodayTab extends GetView<TodayController> { @@ -241,7 +266,8 @@ class TodayTab extends GetView<TodayController> {
241 firstDay: controller.firstSelectableDay, 266 firstDay: controller.firstSelectableDay,
242 lastDay: controller.lastSelectableDay, 267 lastDay: controller.lastSelectableDay,
243 currentDay: controller.lastSelectableDay, 268 currentDay: controller.lastSelectableDay,
244 - startingDayOfWeek: StartingDayOfWeek.monday, 269 + locale: Localizations.localeOf(context).toString(),
  270 + startingDayOfWeek: _startingDayOfWeek(context),
245 availableCalendarFormats: const { 271 availableCalendarFormats: const {
246 CalendarFormat.week: '', 272 CalendarFormat.week: '',
247 }, 273 },
@@ -282,13 +308,26 @@ class TodayTab extends GetView<TodayController> { @@ -282,13 +308,26 @@ class TodayTab extends GetView<TodayController> {
282 color: context.colors.textPrimary.withValues(alpha: 0.2), 308 color: context.colors.textPrimary.withValues(alpha: 0.2),
283 ), 309 ),
284 const SizedBox(width: 12), 310 const SizedBox(width: 12),
285 - Padding(  
286 - padding: const EdgeInsets.only(top: 15),  
287 - child: Image.asset(  
288 - 'assets/images/common/ic_calendar.png',  
289 - width: 20,  
290 - height: 20,  
291 - color: context.colors.textPrimary.withValues(alpha: 0.6), 311 + GestureDetector(
  312 + onTap: () async {
  313 + final picked = await showReportDatePickerSheet(
  314 + context: context,
  315 + period: ReportPeriod.day,
  316 + selectedDate: controller.selectedDate.value,
  317 + weekStart: controller.selectedDate.value,
  318 + );
  319 + if (picked != null) {
  320 + controller.changeDate(picked);
  321 + }
  322 + },
  323 + child: Padding(
  324 + padding: const EdgeInsets.only(top: 15),
  325 + child: Image.asset(
  326 + 'assets/images/common/ic_calendar.png',
  327 + width: 20,
  328 + height: 20,
  329 + color: context.colors.textPrimary.withValues(alpha: 0.6),
  330 + ),
292 ), 331 ),
293 ), 332 ),
294 ], 333 ],
@@ -315,8 +354,8 @@ class TodayTab extends GetView<TodayController> { @@ -315,8 +354,8 @@ class TodayTab extends GetView<TodayController> {
315 : null, 354 : null,
316 child: Text( 355 child: Text(
317 isSameDay(day, controller.lastSelectableDay) 356 isSameDay(day, controller.lastSelectableDay)
318 - ? '今'  
319 - : _weekdayText(day), 357 + ? AppLocalizations.of(context)!.today
  358 + : _weekdayText(context, day),
320 style: TextStyle( 359 style: TextStyle(
321 color: _calendarTextColor(context, day, selected: selected), 360 color: _calendarTextColor(context, day, selected: selected),
322 fontSize: 12, 361 fontSize: 12,
@@ -365,16 +404,13 @@ class TodayTab extends GetView<TodayController> { @@ -365,16 +404,13 @@ class TodayTab extends GetView<TodayController> {
365 controller.changeDate(controller.lastSelectableDay); 404 controller.changeDate(controller.lastSelectableDay);
366 } 405 }
367 406
368 - String _dateTitle(DateTime selectedDay) { 407 + String _dateTitle(BuildContext context, DateTime selectedDay) {
369 final today = controller.lastSelectableDay; 408 final today = controller.lastSelectableDay;
370 - if (isSameDay(selectedDay, today)) return '今日'; 409 + if (isSameDay(selectedDay, today)) return context.l10n.today;
371 if (isSameDay(selectedDay, today.subtract(const Duration(days: 1)))) { 410 if (isSameDay(selectedDay, today.subtract(const Duration(days: 1)))) {
372 - return '昨日';  
373 - }  
374 - if (isSameDay(selectedDay, today.add(const Duration(days: 1)))) {  
375 - return '明日'; 411 + return context.l10n.yesterday;
376 } 412 }
377 - return '${selectedDay.month}${selectedDay.day}日'; 413 + return MaterialLocalizations.of(context).formatShortMonthDay(selectedDay);
378 } 414 }
379 415
380 bool _isAfterToday(DateTime day) { 416 bool _isAfterToday(DateTime day) {
@@ -392,24 +428,117 @@ class TodayTab extends GetView<TodayController> { @@ -392,24 +428,117 @@ class TodayTab extends GetView<TodayController> {
392 .withValues(alpha: _isAfterToday(day) ? 0.2 : 0.6); 428 .withValues(alpha: _isAfterToday(day) ? 0.2 : 0.6);
393 } 429 }
394 430
395 - String _weekdayText(DateTime day) {  
396 - switch (day.weekday) {  
397 - case DateTime.monday:  
398 - return '一';  
399 - case DateTime.tuesday:  
400 - return '二';  
401 - case DateTime.wednesday:  
402 - return '三';  
403 - case DateTime.thursday:  
404 - return '四';  
405 - case DateTime.friday:  
406 - return '五';  
407 - case DateTime.saturday:  
408 - return '六';  
409 - case DateTime.sunday:  
410 - default:  
411 - return '日';  
412 - } 431 + String _weekdayText(BuildContext context, DateTime day) {
  432 + final locale = Localizations.localeOf(context).toString();
  433 + return DateFormat('EEEEE', locale).format(day);
  434 + }
  435 +
  436 + /// Maps [MaterialLocalizations.firstDayOfWeekIndex] to [StartingDayOfWeek].
  437 + StartingDayOfWeek _startingDayOfWeek(BuildContext context) {
  438 + const weekStarts = [
  439 + StartingDayOfWeek.sunday,
  440 + StartingDayOfWeek.monday,
  441 + StartingDayOfWeek.tuesday,
  442 + StartingDayOfWeek.wednesday,
  443 + StartingDayOfWeek.thursday,
  444 + StartingDayOfWeek.friday,
  445 + StartingDayOfWeek.saturday,
  446 + ];
  447 + return weekStarts[MaterialLocalizations.of(context).firstDayOfWeekIndex];
  448 + }
  449 +}
  450 +
  451 +class _LatestHrvCard extends GetView<TodayController> {
  452 + const _LatestHrvCard();
  453 +
  454 + @override
  455 + Widget build(BuildContext context) {
  456 + final colors = context.colors;
  457 +
  458 + return Obx(() {
  459 + final value = controller.latestHrvValue.value;
  460 + final timeLabel = controller.latestHrvTimeLabel.value;
  461 + final hrv = _parseMetric(value);
  462 + final title = timeLabel.isEmpty ? '最近一次' : '最近一次($timeLabel)';
  463 + final statusLabel = hrv == null ? '暂无状态' : _statusLabel(hrv);
  464 +
  465 + return Container(
  466 + padding: const EdgeInsets.fromLTRB(20, 20, 20, 20),
  467 + decoration: BoxDecoration(
  468 + color: Colors.white,
  469 + borderRadius: BorderRadius.circular(16),
  470 + ),
  471 + child: Column(
  472 + crossAxisAlignment: CrossAxisAlignment.start,
  473 + children: [
  474 + Text(
  475 + title,
  476 + style: TextStyle(
  477 + color: colors.textSecondary,
  478 + fontSize: 12,
  479 + fontWeight: FontWeight.w400,
  480 + ),
  481 + ),
  482 + const SizedBox(height: 8),
  483 + Row(
  484 + children: [
  485 + Container(
  486 + width: 12,
  487 + height: 12,
  488 + decoration: BoxDecoration(
  489 + color: _statusColor(context, hrv),
  490 + shape: BoxShape.circle,
  491 + ),
  492 + ),
  493 + const SizedBox(width: 8),
  494 + Text(
  495 + '${hrv == null ? '--' : value}ms·$statusLabel',
  496 + style: TextStyle(
  497 + color: colors.textPrimary,
  498 + fontSize: 18,
  499 + fontWeight: FontWeight.w600,
  500 + ),
  501 + ),
  502 + ],
  503 + ),
  504 + const SizedBox(height: 8),
  505 + Text(
  506 + '暂无最近一次 HRV 数据。完成一次测量后,这里会展示你的最新状态。',
  507 + maxLines: 2,
  508 + overflow: TextOverflow.ellipsis,
  509 + style: TextStyle(
  510 + color: colors.textSecondary,
  511 + fontSize: 12,
  512 + fontWeight: FontWeight.w400,
  513 + ),
  514 + ),
  515 + ],
  516 + ),
  517 + );
  518 + });
  519 + }
  520 +
  521 + double? _parseMetric(String value) {
  522 + if (value == '--') return null;
  523 + return double.tryParse(value.replaceAll(',', ''));
  524 + }
  525 +
  526 + String _statusLabel(double value) {
  527 + if (value > 60) return '状态优秀';
  528 + if (value > 50) return '状态良好';
  529 + if (value > 30) return '状态一般';
  530 + if (value > 20) return '状态较差';
  531 + return '状态极差';
  532 + }
  533 +
  534 + Color _statusColor(BuildContext context, double? value) {
  535 + final colors = context.colors;
  536 + if (value == null) return colors.textTertiary;
  537 + if (value > 60) return colors.chartGreen;
  538 + if (value > 50) return colors.chartBlue;
  539 + if (value > 30) return colors.chartOrange;
  540 + if (value > 20) return colors.chartPink;
  541 + return colors.chartBlue;
413 } 542 }
414 } 543 }
415 544
@@ -423,11 +552,12 @@ class _TopDateBar extends StatelessWidget { @@ -423,11 +552,12 @@ class _TopDateBar extends StatelessWidget {
423 final String title; 552 final String title;
424 final bool showBackToToday; 553 final bool showBackToToday;
425 final VoidCallback onBackToToday; 554 final VoidCallback onBackToToday;
  555 + final _topBarHeight = 48.0;
426 556
427 @override 557 @override
428 Widget build(BuildContext context) { 558 Widget build(BuildContext context) {
429 return SizedBox( 559 return SizedBox(
430 - height: TodayTab._topBarHeight, 560 + height: _topBarHeight,
431 child: Padding( 561 child: Padding(
432 padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), 562 padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4),
433 child: Row( 563 child: Row(
@@ -454,11 +584,10 @@ class _TopDateBar extends StatelessWidget { @@ -454,11 +584,10 @@ class _TopDateBar extends StatelessWidget {
454 'assets/images/common/ic_back_to_today.png', 584 'assets/images/common/ic_back_to_today.png',
455 width: 12, 585 width: 12,
456 height: 12, 586 height: 12,
457 - color: context.colors.primary,  
458 ), 587 ),
459 const SizedBox(width: 4), 588 const SizedBox(width: 4),
460 Text( 589 Text(
461 - '回今天', 590 + context.l10n.backToToday,
462 style: TextStyle( 591 style: TextStyle(
463 color: context.colors.primary, 592 color: context.colors.primary,
464 fontSize: 12, 593 fontSize: 12,
@@ -8,6 +8,7 @@ import 'package:doublefeel_flutter/core/theme/app_colors.dart'; @@ -8,6 +8,7 @@ import 'package:doublefeel_flutter/core/theme/app_colors.dart';
8 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 8 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
9 9
10 import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart'; 10 import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart';
  11 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
11 import 'package:doublefeel_flutter/r.dart'; 12 import 'package:doublefeel_flutter/r.dart';
12 import 'package:flutter/material.dart'; 13 import 'package:flutter/material.dart';
13 14
@@ -22,8 +23,8 @@ class AccountSettingView extends GetView<MyController> { @@ -22,8 +23,8 @@ class AccountSettingView extends GetView<MyController> {
22 23
23 return Scaffold( 24 return Scaffold(
24 appBar: AppBar( 25 appBar: AppBar(
25 - title: const Text(  
26 - '账号设置', 26 + title: Text(
  27 + context.l10n.accountSettings,
27 ), 28 ),
28 leading: IconButton( 29 leading: IconButton(
29 highlightColor: Colors.transparent, 30 highlightColor: Colors.transparent,
@@ -42,6 +43,7 @@ class AccountSettingView extends GetView<MyController> { @@ -42,6 +43,7 @@ class AccountSettingView extends GetView<MyController> {
42 children: [ 43 children: [
43 SizedBox(height: 16), 44 SizedBox(height: 16),
44 _buildAccountCard( 45 _buildAccountCard(
  46 + context: context,
45 phone: userPrefs.preferences.value.meUserInfo?.telephone ?? '', 47 phone: userPrefs.preferences.value.meUserInfo?.telephone ?? '',
46 ), 48 ),
47 SizedBox(height: 20), 49 SizedBox(height: 20),
@@ -61,8 +63,8 @@ class AccountSettingView extends GetView<MyController> { @@ -61,8 +63,8 @@ class AccountSettingView extends GetView<MyController> {
61 horizontal: 24, 63 horizontal: 24,
62 vertical: 8, 64 vertical: 8,
63 ), 65 ),
64 - child: const Text(  
65 - '注销账号', 66 + child: Text(
  67 + context.l10n.deleteAccount,
66 style: TextStyle( 68 style: TextStyle(
67 color: AppColors.warning, 69 color: AppColors.warning,
68 fontSize: 12, 70 fontSize: 12,
@@ -78,7 +80,8 @@ class AccountSettingView extends GetView<MyController> { @@ -78,7 +80,8 @@ class AccountSettingView extends GetView<MyController> {
78 ); 80 );
79 } 81 }
80 82
81 - Widget _buildAccountCard({required String phone}) { 83 + Widget _buildAccountCard(
  84 + {required BuildContext context, required String phone}) {
82 return Container( 85 return Container(
83 height: 110, 86 height: 110,
84 margin: EdgeInsets.symmetric(horizontal: 15), 87 margin: EdgeInsets.symmetric(horizontal: 15),
@@ -94,8 +97,8 @@ class AccountSettingView extends GetView<MyController> { @@ -94,8 +97,8 @@ class AccountSettingView extends GetView<MyController> {
94 padding: EdgeInsets.symmetric(horizontal: 20), 97 padding: EdgeInsets.symmetric(horizontal: 20),
95 child: Row( 98 child: Row(
96 children: [ 99 children: [
97 - const Text(  
98 - '手机号', 100 + Text(
  101 + context.l10n.mobilePhoneNumber,
99 style: TextStyle( 102 style: TextStyle(
100 color: AppColors.textPrimary, 103 color: AppColors.textPrimary,
101 fontSize: 14, 104 fontSize: 14,
@@ -134,9 +137,9 @@ class AccountSettingView extends GetView<MyController> { @@ -134,9 +137,9 @@ class AccountSettingView extends GetView<MyController> {
134 child: GestureDetector( 137 child: GestureDetector(
135 behavior: HitTestBehavior.opaque, 138 behavior: HitTestBehavior.opaque,
136 onTap: _logout, 139 onTap: _logout,
137 - child: const Center( 140 + child: Center(
138 child: Text( 141 child: Text(
139 - '退出登录', 142 + context.l10n.logOut,
140 style: TextStyle( 143 style: TextStyle(
141 color: AppColors.primary, 144 color: AppColors.primary,
142 fontSize: 14, 145 fontSize: 14,
@@ -193,7 +196,8 @@ class _DeleteAccountBottomSheet extends StatelessWidget { @@ -193,7 +196,8 @@ class _DeleteAccountBottomSheet extends StatelessWidget {
193 child: Padding( 196 child: Padding(
194 padding: EdgeInsets.symmetric(horizontal: 72), 197 padding: EdgeInsets.symmetric(horizontal: 72),
195 child: Text( 198 child: Text(
196 - '确认注销账号吗?', 199 + AppLocalizations.of(context)!
  200 + .areYouSureYouWantToDeleteYourAccount,
197 maxLines: 1, 201 maxLines: 1,
198 overflow: TextOverflow.ellipsis, 202 overflow: TextOverflow.ellipsis,
199 textAlign: TextAlign.center, 203 textAlign: TextAlign.center,
@@ -289,7 +293,7 @@ class _DeleteAccountBottomSheet extends StatelessWidget { @@ -289,7 +293,7 @@ class _DeleteAccountBottomSheet extends StatelessWidget {
289 GestureDetector( 293 GestureDetector(
290 onTap: onDeleteAccount, 294 onTap: onDeleteAccount,
291 child: Text( 295 child: Text(
292 - '确认注销', 296 + AppLocalizations.of(context)!.confirmDeletion,
293 style: TextStyle( 297 style: TextStyle(
294 color: context.colors.warning, 298 color: context.colors.warning,
295 fontSize: 16, 299 fontSize: 16,
@@ -320,7 +324,7 @@ class _DeleteAccountBottomSheet extends StatelessWidget { @@ -320,7 +324,7 @@ class _DeleteAccountBottomSheet extends StatelessWidget {
320 spacing: 24, 324 spacing: 24,
321 children: [ 325 children: [
322 Text( 326 Text(
323 - '我再想想', 327 + context.l10n.iLlThinkAboutItSomeMore,
324 style: TextStyle( 328 style: TextStyle(
325 color: Colors.white, 329 color: Colors.white,
326 fontSize: 16, 330 fontSize: 16,
  1 +import 'package:doublefeel_flutter/core/theme/app_theme.dart';
  2 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
1 import 'package:flutter/material.dart'; 3 import 'package:flutter/material.dart';
2 4
3 class PremiumCard extends StatelessWidget { 5 class PremiumCard extends StatelessWidget {
@@ -10,8 +12,6 @@ class PremiumCard extends StatelessWidget { @@ -10,8 +12,6 @@ class PremiumCard extends StatelessWidget {
10 final VoidCallback? onClaimTap; 12 final VoidCallback? onClaimTap;
11 final VoidCallback? onAllPlansTap; 13 final VoidCallback? onAllPlansTap;
12 14
13 - static const _h1 = Color(0xFF0F0F11);  
14 - static const _h3 = Color(0xFFB0B0B6);  
15 static const _accent = Color(0xFFFF773C); 15 static const _accent = Color(0xFFFF773C);
16 static const _proYellow = Color(0xFFFFDF51); 16 static const _proYellow = Color(0xFFFFDF51);
17 17
@@ -58,12 +58,12 @@ class PremiumCard extends StatelessWidget { @@ -58,12 +58,12 @@ class PremiumCard extends StatelessWidget {
58 child: Column( 58 child: Column(
59 crossAxisAlignment: CrossAxisAlignment.start, 59 crossAxisAlignment: CrossAxisAlignment.start,
60 children: [ 60 children: [
61 - const Text( 61 + Text(
62 '年度会员优惠', 62 '年度会员优惠',
63 style: TextStyle( 63 style: TextStyle(
64 fontSize: 12, 64 fontSize: 12,
65 fontWeight: FontWeight.w500, 65 fontWeight: FontWeight.w500,
66 - color: _h1, 66 + color: context.colors.textPrimary,
67 height: 1.2, 67 height: 1.2,
68 ), 68 ),
69 ), 69 ),
@@ -98,21 +98,21 @@ class PremiumCard extends StatelessWidget { @@ -98,21 +98,21 @@ class PremiumCard extends StatelessWidget {
98 const Spacer(), 98 const Spacer(),
99 Row( 99 Row(
100 children: [ 100 children: [
101 - const Text( 101 + Text(
102 '现价', 102 '现价',
103 style: TextStyle( 103 style: TextStyle(
104 fontSize: 12, 104 fontSize: 12,
105 fontWeight: FontWeight.w500, 105 fontWeight: FontWeight.w500,
106 - color: _h1, 106 + color: context.colors.textPrimary,
107 ), 107 ),
108 ), 108 ),
109 const SizedBox(width: 6), 109 const SizedBox(width: 6),
110 - const Text( 110 + Text(
111 '¥78.00/年', 111 '¥78.00/年',
112 style: TextStyle( 112 style: TextStyle(
113 fontSize: 12, 113 fontSize: 12,
114 fontWeight: FontWeight.w500, 114 fontWeight: FontWeight.w500,
115 - color: _h1, 115 + color: context.colors.textPrimary,
116 ), 116 ),
117 ), 117 ),
118 const SizedBox(width: 8), 118 const SizedBox(width: 8),
@@ -120,9 +120,9 @@ class PremiumCard extends StatelessWidget { @@ -120,9 +120,9 @@ class PremiumCard extends StatelessWidget {
120 '原价 ¥198/年', 120 '原价 ¥198/年',
121 style: TextStyle( 121 style: TextStyle(
122 fontSize: 12, 122 fontSize: 12,
123 - color: _h3, 123 + color: context.colors.textTertiary,
124 decoration: TextDecoration.lineThrough, 124 decoration: TextDecoration.lineThrough,
125 - decorationColor: _h3, 125 + decorationColor: context.colors.textTertiary,
126 ), 126 ),
127 ), 127 ),
128 ], 128 ],
@@ -147,9 +147,9 @@ class PremiumCard extends StatelessWidget { @@ -147,9 +147,9 @@ class PremiumCard extends StatelessWidget {
147 GestureDetector( 147 GestureDetector(
148 onTap: onAllPlansTap, 148 onTap: onAllPlansTap,
149 behavior: HitTestBehavior.opaque, 149 behavior: HitTestBehavior.opaque,
150 - child: const Text(  
151 - '全部方案',  
152 - style: TextStyle( 150 + child: Text(
  151 + context.l10n.allPlans,
  152 + style: const TextStyle(
153 fontSize: 12, 153 fontSize: 12,
154 fontWeight: FontWeight.w500, 154 fontWeight: FontWeight.w500,
155 color: _accent, 155 color: _accent,
@@ -168,12 +168,12 @@ class PremiumCard extends StatelessWidget { @@ -168,12 +168,12 @@ class PremiumCard extends StatelessWidget {
168 child: Row( 168 child: Row(
169 mainAxisSize: MainAxisSize.min, 169 mainAxisSize: MainAxisSize.min,
170 children: [ 170 children: [
171 - const Text(  
172 - '领取优惠', 171 + Text(
  172 + context.l10n.redeemOffer,
173 style: TextStyle( 173 style: TextStyle(
174 fontSize: 12, 174 fontSize: 12,
175 fontWeight: FontWeight.w500, 175 fontWeight: FontWeight.w500,
176 - color: _h1, 176 + color: context.colors.textPrimary,
177 ), 177 ),
178 ), 178 ),
179 const SizedBox(width: 2), 179 const SizedBox(width: 2),
1 import 'package:doublefeel_flutter/app/routes/app_pages.dart'; 1 import 'package:doublefeel_flutter/app/routes/app_pages.dart';
2 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 2 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
  3 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
3 import 'package:flutter/material.dart'; 4 import 'package:flutter/material.dart';
4 import 'package:get/get.dart'; 5 import 'package:get/get.dart';
5 6
@@ -14,8 +15,8 @@ class TodayHrvAdBanner extends GetView<TodayController> { @@ -14,8 +15,8 @@ class TodayHrvAdBanner extends GetView<TodayController> {
14 if (!controller.showHrvAdBanner.value) return const SizedBox.shrink(); 15 if (!controller.showHrvAdBanner.value) return const SizedBox.shrink();
15 16
16 return _TodayGuideBanner( 17 return _TodayGuideBanner(
17 - title: '点击添加HRV主题表盘',  
18 - subtitle: '时刻掌握自身健康波动', 18 + title: context.l10n.clickToAddTheHrvThemedWatchFace,
  19 + subtitle: context.l10n.stayOnTopOfYourHealthFluctuations,
19 right: Container( 20 right: Container(
20 padding: const EdgeInsets.all(4), 21 padding: const EdgeInsets.all(4),
21 decoration: BoxDecoration( 22 decoration: BoxDecoration(
@@ -49,8 +50,8 @@ class TodayPartnerAdBanner extends GetView<TodayController> { @@ -49,8 +50,8 @@ class TodayPartnerAdBanner extends GetView<TodayController> {
49 if (!shouldShow) return const SizedBox.shrink(); 50 if (!shouldShow) return const SizedBox.shrink();
50 51
51 return _TodayGuideBanner( 52 return _TodayGuideBanner(
52 - title: '添加亲密联系人',  
53 - subtitle: '多一个人关注你的健康', 53 + title: context.l10n.addACloseContact,
  54 + subtitle: context.l10n.oneMorePersonLookingOutForYourHealth,
54 right: GestureDetector( 55 right: GestureDetector(
55 onTap: () => Get.toNamed(AppRoutes.bindPartner), 56 onTap: () => Get.toNamed(AppRoutes.bindPartner),
56 behavior: HitTestBehavior.opaque, 57 behavior: HitTestBehavior.opaque,
@@ -63,7 +64,7 @@ class TodayPartnerAdBanner extends GetView<TodayController> { @@ -63,7 +64,7 @@ class TodayPartnerAdBanner extends GetView<TodayController> {
63 borderRadius: BorderRadius.circular(23), 64 borderRadius: BorderRadius.circular(23),
64 ), 65 ),
65 child: Text( 66 child: Text(
66 - '加好友', 67 + context.l10n.addAFriend,
67 style: TextStyle( 68 style: TextStyle(
68 fontSize: 12, 69 fontSize: 12,
69 fontWeight: FontWeight.w500, 70 fontWeight: FontWeight.w500,
1 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 1 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
  2 +import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart';
  3 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
2 import 'package:fl_chart/fl_chart.dart'; 4 import 'package:fl_chart/fl_chart.dart';
3 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
4 import 'package:get/get.dart'; 6 import 'package:get/get.dart';
@@ -17,16 +19,17 @@ import 'realtime_stress_explanation_bottom_sheet.dart'; @@ -17,16 +19,17 @@ import 'realtime_stress_explanation_bottom_sheet.dart';
17 class TodayHrvChartCard extends GetView<TodayController> { 19 class TodayHrvChartCard extends GetView<TodayController> {
18 const TodayHrvChartCard({super.key}); 20 const TodayHrvChartCard({super.key});
19 21
20 - static const _h2 = Color(0xFF78787D);  
21 - static const _h3 = Color(0xFF999999);  
22 static const _h5 = Color(0xFFCCCCCC); 22 static const _h5 = Color(0xFFCCCCCC);
23 23
24 @override 24 @override
25 Widget build(BuildContext context) { 25 Widget build(BuildContext context) {
  26 + final userPrefs = Get.find<UserPreferencesStorage>();
26 return Obx(() { 27 return Obx(() {
27 final hrvSpots = 28 final hrvSpots =
28 controller.hrvChartData.map((p) => FlSpot(p.hour, p.hrv)).toList(); 29 controller.hrvChartData.map((p) => FlSpot(p.hour, p.hrv)).toList();
29 final stressPoints = controller.stressChartData.toList(); 30 final stressPoints = controller.stressChartData.toList();
  31 + final preferences = userPrefs.preferences.value;
  32 + final vipInfo = preferences.vipInfo;
30 33
31 return Container( 34 return Container(
32 padding: const EdgeInsets.fromLTRB(20, 20, 20, 16), 35 padding: const EdgeInsets.fromLTRB(20, 20, 20, 16),
@@ -42,29 +45,45 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -42,29 +45,45 @@ class TodayHrvChartCard extends GetView<TodayController> {
42 SizedBox( 45 SizedBox(
43 height: 174, 46 height: 174,
44 child: hrvSpots.isEmpty 47 child: hrvSpots.isEmpty
45 - ? const _EmptyChart(text: '暂无HRV数据')  
46 - : LineChart(_hrvLineChartData(hrvSpots)), 48 + ? _EmptyChart(text: context.l10n.noDataAvailableForToday)
  49 + : LineChart(_hrvLineChartData(context, hrvSpots)),
47 ), 50 ),
48 Padding( 51 Padding(
49 padding: const EdgeInsets.only(bottom: 14, top: 16), 52 padding: const EdgeInsets.only(bottom: 14, top: 16),
50 child: Row( 53 child: Row(
51 children: [ 54 children: [
52 - const Text(  
53 - '实时压力', 55 + Text(
  56 + context.l10n.realTimePressure,
54 style: TextStyle( 57 style: TextStyle(
55 - color: _h2, 58 + color: context.colors.textSecondary,
56 fontSize: 14, 59 fontSize: 14,
57 fontWeight: FontWeight.w600, 60 fontWeight: FontWeight.w600,
58 ), 61 ),
59 ), 62 ),
60 - const SizedBox(width: 4),  
61 - GestureDetector(  
62 - behavior: HitTestBehavior.opaque,  
63 - onTap: showRealtimeStressExplanationBottomSheet,  
64 - child: const SizedBox(  
65 - width: 26,  
66 - height: 26,  
67 - child: Icon(Icons.info_outline, size: 14, color: _h3), 63 + if (vipInfo?.isVip != true)
  64 + Padding(
  65 + padding: const EdgeInsets.symmetric(horizontal: 2),
  66 + child: GestureDetector(
  67 + behavior: HitTestBehavior.opaque,
  68 + onTap: showRealtimeStressExplanationBottomSheet,
  69 + child: Image.asset(
  70 + 'assets/images/common/ic_pro_badge.webp',
  71 + width: 43,
  72 + height: 16,
  73 + ),
  74 + ),
  75 + ),
  76 + Padding(
  77 + padding: const EdgeInsets.symmetric(horizontal: 2),
  78 + child: GestureDetector(
  79 + behavior: HitTestBehavior.opaque,
  80 + onTap: showRealtimeStressExplanationBottomSheet,
  81 + child: Image.asset(
  82 + 'assets/images/common/ic_info.png',
  83 + width: 14,
  84 + height: 14,
  85 + color: context.colors.textTertiary,
  86 + ),
68 ), 87 ),
69 ), 88 ),
70 const Spacer(), 89 const Spacer(),
@@ -75,7 +94,8 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -75,7 +94,8 @@ class TodayHrvChartCard extends GetView<TodayController> {
75 height: 174, 94 height: 174,
76 child: stressPoints.isEmpty 95 child: stressPoints.isEmpty
77 ? const _EmptyChart(text: '暂无压力数据') 96 ? const _EmptyChart(text: '暂无压力数据')
78 - : _buildStressChart(stressPoints), 97 + : _buildStressChart(
  98 + context, stressPoints, vipInfo?.isVip == true),
79 ), 99 ),
80 ], 100 ],
81 ), 101 ),
@@ -87,7 +107,7 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -87,7 +107,7 @@ class TodayHrvChartCard extends GetView<TodayController> {
87 return Row( 107 return Row(
88 children: [ 108 children: [
89 Text( 109 Text(
90 - '今日HRV趋势', 110 + context.l10n.todaySHrvTrend,
91 style: TextStyle( 111 style: TextStyle(
92 color: context.colors.textPrimary, 112 color: context.colors.textPrimary,
93 fontSize: 16, 113 fontSize: 16,
@@ -98,22 +118,16 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -98,22 +118,16 @@ class TodayHrvChartCard extends GetView<TodayController> {
98 GestureDetector( 118 GestureDetector(
99 behavior: HitTestBehavior.opaque, 119 behavior: HitTestBehavior.opaque,
100 onTap: showHrvPrincipleExplanationBottomSheet, 120 onTap: showHrvPrincipleExplanationBottomSheet,
101 - child: SizedBox(  
102 - width: 26,  
103 - height: 26,  
104 - child: Center(  
105 - child: Image.asset(  
106 - 'assets/images/common/ic_info.png',  
107 - width: 14,  
108 - height: 14,  
109 - color: context.colors.textTertiary,  
110 - ),  
111 - ), 121 + child: Image.asset(
  122 + 'assets/images/common/ic_info.png',
  123 + width: 14,
  124 + height: 14,
  125 + color: context.colors.textTertiary,
112 ), 126 ),
113 ), 127 ),
114 const Spacer(), 128 const Spacer(),
115 Text( 129 Text(
116 - '更多', 130 + context.l10n.more,
117 style: TextStyle( 131 style: TextStyle(
118 color: context.colors.textSecondary, 132 color: context.colors.textSecondary,
119 fontSize: 12, 133 fontSize: 12,
@@ -130,7 +144,7 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -130,7 +144,7 @@ class TodayHrvChartCard extends GetView<TodayController> {
130 ); 144 );
131 } 145 }
132 146
133 - LineChartData _hrvLineChartData(List<FlSpot> spots) { 147 + LineChartData _hrvLineChartData(BuildContext context, List<FlSpot> spots) {
134 return LineChartData( 148 return LineChartData(
135 minX: 0, 149 minX: 0,
136 maxX: _maxChartHour(spots), 150 maxX: _maxChartHour(spots),
@@ -163,7 +177,8 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -163,7 +177,8 @@ class TodayHrvChartCard extends GetView<TodayController> {
163 if (label == null) return const SizedBox.shrink(); 177 if (label == null) return const SizedBox.shrink();
164 return Text( 178 return Text(
165 label, 179 label,
166 - style: const TextStyle(fontSize: 10, color: _h3), 180 + style:
  181 + TextStyle(fontSize: 10, color: context.colors.textTertiary),
167 ); 182 );
168 }, 183 },
169 ), 184 ),
@@ -236,7 +251,8 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -236,7 +251,8 @@ class TodayHrvChartCard extends GetView<TodayController> {
236 ); 251 );
237 } 252 }
238 253
239 - Widget _buildStressChart(List<HrvDataPoint> stressPoints) { 254 + Widget _buildStressChart(
  255 + BuildContext context, List<HrvDataPoint> stressPoints, bool isVip) {
240 return Stack( 256 return Stack(
241 children: [ 257 children: [
242 BarChart( 258 BarChart(
@@ -289,7 +305,8 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -289,7 +305,8 @@ class TodayHrvChartCard extends GetView<TodayController> {
289 } 305 }
290 return Text( 306 return Text(
291 '${val.toInt()}', 307 '${val.toInt()}',
292 - style: const TextStyle(fontSize: 10, color: _h3), 308 + style: TextStyle(
  309 + fontSize: 10, color: context.colors.textTertiary),
293 ); 310 );
294 }, 311 },
295 ), 312 ),
@@ -308,7 +325,8 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -308,7 +325,8 @@ class TodayHrvChartCard extends GetView<TodayController> {
308 meta: meta, 325 meta: meta,
309 child: Text( 326 child: Text(
310 label, 327 label,
311 - style: const TextStyle(fontSize: 10, color: _h3), 328 + style: TextStyle(
  329 + fontSize: 10, color: context.colors.textTertiary),
312 ), 330 ),
313 ); 331 );
314 }, 332 },
@@ -343,7 +361,7 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -343,7 +361,7 @@ class TodayHrvChartCard extends GetView<TodayController> {
343 ), 361 ),
344 Container( 362 Container(
345 width: 74, 363 width: 74,
346 - height: 160, 364 + height: 174,
347 decoration: const BoxDecoration( 365 decoration: const BoxDecoration(
348 gradient: LinearGradient( 366 gradient: LinearGradient(
349 begin: Alignment(0.50, -0.00), 367 begin: Alignment(0.50, -0.00),
@@ -351,7 +369,14 @@ class TodayHrvChartCard extends GetView<TodayController> { @@ -351,7 +369,14 @@ class TodayHrvChartCard extends GetView<TodayController> {
351 colors: [Color(0x4C835DED), Color(0x00845EEE)], 369 colors: [Color(0x4C835DED), Color(0x00845EEE)],
352 ), 370 ),
353 ), 371 ),
354 - ) 372 + ),
  373 + if (isVip == false)
  374 + Image.asset(
  375 + 'assets/images/today/bg_unlock_instant_stress_blur.png',
  376 + width: double.infinity,
  377 + height: 174,
  378 + fit: BoxFit.cover,
  379 + )
355 ], 380 ],
356 ); 381 );
357 } 382 }
  1 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
1 import 'package:flutter/material.dart'; 2 import 'package:flutter/material.dart';
2 import 'package:get/get.dart'; 3 import 'package:get/get.dart';
3 4
@@ -20,7 +21,7 @@ class TodayHrvNumberCard extends GetView<TodayController> { @@ -20,7 +21,7 @@ class TodayHrvNumberCard extends GetView<TodayController> {
20 // HRV 21 // HRV
21 Expanded( 22 Expanded(
22 child: _NumberItem( 23 child: _NumberItem(
23 - label: '该日平均HRV', 24 + label: context.l10n.averageHrvForTheDay,
24 value: controller.avgHrv.value, 25 value: controller.avgHrv.value,
25 unit: 'ms', 26 unit: 'ms',
26 ), 27 ),
@@ -28,7 +29,7 @@ class TodayHrvNumberCard extends GetView<TodayController> { @@ -28,7 +29,7 @@ class TodayHrvNumberCard extends GetView<TodayController> {
28 29
29 Expanded( 30 Expanded(
30 child: _NumberItem( 31 child: _NumberItem(
31 - label: '静息心率', 32 + label: context.l10n.restingHeartRate,
32 value: controller.restingHeartRate.value, 33 value: controller.restingHeartRate.value,
33 unit: 'bpm', 34 unit: 'bpm',
34 ), 35 ),
1 import 'package:doublefeel_flutter/core/theme/app_theme.dart'; 1 import 'package:doublefeel_flutter/core/theme/app_theme.dart';
  2 +import 'package:doublefeel_flutter/l10n/l10n_extensions.dart';
2 import 'package:flutter/material.dart'; 3 import 'package:flutter/material.dart';
3 import 'package:get/get.dart'; 4 import 'package:get/get.dart';
4 5
@@ -13,13 +14,13 @@ class TodaySleepCard extends GetView<TodayController> { @@ -13,13 +14,13 @@ class TodaySleepCard extends GetView<TodayController> {
13 () => _TodaySummaryCard( 14 () => _TodaySummaryCard(
14 iconAsset: 'assets/images/common/ic_sleep_stroke.png', 15 iconAsset: 'assets/images/common/ic_sleep_stroke.png',
15 iconColor: context.colors.primary, 16 iconColor: context.colors.primary,
16 - title: '睡眠',  
17 - actionText: '查看睡眠报告', 17 + title: context.l10n.sleep,
  18 + actionText: context.l10n.viewSleepReport,
18 progressValues: [controller.sleepProgress.value], 19 progressValues: [controller.sleepProgress.value],
19 progressColors: [context.colors.primary], 20 progressColors: [context.colors.primary],
20 metrics: [ 21 metrics: [
21 _MetricData( 22 _MetricData(
22 - label: '时长', 23 + label: context.l10n.duration,
23 labelColor: context.colors.primary, 24 labelColor: context.colors.primary,
24 valueSpans: [ 25 valueSpans: [
25 _MetricValueSpan(controller.sleepHours.value, '小时'), 26 _MetricValueSpan(controller.sleepHours.value, '小时'),
@@ -27,7 +28,7 @@ class TodaySleepCard extends GetView<TodayController> { @@ -27,7 +28,7 @@ class TodaySleepCard extends GetView<TodayController> {
27 ], 28 ],
28 ), 29 ),
29 _MetricData( 30 _MetricData(
30 - label: '质量', 31 + label: context.l10n.quality,
31 labelColor: const Color(0xFF7B9BFB), 32 labelColor: const Color(0xFF7B9BFB),
32 valueSpans: [ 33 valueSpans: [
33 _MetricValueSpan( 34 _MetricValueSpan(
@@ -38,7 +39,7 @@ class TodaySleepCard extends GetView<TodayController> { @@ -38,7 +39,7 @@ class TodaySleepCard extends GetView<TodayController> {
38 ], 39 ],
39 ), 40 ),
40 _MetricData( 41 _MetricData(
41 - label: '平均心率', 42 + label: context.l10n.averageHeartRate,
42 labelColor: context.colors.textSecondary, 43 labelColor: context.colors.textSecondary,
43 valueSpans: [ 44 valueSpans: [
44 _MetricValueSpan(controller.sleepAverageHeartRate.value, 'bpm'), 45 _MetricValueSpan(controller.sleepAverageHeartRate.value, 'bpm'),
@@ -69,8 +70,8 @@ class TodayActivityCard extends GetView<TodayController> { @@ -69,8 +70,8 @@ class TodayActivityCard extends GetView<TodayController> {
69 () => _TodaySummaryCard( 70 () => _TodaySummaryCard(
70 iconAsset: 'assets/images/common/ic_exercise.png', 71 iconAsset: 'assets/images/common/ic_exercise.png',
71 iconColor: const Color(0xFFFF5279), 72 iconColor: const Color(0xFFFF5279),
72 - title: '健身',  
73 - actionText: '查看健身报告', 73 + title: context.l10n.fitness,
  74 + actionText: context.l10n.viewFitnessReport,
74 progressValues: [ 75 progressValues: [
75 controller.activityMoveProgress.value, 76 controller.activityMoveProgress.value,
76 controller.activityExerciseProgress.value, 77 controller.activityExerciseProgress.value,
@@ -83,14 +84,14 @@ class TodayActivityCard extends GetView<TodayController> { @@ -83,14 +84,14 @@ class TodayActivityCard extends GetView<TodayController> {
83 ], 84 ],
84 metrics: [ 85 metrics: [
85 _MetricData( 86 _MetricData(
86 - label: '活动', 87 + label: context.l10n.event,
87 labelColor: const Color(0xFFFF5279), 88 labelColor: const Color(0xFFFF5279),
88 valueSpans: [ 89 valueSpans: [
89 _MetricValueSpan(controller.activityCalories.value, '千卡'), 90 _MetricValueSpan(controller.activityCalories.value, '千卡'),
90 ], 91 ],
91 ), 92 ),
92 _MetricData( 93 _MetricData(
93 - label: '锻炼', 94 + label: context.l10n.exercise,
94 labelColor: const Color(0xFF3BD49D), 95 labelColor: const Color(0xFF3BD49D),
95 valueSpans: [ 96 valueSpans: [
96 _MetricValueSpan( 97 _MetricValueSpan(
@@ -100,7 +101,7 @@ class TodayActivityCard extends GetView<TodayController> { @@ -100,7 +101,7 @@ class TodayActivityCard extends GetView<TodayController> {
100 ], 101 ],
101 ), 102 ),
102 _MetricData( 103 _MetricData(
103 - label: '站立', 104 + label: context.l10n.standing,
104 labelColor: const Color(0xFF7B9BFB), 105 labelColor: const Color(0xFF7B9BFB),
105 valueSpans: [ 106 valueSpans: [
106 _MetricValueSpan(controller.activityStandHours.value, '小时'), 107 _MetricValueSpan(controller.activityStandHours.value, '小时'),
@@ -224,5 +224,53 @@ @@ -224,5 +224,53 @@
224 "todayFaqWatchFaceDelayCheckBackgroundRefresh": "· Confirm DoubleFeel is enabled in Apple Watch > Settings > General > Background App Refresh.", 224 "todayFaqWatchFaceDelayCheckBackgroundRefresh": "· Confirm DoubleFeel is enabled in Apple Watch > Settings > General > Background App Refresh.",
225 "todayFaqWatchFaceDelayRestartWatch": "· If it still does not refresh automatically, restart Apple Watch. Long runtimes or high background usage may cause watch face updates to pause.", 225 "todayFaqWatchFaceDelayRestartWatch": "· If it still does not refresh automatically, restart Apple Watch. Long runtimes or high background usage may cause watch face updates to pause.",
226 "todayFaqWatchFaceBlackScreenTitle": "Watch face turns black?", 226 "todayFaqWatchFaceBlackScreenTitle": "Watch face turns black?",
227 - "todayFaqWatchFaceBlackScreenDescription": "If the custom interactive watch face turns black after being added and only shows time and date, long-press the watch face, tap Edit, swipe left to Complications, choose DoubleFeel, and add each component again as needed."  
228 -} 227 + "todayFaqWatchFaceBlackScreenDescription": "If the custom interactive watch face turns black after being added and only shows time and date, long-press the watch face, tap Edit, swipe left to Complications, choose DoubleFeel, and add each component again as needed.",
  228 + "today": "Today",
  229 + "yesterday": "Yesterday",
  230 + "backToToday": "Back to Today",
  231 + "redeemOffer": "Redeem Offer",
  232 + "allPlans": "All Plans",
  233 + "clickToAddTheHrvThemedWatchFace": "Click to add the HRV-themed watch face",
  234 + "stayOnTopOfYourHealthFluctuations": "Stay on top of your health fluctuations",
  235 + "addACloseContact": "Add a close contact",
  236 + "oneMorePersonLookingOutForYourHealth": "One more person looking out for your health",
  237 + "addAFriend": "Add a friend",
  238 + "averageHrvForTheDay": "Average HRV for the day",
  239 + "restingHeartRate": "Resting heart rate",
  240 + "todaySHrvTrend": "Today's HRV Trend",
  241 + "more": "More",
  242 + "noDataAvailableForToday": "No data available for today",
  243 + "realTimePressure": "Real-time pressure",
  244 + "accountInformation": "Account Information",
  245 + "help": "Help",
  246 + "changeNickname": "Change Nickname",
  247 + "pleaseEnterANickname": "Please enter a nickname",
  248 + "feedbackLog": "Feedback Log",
  249 + "noFeedbackRecordsYet": "No feedback records yet",
  250 + "feedbackDetails": "Feedback Details",
  251 + "reportAnIssue": "Report an Issue",
  252 + "contactInformation": "Contact Information",
  253 + "submit": "Submit",
  254 + "questionsAndFeedback": "Questions and Feedback",
  255 + "ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress": "If you would like us to reply, please provide your email address",
  256 + "uploadProof": "Upload Proof",
  257 + "frequentlyAskedQuestions": "Frequently Asked Questions",
  258 + "areYouSureYouWantToDeleteYourAccount": "Are you sure you want to delete your account?",
  259 + "accountSettings": "Account Settings",
  260 + "deleteAccount": "Delete Account",
  261 + "mobilePhoneNumber": "Mobile phone number",
  262 + "logOut": "Log Out",
  263 + "confirmDeletion": "Confirm Deletion",
  264 + "iLlThinkAboutItSomeMore": "I'll think about it some more.",
  265 + "sleep": "Sleep",
  266 + "viewSleepReport": "View Sleep Report",
  267 + "duration": "Duration",
  268 + "quality": "Quality",
  269 + "averageHeartRate": "Average heart rate",
  270 + "fitness": "Fitness",
  271 + "viewFitnessReport": "View Fitness Report",
  272 + "event": "Event",
  273 + "exercise": "Exercise",
  274 + "standing": "Standing",
  275 + "dailyActions": "Daily Actions"
  276 +}
@@ -307,5 +307,53 @@ @@ -307,5 +307,53 @@
307 "todayFaqWatchFaceDelayCheckBackgroundRefresh": "· 确认AppleWatch-设置-通用-后台App刷新中DoubleFeel已开启。", 307 "todayFaqWatchFaceDelayCheckBackgroundRefresh": "· 确认AppleWatch-设置-通用-后台App刷新中DoubleFeel已开启。",
308 "todayFaqWatchFaceDelayRestartWatch": "· 若仍未自动刷新,请重启手表。长时间运行或后台占用过高可能导致表盘暂停更新。", 308 "todayFaqWatchFaceDelayRestartWatch": "· 若仍未自动刷新,请重启手表。长时间运行或后台占用过高可能导致表盘暂停更新。",
309 "todayFaqWatchFaceBlackScreenTitle": "手表表盘出现黑屏?", 309 "todayFaqWatchFaceBlackScreenTitle": "手表表盘出现黑屏?",
310 - "todayFaqWatchFaceBlackScreenDescription": "若添加专属互动表盘后出现黑屏(仅显示时间和日期),可长按表盘,点击「编辑」,左滑至「复杂功能」,选择 DoubleFeel,然后按需选择各组件重新添加。"  
311 -} 310 + "todayFaqWatchFaceBlackScreenDescription": "若添加专属互动表盘后出现黑屏(仅显示时间和日期),可长按表盘,点击「编辑」,左滑至「复杂功能」,选择 DoubleFeel,然后按需选择各组件重新添加。",
  311 + "today": "今天",
  312 + "yesterday": "昨天",
  313 + "backToToday": "回今天",
  314 + "redeemOffer": "领取优惠",
  315 + "allPlans": "全部方案",
  316 + "clickToAddTheHrvThemedWatchFace": "点击添加HRV主题表盘",
  317 + "stayOnTopOfYourHealthFluctuations": "时刻掌握自身健康波动",
  318 + "addACloseContact": "添加亲密联系人",
  319 + "oneMorePersonLookingOutForYourHealth": "多一个人关注你的健康",
  320 + "addAFriend": "加好友",
  321 + "averageHrvForTheDay": "该日平均HRV",
  322 + "restingHeartRate": "静息心率",
  323 + "todaySHrvTrend": "今日HRV趋势",
  324 + "more": "更多",
  325 + "noDataAvailableForToday": "暂无今日数据",
  326 + "realTimePressure": "实时压力",
  327 + "accountInformation": "账号信息",
  328 + "help": "帮助",
  329 + "changeNickname": "修改昵称",
  330 + "pleaseEnterANickname": "请输入昵称",
  331 + "feedbackLog": "反馈记录",
  332 + "noFeedbackRecordsYet": "暂无反馈记录",
  333 + "feedbackDetails": "反馈详情",
  334 + "reportAnIssue": "问题反馈",
  335 + "contactInformation": "联系方式",
  336 + "submit": "提交",
  337 + "questionsAndFeedback": "问题和反馈",
  338 + "ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress": "如果需要我们回复,请填写联系邮箱",
  339 + "uploadProof": "上传凭证",
  340 + "frequentlyAskedQuestions": "常见问题",
  341 + "areYouSureYouWantToDeleteYourAccount": "确认注销账号吗?",
  342 + "accountSettings": "账号设置",
  343 + "deleteAccount": "注销账号",
  344 + "mobilePhoneNumber": "手机号",
  345 + "logOut": "退出登录",
  346 + "confirmDeletion": "确认注销",
  347 + "iLlThinkAboutItSomeMore": "我再想想",
  348 + "sleep": "睡眠",
  349 + "viewSleepReport": "查看睡眠报告",
  350 + "duration": "时长",
  351 + "quality": "质量",
  352 + "averageHeartRate": "平均心率",
  353 + "fitness": "健身",
  354 + "viewFitnessReport": "查看健身报告",
  355 + "event": "活动",
  356 + "exercise": "锻炼",
  357 + "standing": "站立",
  358 + "dailyActions": "每日行动"
  359 +}
@@ -62,7 +62,8 @@ import 'app_localizations_zh.dart'; @@ -62,7 +62,8 @@ import 'app_localizations_zh.dart';
62 /// be consistent with the languages listed in the AppLocalizations.supportedLocales 62 /// be consistent with the languages listed in the AppLocalizations.supportedLocales
63 /// property. 63 /// property.
64 abstract class AppLocalizations { 64 abstract class AppLocalizations {
65 - AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); 65 + AppLocalizations(String locale)
  66 + : localeName = intl.Intl.canonicalizedLocale(locale.toString());
66 67
67 final String localeName; 68 final String localeName;
68 69
@@ -70,7 +71,8 @@ abstract class AppLocalizations { @@ -70,7 +71,8 @@ abstract class AppLocalizations {
70 return Localizations.of<AppLocalizations>(context, AppLocalizations); 71 return Localizations.of<AppLocalizations>(context, AppLocalizations);
71 } 72 }
72 73
73 - static const LocalizationsDelegate<AppLocalizations> delegate = _AppLocalizationsDelegate(); 74 + static const LocalizationsDelegate<AppLocalizations> delegate =
  75 + _AppLocalizationsDelegate();
74 76
75 /// A list of this localizations delegate along with the default localizations 77 /// A list of this localizations delegate along with the default localizations
76 /// delegates. 78 /// delegates.
@@ -82,7 +84,8 @@ abstract class AppLocalizations { @@ -82,7 +84,8 @@ abstract class AppLocalizations {
82 /// Additional delegates can be added by appending to this list in 84 /// Additional delegates can be added by appending to this list in
83 /// MaterialApp. This list does not have to be used at all if a custom list 85 /// MaterialApp. This list does not have to be used at all if a custom list
84 /// of delegates is preferred or required. 86 /// of delegates is preferred or required.
85 - static const List<LocalizationsDelegate<dynamic>> localizationsDelegates = <LocalizationsDelegate<dynamic>>[ 87 + static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
  88 + <LocalizationsDelegate<dynamic>>[
86 delegate, 89 delegate,
87 GlobalMaterialLocalizations.delegate, 90 GlobalMaterialLocalizations.delegate,
88 GlobalCupertinoLocalizations.delegate, 91 GlobalCupertinoLocalizations.delegate,
@@ -525,7 +528,8 @@ abstract class AppLocalizations { @@ -525,7 +528,8 @@ abstract class AppLocalizations {
525 /// 528 ///
526 /// In zh, this message translates to: 529 /// In zh, this message translates to:
527 /// **'你们现在可以查看彼此的 HRV、压力与睡眠变化,并在对方疲惫时及时送上关心。'** 530 /// **'你们现在可以查看彼此的 HRV、压力与睡眠变化,并在对方疲惫时及时送上关心。'**
528 - String get youCanNowViewEachOtherSHrvStressLevelsAndSleepPatternsAndReachOutToCheckInWhenTheOtherPersonSeemsTired; 531 + String
  532 + get youCanNowViewEachOtherSHrvStressLevelsAndSleepPatternsAndReachOutToCheckInWhenTheOtherPersonSeemsTired;
529 533
530 /// No description provided for @bindPartnerTitle. 534 /// No description provided for @bindPartnerTitle.
531 /// 535 ///
@@ -1444,9 +1448,298 @@ abstract class AppLocalizations { @@ -1444,9 +1448,298 @@ abstract class AppLocalizations {
1444 /// In zh, this message translates to: 1448 /// In zh, this message translates to:
1445 /// **'若添加专属互动表盘后出现黑屏(仅显示时间和日期),可长按表盘,点击「编辑」,左滑至「复杂功能」,选择 DoubleFeel,然后按需选择各组件重新添加。'** 1449 /// **'若添加专属互动表盘后出现黑屏(仅显示时间和日期),可长按表盘,点击「编辑」,左滑至「复杂功能」,选择 DoubleFeel,然后按需选择各组件重新添加。'**
1446 String get todayFaqWatchFaceBlackScreenDescription; 1450 String get todayFaqWatchFaceBlackScreenDescription;
  1451 +
  1452 + /// No description provided for @today.
  1453 + ///
  1454 + /// In zh, this message translates to:
  1455 + /// **'今天'**
  1456 + String get today;
  1457 +
  1458 + /// No description provided for @yesterday.
  1459 + ///
  1460 + /// In zh, this message translates to:
  1461 + /// **'昨天'**
  1462 + String get yesterday;
  1463 +
  1464 + /// No description provided for @backToToday.
  1465 + ///
  1466 + /// In zh, this message translates to:
  1467 + /// **'回今天'**
  1468 + String get backToToday;
  1469 +
  1470 + /// No description provided for @redeemOffer.
  1471 + ///
  1472 + /// In zh, this message translates to:
  1473 + /// **'领取优惠'**
  1474 + String get redeemOffer;
  1475 +
  1476 + /// No description provided for @allPlans.
  1477 + ///
  1478 + /// In zh, this message translates to:
  1479 + /// **'全部方案'**
  1480 + String get allPlans;
  1481 +
  1482 + /// No description provided for @clickToAddTheHrvThemedWatchFace.
  1483 + ///
  1484 + /// In zh, this message translates to:
  1485 + /// **'点击添加HRV主题表盘'**
  1486 + String get clickToAddTheHrvThemedWatchFace;
  1487 +
  1488 + /// No description provided for @stayOnTopOfYourHealthFluctuations.
  1489 + ///
  1490 + /// In zh, this message translates to:
  1491 + /// **'时刻掌握自身健康波动'**
  1492 + String get stayOnTopOfYourHealthFluctuations;
  1493 +
  1494 + /// No description provided for @addACloseContact.
  1495 + ///
  1496 + /// In zh, this message translates to:
  1497 + /// **'添加亲密联系人'**
  1498 + String get addACloseContact;
  1499 +
  1500 + /// No description provided for @oneMorePersonLookingOutForYourHealth.
  1501 + ///
  1502 + /// In zh, this message translates to:
  1503 + /// **'多一个人关注你的健康'**
  1504 + String get oneMorePersonLookingOutForYourHealth;
  1505 +
  1506 + /// No description provided for @addAFriend.
  1507 + ///
  1508 + /// In zh, this message translates to:
  1509 + /// **'加好友'**
  1510 + String get addAFriend;
  1511 +
  1512 + /// No description provided for @averageHrvForTheDay.
  1513 + ///
  1514 + /// In zh, this message translates to:
  1515 + /// **'该日平均HRV'**
  1516 + String get averageHrvForTheDay;
  1517 +
  1518 + /// No description provided for @restingHeartRate.
  1519 + ///
  1520 + /// In zh, this message translates to:
  1521 + /// **'静息心率'**
  1522 + String get restingHeartRate;
  1523 +
  1524 + /// No description provided for @todaySHrvTrend.
  1525 + ///
  1526 + /// In zh, this message translates to:
  1527 + /// **'今日HRV趋势'**
  1528 + String get todaySHrvTrend;
  1529 +
  1530 + /// No description provided for @more.
  1531 + ///
  1532 + /// In zh, this message translates to:
  1533 + /// **'更多'**
  1534 + String get more;
  1535 +
  1536 + /// No description provided for @noDataAvailableForToday.
  1537 + ///
  1538 + /// In zh, this message translates to:
  1539 + /// **'暂无今日数据'**
  1540 + String get noDataAvailableForToday;
  1541 +
  1542 + /// No description provided for @realTimePressure.
  1543 + ///
  1544 + /// In zh, this message translates to:
  1545 + /// **'实时压力'**
  1546 + String get realTimePressure;
  1547 +
  1548 + /// No description provided for @accountInformation.
  1549 + ///
  1550 + /// In zh, this message translates to:
  1551 + /// **'账号信息'**
  1552 + String get accountInformation;
  1553 +
  1554 + /// No description provided for @help.
  1555 + ///
  1556 + /// In zh, this message translates to:
  1557 + /// **'帮助'**
  1558 + String get help;
  1559 +
  1560 + /// No description provided for @changeNickname.
  1561 + ///
  1562 + /// In zh, this message translates to:
  1563 + /// **'修改昵称'**
  1564 + String get changeNickname;
  1565 +
  1566 + /// No description provided for @pleaseEnterANickname.
  1567 + ///
  1568 + /// In zh, this message translates to:
  1569 + /// **'请输入昵称'**
  1570 + String get pleaseEnterANickname;
  1571 +
  1572 + /// No description provided for @feedbackLog.
  1573 + ///
  1574 + /// In zh, this message translates to:
  1575 + /// **'反馈记录'**
  1576 + String get feedbackLog;
  1577 +
  1578 + /// No description provided for @noFeedbackRecordsYet.
  1579 + ///
  1580 + /// In zh, this message translates to:
  1581 + /// **'暂无反馈记录'**
  1582 + String get noFeedbackRecordsYet;
  1583 +
  1584 + /// No description provided for @feedbackDetails.
  1585 + ///
  1586 + /// In zh, this message translates to:
  1587 + /// **'反馈详情'**
  1588 + String get feedbackDetails;
  1589 +
  1590 + /// No description provided for @reportAnIssue.
  1591 + ///
  1592 + /// In zh, this message translates to:
  1593 + /// **'问题反馈'**
  1594 + String get reportAnIssue;
  1595 +
  1596 + /// No description provided for @contactInformation.
  1597 + ///
  1598 + /// In zh, this message translates to:
  1599 + /// **'联系方式'**
  1600 + String get contactInformation;
  1601 +
  1602 + /// No description provided for @submit.
  1603 + ///
  1604 + /// In zh, this message translates to:
  1605 + /// **'提交'**
  1606 + String get submit;
  1607 +
  1608 + /// No description provided for @questionsAndFeedback.
  1609 + ///
  1610 + /// In zh, this message translates to:
  1611 + /// **'问题和反馈'**
  1612 + String get questionsAndFeedback;
  1613 +
  1614 + /// No description provided for @ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress.
  1615 + ///
  1616 + /// In zh, this message translates to:
  1617 + /// **'如果需要我们回复,请填写联系邮箱'**
  1618 + String get ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress;
  1619 +
  1620 + /// No description provided for @uploadProof.
  1621 + ///
  1622 + /// In zh, this message translates to:
  1623 + /// **'上传凭证'**
  1624 + String get uploadProof;
  1625 +
  1626 + /// No description provided for @frequentlyAskedQuestions.
  1627 + ///
  1628 + /// In zh, this message translates to:
  1629 + /// **'常见问题'**
  1630 + String get frequentlyAskedQuestions;
  1631 +
  1632 + /// No description provided for @areYouSureYouWantToDeleteYourAccount.
  1633 + ///
  1634 + /// In zh, this message translates to:
  1635 + /// **'确认注销账号吗?'**
  1636 + String get areYouSureYouWantToDeleteYourAccount;
  1637 +
  1638 + /// No description provided for @accountSettings.
  1639 + ///
  1640 + /// In zh, this message translates to:
  1641 + /// **'账号设置'**
  1642 + String get accountSettings;
  1643 +
  1644 + /// No description provided for @deleteAccount.
  1645 + ///
  1646 + /// In zh, this message translates to:
  1647 + /// **'注销账号'**
  1648 + String get deleteAccount;
  1649 +
  1650 + /// No description provided for @mobilePhoneNumber.
  1651 + ///
  1652 + /// In zh, this message translates to:
  1653 + /// **'手机号'**
  1654 + String get mobilePhoneNumber;
  1655 +
  1656 + /// No description provided for @logOut.
  1657 + ///
  1658 + /// In zh, this message translates to:
  1659 + /// **'退出登录'**
  1660 + String get logOut;
  1661 +
  1662 + /// No description provided for @confirmDeletion.
  1663 + ///
  1664 + /// In zh, this message translates to:
  1665 + /// **'确认注销'**
  1666 + String get confirmDeletion;
  1667 +
  1668 + /// No description provided for @iLlThinkAboutItSomeMore.
  1669 + ///
  1670 + /// In zh, this message translates to:
  1671 + /// **'我再想想'**
  1672 + String get iLlThinkAboutItSomeMore;
  1673 +
  1674 + /// No description provided for @sleep.
  1675 + ///
  1676 + /// In zh, this message translates to:
  1677 + /// **'睡眠'**
  1678 + String get sleep;
  1679 +
  1680 + /// No description provided for @viewSleepReport.
  1681 + ///
  1682 + /// In zh, this message translates to:
  1683 + /// **'查看睡眠报告'**
  1684 + String get viewSleepReport;
  1685 +
  1686 + /// No description provided for @duration.
  1687 + ///
  1688 + /// In zh, this message translates to:
  1689 + /// **'时长'**
  1690 + String get duration;
  1691 +
  1692 + /// No description provided for @quality.
  1693 + ///
  1694 + /// In zh, this message translates to:
  1695 + /// **'质量'**
  1696 + String get quality;
  1697 +
  1698 + /// No description provided for @averageHeartRate.
  1699 + ///
  1700 + /// In zh, this message translates to:
  1701 + /// **'平均心率'**
  1702 + String get averageHeartRate;
  1703 +
  1704 + /// No description provided for @fitness.
  1705 + ///
  1706 + /// In zh, this message translates to:
  1707 + /// **'健身'**
  1708 + String get fitness;
  1709 +
  1710 + /// No description provided for @viewFitnessReport.
  1711 + ///
  1712 + /// In zh, this message translates to:
  1713 + /// **'查看健身报告'**
  1714 + String get viewFitnessReport;
  1715 +
  1716 + /// No description provided for @event.
  1717 + ///
  1718 + /// In zh, this message translates to:
  1719 + /// **'活动'**
  1720 + String get event;
  1721 +
  1722 + /// No description provided for @exercise.
  1723 + ///
  1724 + /// In zh, this message translates to:
  1725 + /// **'锻炼'**
  1726 + String get exercise;
  1727 +
  1728 + /// No description provided for @standing.
  1729 + ///
  1730 + /// In zh, this message translates to:
  1731 + /// **'站立'**
  1732 + String get standing;
  1733 +
  1734 + /// No description provided for @dailyActions.
  1735 + ///
  1736 + /// In zh, this message translates to:
  1737 + /// **'每日行动'**
  1738 + String get dailyActions;
1447 } 1739 }
1448 1740
1449 -class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> { 1741 +class _AppLocalizationsDelegate
  1742 + extends LocalizationsDelegate<AppLocalizations> {
1450 const _AppLocalizationsDelegate(); 1743 const _AppLocalizationsDelegate();
1451 1744
1452 @override 1745 @override
@@ -1455,25 +1748,25 @@ class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> @@ -1455,25 +1748,25 @@ class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations>
1455 } 1748 }
1456 1749
1457 @override 1750 @override
1458 - bool isSupported(Locale locale) => <String>['en', 'zh'].contains(locale.languageCode); 1751 + bool isSupported(Locale locale) =>
  1752 + <String>['en', 'zh'].contains(locale.languageCode);
1459 1753
1460 @override 1754 @override
1461 bool shouldReload(_AppLocalizationsDelegate old) => false; 1755 bool shouldReload(_AppLocalizationsDelegate old) => false;
1462 } 1756 }
1463 1757
1464 AppLocalizations lookupAppLocalizations(Locale locale) { 1758 AppLocalizations lookupAppLocalizations(Locale locale) {
1465 -  
1466 -  
1467 // Lookup logic when only language code is specified. 1759 // Lookup logic when only language code is specified.
1468 switch (locale.languageCode) { 1760 switch (locale.languageCode) {
1469 - case 'en': return AppLocalizationsEn();  
1470 - case 'zh': return AppLocalizationsZh(); 1761 + case 'en':
  1762 + return AppLocalizationsEn();
  1763 + case 'zh':
  1764 + return AppLocalizationsZh();
1471 } 1765 }
1472 1766
1473 throw FlutterError( 1767 throw FlutterError(
1474 - 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '  
1475 - 'an issue with the localizations generation tool. Please file an issue '  
1476 - 'on GitHub with a reproducible sample app and the gen-l10n configuration '  
1477 - 'that was used.'  
1478 - ); 1768 + 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
  1769 + 'an issue with the localizations generation tool. Please file an issue '
  1770 + 'on GitHub with a reproducible sample app and the gen-l10n configuration '
  1771 + 'that was used.');
1479 } 1772 }
  1 +// ignore: unused_import
  2 +import 'package:intl/intl.dart' as intl;
1 import 'app_localizations.dart'; 3 import 'app_localizations.dart';
2 4
3 // ignore_for_file: type=lint 5 // ignore_for_file: type=lint
@@ -67,10 +69,12 @@ class AppLocalizationsEn extends AppLocalizations { @@ -67,10 +69,12 @@ class AppLocalizationsEn extends AppLocalizations {
67 String get settings => 'Settings'; 69 String get settings => 'Settings';
68 70
69 @override 71 @override
70 - String get onboardingIntroTitle => 'DoubleFeel is a health companion app built for Apple Watch'; 72 + String get onboardingIntroTitle =>
  73 + 'DoubleFeel is a health companion app built for Apple Watch';
71 74
72 @override 75 @override
73 - String get onboardingIntroBody => 'We hope to help you\n<em>notice changes in your mind and body, and help the people who love you</em> see when you are <em>tired or need support</em>'; 76 + String get onboardingIntroBody =>
  77 + 'We hope to help you\n<em>notice changes in your mind and body, and help the people who love you</em> see when you are <em>tired or need support</em>';
74 78
75 @override 79 @override
76 String get onboardingStateQuestion => 'Which of these often happens to you?'; 80 String get onboardingStateQuestion => 'Which of these often happens to you?';
@@ -82,16 +86,19 @@ class AppLocalizationsEn extends AppLocalizations { @@ -82,16 +86,19 @@ class AppLocalizationsEn extends AppLocalizations {
82 String get onboardingStateTired => 'I get tired easily'; 86 String get onboardingStateTired => 'I get tired easily';
83 87
84 @override 88 @override
85 - String get onboardingStatePoorRest => 'I wake up but still do not feel rested'; 89 + String get onboardingStatePoorRest =>
  90 + 'I wake up but still do not feel rested';
86 91
87 @override 92 @override
88 - String get onboardingStateNeedStimulants => 'I rely on cigarettes, alcohol, coffee, or other stimulants to stay alert'; 93 + String get onboardingStateNeedStimulants =>
  94 + 'I rely on cigarettes, alcohol, coffee, or other stimulants to stay alert';
89 95
90 @override 96 @override
91 String get onboardingStateNone => 'None of the above'; 97 String get onboardingStateNone => 'None of the above';
92 98
93 @override 99 @override
94 - String get onboardingStressGoalQuestion => 'What do you want to learn by understanding stress?'; 100 + String get onboardingStressGoalQuestion =>
  101 + 'What do you want to learn by understanding stress?';
95 102
96 @override 103 @override
97 String get onboardingStressGoalSource => 'Understand where stress comes from'; 104 String get onboardingStressGoalSource => 'Understand where stress comes from';
@@ -100,7 +107,8 @@ class AppLocalizationsEn extends AppLocalizations { @@ -100,7 +107,8 @@ class AppLocalizationsEn extends AppLocalizations {
100 String get onboardingStressGoalReminder => 'Get reminded when stress appears'; 107 String get onboardingStressGoalReminder => 'Get reminded when stress appears';
101 108
102 @override 109 @override
103 - String get onboardingStressGoalLovedOnes => 'Let people who care about me know my stress state'; 110 + String get onboardingStressGoalLovedOnes =>
  111 + 'Let people who care about me know my stress state';
104 112
105 @override 113 @override
106 String get onboardingStressGoalRelax => 'Understand stress and feel lighter'; 114 String get onboardingStressGoalRelax => 'Understand stress and feel lighter';
@@ -109,7 +117,8 @@ class AppLocalizationsEn extends AppLocalizations { @@ -109,7 +117,8 @@ class AppLocalizationsEn extends AppLocalizations {
109 String get onboardingStressGoalBodyTalk => 'Communicate better with my body'; 117 String get onboardingStressGoalBodyTalk => 'Communicate better with my body';
110 118
111 @override 119 @override
112 - String get onboardingReliefQuestion => 'Which methods do you think can ease stress?'; 120 + String get onboardingReliefQuestion =>
  121 + 'Which methods do you think can ease stress?';
113 122
114 @override 123 @override
115 String get onboardingReliefSleep => 'Regular sleep'; 124 String get onboardingReliefSleep => 'Regular sleep';
@@ -133,7 +142,8 @@ class AppLocalizationsEn extends AppLocalizations { @@ -133,7 +142,8 @@ class AppLocalizationsEn extends AppLocalizations {
133 String get onboardingKeyDataTitle => 'Did you know?'; 142 String get onboardingKeyDataTitle => 'Did you know?';
134 143
135 @override 144 @override
136 - String get onboardingKeyDataSubtitle => 'Everyone has a magical and important body metric that can help us:'; 145 + String get onboardingKeyDataSubtitle =>
  146 + 'Everyone has a magical and important body metric that can help us:';
137 147
138 @override 148 @override
139 String get onboardingKeyDataStress => 'Monitor stress'; 149 String get onboardingKeyDataStress => 'Monitor stress';
@@ -148,7 +158,8 @@ class AppLocalizationsEn extends AppLocalizations { @@ -148,7 +158,8 @@ class AppLocalizationsEn extends AppLocalizations {
148 String get onboardingKeyDataHabits => 'Build healthy habits'; 158 String get onboardingKeyDataHabits => 'Build healthy habits';
149 159
150 @override 160 @override
151 - String get onboardingKeyDataLovedOnes => 'Help important people care about your state in time'; 161 + String get onboardingKeyDataLovedOnes =>
  162 + 'Help important people care about your state in time';
152 163
153 @override 164 @override
154 String get onboardingTellMeWhatItIs => 'Tell me what it is!'; 165 String get onboardingTellMeWhatItIs => 'Tell me what it is!';
@@ -157,16 +168,19 @@ class AppLocalizationsEn extends AppLocalizations { @@ -157,16 +168,19 @@ class AppLocalizationsEn extends AppLocalizations {
157 String get onboardingHrvTitle => 'It is HRV, heart rate variability'; 168 String get onboardingHrvTitle => 'It is HRV, heart rate variability';
158 169
159 @override 170 @override
160 - String get onboardingHrvSubtitle => 'It helps us measure overall stress and health'; 171 + String get onboardingHrvSubtitle =>
  172 + 'It helps us measure overall stress and health';
161 173
162 @override 174 @override
163 - String get onboardingHrvDescription => 'Heart rate variability (HRV) is the tiny variation in time between heartbeats. It reflects autonomic nervous system activity and how the body responds to stress.'; 175 + String get onboardingHrvDescription =>
  176 + 'Heart rate variability (HRV) is the tiny variation in time between heartbeats. It reflects autonomic nervous system activity and how the body responds to stress.';
164 177
165 @override 178 @override
166 String get onboardingTellMeMore => 'Tell me more'; 179 String get onboardingTellMeMore => 'Tell me more';
167 180
168 @override 181 @override
169 - String get onboardingResearchTitle => 'Many studies show that HRV changes are closely related to how our body and mind feel'; 182 + String get onboardingResearchTitle =>
  183 + 'Many studies show that HRV changes are closely related to how our body and mind feel';
170 184
171 @override 185 @override
172 String get onboardingResearchFatigue => 'Physical fatigue'; 186 String get onboardingResearchFatigue => 'Physical fatigue';
@@ -184,25 +198,30 @@ class AppLocalizationsEn extends AppLocalizations { @@ -184,25 +198,30 @@ class AppLocalizationsEn extends AppLocalizations {
184 String get onboardingHealthPermissionTitle => 'Allow health data access'; 198 String get onboardingHealthPermissionTitle => 'Allow health data access';
185 199
186 @override 200 @override
187 - String get onboardingHealthPermissionBody => 'DoubleFeel needs connected wearable health data to send reminders, count stress moments, and provide suggestions.'; 201 + String get onboardingHealthPermissionBody =>
  202 + 'DoubleFeel needs connected wearable health data to send reminders, count stress moments, and provide suggestions.';
188 203
189 @override 204 @override
190 - String get onboardingHealthPermissionPrivacy => 'Your health data is stored locally. We do not upload any related data.'; 205 + String get onboardingHealthPermissionPrivacy =>
  206 + 'Your health data is stored locally. We do not upload any related data.';
191 207
192 @override 208 @override
193 String get onboardingNotificationTitle => 'Turn on notifications'; 209 String get onboardingNotificationTitle => 'Turn on notifications';
194 210
195 @override 211 @override
196 - String get onboardingNotificationSubtitle => 'Learn about every body change in time'; 212 + String get onboardingNotificationSubtitle =>
  213 + 'Learn about every body change in time';
197 214
198 @override 215 @override
199 - String get onboardingNotificationBody => 'After Apple Watch data updates, we can remind you in time and help you act to improve your stress state.'; 216 + String get onboardingNotificationBody =>
  217 + 'After Apple Watch data updates, we can remind you in time and help you act to improve your stress state.';
200 218
201 @override 219 @override
202 String get onboardingMemberTitle => 'Get an annual membership offer'; 220 String get onboardingMemberTitle => 'Get an annual membership offer';
203 221
204 @override 222 @override
205 - String get onboardingMemberBody => 'Start your pressure alert and health companion journey, so love and care are always present.'; 223 + String get onboardingMemberBody =>
  224 + 'Start your pressure alert and health companion journey, so love and care are always present.';
206 225
207 @override 226 @override
208 String get onboardingMemberOriginalPrice => 'Original ¥72.00/year'; 227 String get onboardingMemberOriginalPrice => 'Original ¥72.00/year';
@@ -217,13 +236,16 @@ class AppLocalizationsEn extends AppLocalizations { @@ -217,13 +236,16 @@ class AppLocalizationsEn extends AppLocalizations {
217 String get onboardingMemberAllOptions => 'View all purchase options'; 236 String get onboardingMemberAllOptions => 'View all purchase options';
218 237
219 @override 238 @override
220 - String get healthCompanionIsNowAvailable => 'Health Companion is now available'; 239 + String get healthCompanionIsNowAvailable =>
  240 + 'Health Companion is now available';
221 241
222 @override 242 @override
223 - String get youCanNowViewEachOtherSHrvStressLevelsAndSleepPatternsAndReachOutToCheckInWhenTheOtherPersonSeemsTired => 'You can now view each other\'s HRV, stress levels, and sleep patterns, and reach out to check in when the other person seems tired.'; 243 + String get youCanNowViewEachOtherSHrvStressLevelsAndSleepPatternsAndReachOutToCheckInWhenTheOtherPersonSeemsTired =>
  244 + 'You can now view each other\'s HRV, stress levels, and sleep patterns, and reach out to check in when the other person seems tired.';
224 245
225 @override 246 @override
226 - String get bindPartnerTitle => 'Add a Close Contact\nOne more person to care about your health'; 247 + String get bindPartnerTitle =>
  248 + 'Add a Close Contact\nOne more person to care about your health';
227 249
228 @override 250 @override
229 String get bindPartnerMyId => 'My ID'; 251 String get bindPartnerMyId => 'My ID';
@@ -262,7 +284,8 @@ class AppLocalizationsEn extends AppLocalizations { @@ -262,7 +284,8 @@ class AppLocalizationsEn extends AppLocalizations {
262 String get onboardingResearchGoodSleep => 'Good Sleep'; 284 String get onboardingResearchGoodSleep => 'Good Sleep';
263 285
264 @override 286 @override
265 - String get loginSlogan => 'Start your pressure alert and health companion journey\nso love and care are always present'; 287 + String get loginSlogan =>
  288 + 'Start your pressure alert and health companion journey\nso love and care are always present';
266 289
267 @override 290 @override
268 String get loginWithPhone => 'Sign in with Phone'; 291 String get loginWithPhone => 'Sign in with Phone';
@@ -312,13 +335,15 @@ class AppLocalizationsEn extends AppLocalizations { @@ -312,13 +335,15 @@ class AppLocalizationsEn extends AppLocalizations {
312 String get phoneLoginCodeHint => 'Enter verification code'; 335 String get phoneLoginCodeHint => 'Enter verification code';
313 336
314 @override 337 @override
315 - String get phoneLoginAutoRegisterHint => 'Unregistered numbers will be registered automatically'; 338 + String get phoneLoginAutoRegisterHint =>
  339 + 'Unregistered numbers will be registered automatically';
316 340
317 @override 341 @override
318 String get phoneLoginLoggingIn => 'Signing in...'; 342 String get phoneLoginLoggingIn => 'Signing in...';
319 343
320 @override 344 @override
321 - String get loginAgreeToTermsToast => 'Please read and agree to the Terms of Service and Privacy Policy first'; 345 + String get loginAgreeToTermsToast =>
  346 + 'Please read and agree to the Terms of Service and Privacy Policy first';
322 347
323 @override 348 @override
324 String get phoneLoginInvalidPhone => 'Invalid phone number'; 349 String get phoneLoginInvalidPhone => 'Invalid phone number';
@@ -330,10 +355,12 @@ class AppLocalizationsEn extends AppLocalizations { @@ -330,10 +355,12 @@ class AppLocalizationsEn extends AppLocalizations {
330 String get phoneLoginInvalidCode => 'Invalid verification code'; 355 String get phoneLoginInvalidCode => 'Invalid verification code';
331 356
332 @override 357 @override
333 - String get todayHealthDataAuthTitle => 'Unable to access heart rate health data'; 358 + String get todayHealthDataAuthTitle =>
  359 + 'Unable to access heart rate health data';
334 360
335 @override 361 @override
336 - String get todayHealthDataAuthDescription => 'DoubleFeel needs permission to access your health data to provide stress reminders, real-time stress statistics, and health suggestions. Otherwise, some app features may not work properly. Your health data is stored locally only and will not be uploaded to any server.'; 362 + String get todayHealthDataAuthDescription =>
  363 + 'DoubleFeel needs permission to access your health data to provide stress reminders, real-time stress statistics, and health suggestions. Otherwise, some app features may not work properly. Your health data is stored locally only and will not be uploaded to any server.';
337 364
338 @override 365 @override
339 String get todayHealthDataAuthAction => 'Authorize health data access'; 366 String get todayHealthDataAuthAction => 'Authorize health data access';
@@ -354,19 +381,24 @@ class AppLocalizationsEn extends AppLocalizations { @@ -354,19 +381,24 @@ class AppLocalizationsEn extends AppLocalizations {
354 String get todayFaqLinkNoData => 'What if the app or watch face has no data?'; 381 String get todayFaqLinkNoData => 'What if the app or watch face has no data?';
355 382
356 @override 383 @override
357 - String get todayFaqLinkHrvRealtimeUpdate => 'How can HRV data update in real time?'; 384 + String get todayFaqLinkHrvRealtimeUpdate =>
  385 + 'How can HRV data update in real time?';
358 386
359 @override 387 @override
360 - String get todayFaqLinkWatchNoStatusNotification => 'Why can\'t my watch receive status notifications?'; 388 + String get todayFaqLinkWatchNoStatusNotification =>
  389 + 'Why can\'t my watch receive status notifications?';
361 390
362 @override 391 @override
363 - String get todayFaqLinkWatchNoStatusAndInteractionNotification => 'Why can\'t my watch receive status and interaction notifications?'; 392 + String get todayFaqLinkWatchNoStatusAndInteractionNotification =>
  393 + 'Why can\'t my watch receive status and interaction notifications?';
364 394
365 @override 395 @override
366 - String get todayFaqLinkWatchFaceDataDelay => 'Why is watch face data delayed or not updating?'; 396 + String get todayFaqLinkWatchFaceDataDelay =>
  397 + 'Why is watch face data delayed or not updating?';
367 398
368 @override 399 @override
369 - String get todayFaqLinkWatchFaceBlackScreen => 'Why does the watch face turn black?'; 400 + String get todayFaqLinkWatchFaceBlackScreen =>
  401 + 'Why does the watch face turn black?';
370 402
371 @override 403 @override
372 String get todayStressStatusTitle => 'Overall stress status'; 404 String get todayStressStatusTitle => 'Overall stress status';
@@ -393,136 +425,176 @@ class AppLocalizationsEn extends AppLocalizations { @@ -393,136 +425,176 @@ class AppLocalizationsEn extends AppLocalizations {
393 String get todayStressStatusInsufficientData => 'Insufficient data'; 425 String get todayStressStatusInsufficientData => 'Insufficient data';
394 426
395 @override 427 @override
396 - String get todayStressStatusOverloadDescription => 'Your current HRV is much lower than your long-term average, which may indicate fatigue, high stress, or insufficient recovery. Rest is recommended.'; 428 + String get todayStressStatusOverloadDescription =>
  429 + 'Your current HRV is much lower than your long-term average, which may indicate fatigue, high stress, or insufficient recovery. Rest is recommended.';
397 430
398 @override 431 @override
399 - String get todayStressStatusCautionDescription => 'Your current HRV is below the normal range, and your body may be accumulating stress. Pay attention to rest and recovery.'; 432 + String get todayStressStatusCautionDescription =>
  433 + 'Your current HRV is below the normal range, and your body may be accumulating stress. Pay attention to rest and recovery.';
400 434
401 @override 435 @override
402 - String get todayStressStatusNormalDescription => 'Your current body state is within your normal fluctuation range.'; 436 + String get todayStressStatusNormalDescription =>
  437 + 'Your current body state is within your normal fluctuation range.';
403 438
404 @override 439 @override
405 - String get todayStressStatusExcellentDescription => 'Your current HRV is higher than your recent average, indicating better recovery and overall state.'; 440 + String get todayStressStatusExcellentDescription =>
  441 + 'Your current HRV is higher than your recent average, indicating better recovery and overall state.';
406 442
407 @override 443 @override
408 - String get todayStressStatusInsufficientDataDescription => 'There is not enough available data to accurately assess your stress state yet.'; 444 + String get todayStressStatusInsufficientDataDescription =>
  445 + 'There is not enough available data to accurately assess your stress state yet.';
409 446
410 @override 447 @override
411 - String get todayHrvMeasurementIntro => 'Apple Watch measures HRV every 2-5 hours by default. If you want to measure it manually right now, follow these steps:'; 448 + String get todayHrvMeasurementIntro =>
  449 + 'Apple Watch measures HRV every 2-5 hours by default. If you want to measure it manually right now, follow these steps:';
412 450
413 @override 451 @override
414 - String get todayHrvMeasurementStep1 => '1. Wear your Apple Watch snugly, sit down, and stay calm'; 452 + String get todayHrvMeasurementStep1 =>
  453 + '1. Wear your Apple Watch snugly, sit down, and stay calm';
415 454
416 @override 455 @override
417 - String get todayHrvMeasurementStep2 => '2. Open Mindfulness on Apple Watch and start Breathe'; 456 + String get todayHrvMeasurementStep2 =>
  457 + '2. Open Mindfulness on Apple Watch and start Breathe';
418 458
419 @override 459 @override
420 - String get todayHrvMeasurementStep3 => '3. Keep breathing steadily and wait 1-3 minutes'; 460 + String get todayHrvMeasurementStep3 =>
  461 + '3. Keep breathing steadily and wait 1-3 minutes';
421 462
422 @override 463 @override
423 - String get todayHrvMeasurementStep4 => '4. After breathing is complete, lock and unlock your iPhone once'; 464 + String get todayHrvMeasurementStep4 =>
  465 + '4. After breathing is complete, lock and unlock your iPhone once';
424 466
425 @override 467 @override
426 - String get todayHrvMeasurementStep5 => '5. Wait about one minute. StressWatch will receive and display your data'; 468 + String get todayHrvMeasurementStep5 =>
  469 + '5. Wait about one minute. StressWatch will receive and display your data';
427 470
428 @override 471 @override
429 - String get todayHrvMeasurementHint => 'Tip: Data comes from Apple Watch. After measurement, there may be delays or data may not sync immediately. If this happens, measure again and wait for the data to be read.'; 472 + String get todayHrvMeasurementHint =>
  473 + 'Tip: Data comes from Apple Watch. After measurement, there may be delays or data may not sync immediately. If this happens, measure again and wait for the data to be read.';
430 474
431 @override 475 @override
432 - String get todayHrvMeasurementWarning => 'Note: Health permissions must be enabled, and Low Power Mode must be turned off.'; 476 + String get todayHrvMeasurementWarning =>
  477 + 'Note: Health permissions must be enabled, and Low Power Mode must be turned off.';
433 478
434 @override 479 @override
435 String get todayStressStatusWhatTitle => 'What is overall stress status?'; 480 String get todayStressStatusWhatTitle => 'What is overall stress status?';
436 481
437 @override 482 @override
438 - String get todayStressStatusWhatDescription1 => 'DoubleFeel combines your HRV (heart rate variability), resting heart rate, and body-state changes from the past 30 days to assess your overall stress level.'; 483 + String get todayStressStatusWhatDescription1 =>
  484 + 'DoubleFeel combines your HRV (heart rate variability), resting heart rate, and body-state changes from the past 30 days to assess your overall stress level.';
439 485
440 @override 486 @override
441 - String get todayStressStatusWhatDescription2 => 'Because HRV fluctuates with emotions, exercise, sleep, and fatigue, a single reading has limited value. We recommend focusing on your overall stress status across the day, which is more stable and useful. It helps you understand your body state and helps close contacts notice changes in time.'; 487 + String get todayStressStatusWhatDescription2 =>
  488 + 'Because HRV fluctuates with emotions, exercise, sleep, and fatigue, a single reading has limited value. We recommend focusing on your overall stress status across the day, which is more stable and useful. It helps you understand your body state and helps close contacts notice changes in time.';
442 489
443 @override 490 @override
444 - String get todayStressStatusWhyHrvTitle => 'Why use HRV (heart rate variability)?'; 491 + String get todayStressStatusWhyHrvTitle =>
  492 + 'Why use HRV (heart rate variability)?';
445 493
446 @override 494 @override
447 - String get todayStressStatusWhyHrvDescription => 'HRV is an important metric for measuring body stress and recovery capacity.'; 495 + String get todayStressStatusWhyHrvDescription =>
  496 + 'HRV is an important metric for measuring body stress and recovery capacity.';
448 497
449 @override 498 @override
450 String get todayStressStatusUsually => 'In general:'; 499 String get todayStressStatusUsually => 'In general:';
451 500
452 @override 501 @override
453 - String get todayStressStatusHrvHigher => '· Higher HRV usually means better recovery'; 502 + String get todayStressStatusHrvHigher =>
  503 + '· Higher HRV usually means better recovery';
454 504
455 @override 505 @override
456 - String get todayStressStatusHrvLower => '· Lower HRV may indicate fatigue, stress, or insufficient sleep'; 506 + String get todayStressStatusHrvLower =>
  507 + '· Lower HRV may indicate fatigue, stress, or insufficient sleep';
457 508
458 @override 509 @override
459 - String get todayStressStatusHrvChangesFast => '· HRV changes quickly, making it useful for short-term body-state changes.'; 510 + String get todayStressStatusHrvChangesFast =>
  511 + '· HRV changes quickly, making it useful for short-term body-state changes.';
460 512
461 @override 513 @override
462 - String get todayStressStatusAppWatchDifferenceTitle => 'How are stress statuses on the phone app and Apple Watch different?'; 514 + String get todayStressStatusAppWatchDifferenceTitle =>
  515 + 'How are stress statuses on the phone app and Apple Watch different?';
463 516
464 @override 517 @override
465 - String get todayStressStatusAppWatchDifferenceApp => 'The phone app home page shows the day\'s overall stress status, combining HRV, resting heart rate, and overall trends.'; 518 + String get todayStressStatusAppWatchDifferenceApp =>
  519 + 'The phone app home page shows the day\'s overall stress status, combining HRV, resting heart rate, and overall trends.';
466 520
467 @override 521 @override
468 - String get todayStressStatusAppWatchDifferenceWatch => 'Apple Watch shows the most recent real-time stress status, which is better for quickly checking your current body changes.'; 522 + String get todayStressStatusAppWatchDifferenceWatch =>
  523 + 'Apple Watch shows the most recent real-time stress status, which is better for quickly checking your current body changes.';
469 524
470 @override 525 @override
471 - String get todayStressStatusWaitingDataTitle => 'Why does Waiting for data appear?'; 526 + String get todayStressStatusWaitingDataTitle =>
  527 + 'Why does Waiting for data appear?';
472 528
473 @override 529 @override
474 - String get todayStressStatusWaitingDataDescription1 => 'Waiting for data means the current amount of collected data is not enough to generate a reliable stress assessment.'; 530 + String get todayStressStatusWaitingDataDescription1 =>
  531 + 'Waiting for data means the current amount of collected data is not enough to generate a reliable stress assessment.';
475 532
476 @override 533 @override
477 - String get todayStressStatusWaitingDataDescription2 => 'Please keep wearing your Apple Watch and wait for the system to collect data automatically.'; 534 + String get todayStressStatusWaitingDataDescription2 =>
  535 + 'Please keep wearing your Apple Watch and wait for the system to collect data automatically.';
478 536
479 @override 537 @override
480 - String get todayStressStatusWaitingDataReasonsIntro => 'Possible reasons include:'; 538 + String get todayStressStatusWaitingDataReasonsIntro =>
  539 + 'Possible reasons include:';
481 540
482 @override 541 @override
483 String get todayStressStatusWaitingDataReason1 => '1. Not enough HRV samples'; 542 String get todayStressStatusWaitingDataReason1 => '1. Not enough HRV samples';
484 543
485 @override 544 @override
486 - String get todayStressStatusWaitingDataReason2 => '2. Missing resting heart rate data'; 545 + String get todayStressStatusWaitingDataReason2 =>
  546 + '2. Missing resting heart rate data';
487 547
488 @override 548 @override
489 - String get todayStressStatusWaitingDataReason3 => '3. Apple Watch has not been worn long enough'; 549 + String get todayStressStatusWaitingDataReason3 =>
  550 + '3. Apple Watch has not been worn long enough';
490 551
491 @override 552 @override
492 - String get todayStressStatusWaitingDataReason4 => '4. Apple Health permissions are not enabled'; 553 + String get todayStressStatusWaitingDataReason4 =>
  554 + '4. Apple Health permissions are not enabled';
493 555
494 @override 556 @override
495 - String get todayHrvPrincipleHowMeasureTitle => 'How does DoubleFeel measure stress status?'; 557 + String get todayHrvPrincipleHowMeasureTitle =>
  558 + 'How does DoubleFeel measure stress status?';
496 559
497 @override 560 @override
498 - String get todayHrvPrincipleHowMeasureDescription1 => 'When you wear Apple Watch normally, the system automatically collects your heart rate data and syncs it to Apple Health.'; 561 + String get todayHrvPrincipleHowMeasureDescription1 =>
  562 + 'When you wear Apple Watch normally, the system automatically collects your heart rate data and syncs it to Apple Health.';
499 563
500 @override 564 @override
501 - String get todayHrvPrincipleHowMeasureDescription2 => 'DoubleFeel calculates HRV (heart rate variability) indicators based on this data to assess your body stress and recovery state.'; 565 + String get todayHrvPrincipleHowMeasureDescription2 =>
  566 + 'DoubleFeel calculates HRV (heart rate variability) indicators based on this data to assess your body stress and recovery state.';
502 567
503 @override 568 @override
504 - String get todayHrvPrincipleHowMeasureDescription3 => 'HRV is sensitive to stress, fatigue, sleep, emotions, and recovery, so it helps us notice body-state changes earlier.'; 569 + String get todayHrvPrincipleHowMeasureDescription3 =>
  570 + 'HRV is sensitive to stress, fatigue, sleep, emotions, and recovery, so it helps us notice body-state changes earlier.';
505 571
506 @override 572 @override
507 - String get todayHrvPrincipleHowMeasureDescription4 => 'To make results more accurate, DoubleFeel compares your current HRV state with your own 30-day average instead of comparing it directly with other people.'; 573 + String get todayHrvPrincipleHowMeasureDescription4 =>
  574 + 'To make results more accurate, DoubleFeel compares your current HRV state with your own 30-day average instead of comparing it directly with other people.';
508 575
509 @override 576 @override
510 String get todayRealtimeStressWhatTitle => 'What is real-time stress?'; 577 String get todayRealtimeStressWhatTitle => 'What is real-time stress?';
511 578
512 @override 579 @override
513 - String get todayRealtimeStressWhatDescription1 => 'Real-time stress is a body stress indicator dynamically generated by DoubleFeel based on your current HRV, heart rate state, and changes in your personal history.'; 580 + String get todayRealtimeStressWhatDescription1 =>
  581 + 'Real-time stress is a body stress indicator dynamically generated by DoubleFeel based on your current HRV, heart rate state, and changes in your personal history.';
514 582
515 @override 583 @override
516 - String get todayRealtimeStressWhatDescription2 => 'A higher stress value means your body state is deviating more from your usual baseline and may reflect fatigue, insufficient recovery, or high stress.'; 584 + String get todayRealtimeStressWhatDescription2 =>
  585 + 'A higher stress value means your body state is deviating more from your usual baseline and may reflect fatigue, insufficient recovery, or high stress.';
517 586
518 @override 587 @override
519 - String get todayRealtimeStressWhatDescription3 => 'It helps you notice body changes faster and adjust rest, exercise, and daily rhythm in time.'; 588 + String get todayRealtimeStressWhatDescription3 =>
  589 + 'It helps you notice body changes faster and adjust rest, exercise, and daily rhythm in time.';
520 590
521 @override 591 @override
522 - String get todayRealtimeStressDivisionTitle => 'How is real-time stress divided?'; 592 + String get todayRealtimeStressDivisionTitle =>
  593 + 'How is real-time stress divided?';
523 594
524 @override 595 @override
525 - String get todayRealtimeStressDivisionIntro => 'Real-time stress is shown as a percentage:'; 596 + String get todayRealtimeStressDivisionIntro =>
  597 + 'Real-time stress is shown as a percentage:';
526 598
527 @override 599 @override
528 String get todayRealtimeStressExcellentRange => 'Excellent: 1%-20%'; 600 String get todayRealtimeStressExcellentRange => 'Excellent: 1%-20%';
@@ -537,79 +609,103 @@ class AppLocalizationsEn extends AppLocalizations { @@ -537,79 +609,103 @@ class AppLocalizationsEn extends AppLocalizations {
537 String get todayRealtimeStressOverloadRange => 'Stress overload: 81%-100%'; 609 String get todayRealtimeStressOverloadRange => 'Stress overload: 81%-100%';
538 610
539 @override 611 @override
540 - String get todayRealtimeStressExcellentDescription => 'Your recovery state is good and you are generally relaxed.'; 612 + String get todayRealtimeStressExcellentDescription =>
  613 + 'Your recovery state is good and you are generally relaxed.';
541 614
542 @override 615 @override
543 - String get todayRealtimeStressNormalDescription => 'Your body is within the normal fluctuation range.'; 616 + String get todayRealtimeStressNormalDescription =>
  617 + 'Your body is within the normal fluctuation range.';
544 618
545 @override 619 @override
546 - String get todayRealtimeStressCautionDescription => 'Your body may be accumulating stress and needs proper rest and recovery.'; 620 + String get todayRealtimeStressCautionDescription =>
  621 + 'Your body may be accumulating stress and needs proper rest and recovery.';
547 622
548 @override 623 @override
549 - String get todayRealtimeStressOverloadDescription => 'Your body stress is clearly high. Reduce load and pay attention to sleep and recovery.'; 624 + String get todayRealtimeStressOverloadDescription =>
  625 + 'Your body stress is clearly high. Reduce load and pay attention to sleep and recovery.';
550 626
551 @override 627 @override
552 - String get todayRealtimeStressDivisionBaseline => 'These ranges are adjusted dynamically based on your personal baseline and should not be directly compared between users.'; 628 + String get todayRealtimeStressDivisionBaseline =>
  629 + 'These ranges are adjusted dynamically based on your personal baseline and should not be directly compared between users.';
553 630
554 @override 631 @override
555 - String get todayRealtimeStressDivisionAwake => 'Real-time stress mainly reflects body stress changes while awake.'; 632 + String get todayRealtimeStressDivisionAwake =>
  633 + 'Real-time stress mainly reflects body stress changes while awake.';
556 634
557 @override 635 @override
558 - String get todayRealtimeStressLowBetterTitle => 'Is lower real-time stress always better?'; 636 + String get todayRealtimeStressLowBetterTitle =>
  637 + 'Is lower real-time stress always better?';
559 638
560 @override 639 @override
561 String get todayRealtimeStressLowBetterNo => 'Not necessarily.'; 640 String get todayRealtimeStressLowBetterNo => 'Not necessarily.';
562 641
563 @override 642 @override
564 - String get todayRealtimeStressLowBetterType => 'Body stress can be normal or abnormal.'; 643 + String get todayRealtimeStressLowBetterType =>
  644 + 'Body stress can be normal or abnormal.';
565 645
566 @override 646 @override
567 - String get todayRealtimeStressLowBetterExample => 'For example, real-time stress rising briefly during or after exercise is a normal recovery response. It can also rise temporarily during focused work or emotional excitement, which are normal body adjustments.'; 647 + String get todayRealtimeStressLowBetterExample =>
  648 + 'For example, real-time stress rising briefly during or after exercise is a normal recovery response. It can also rise temporarily during focused work or emotional excitement, which are normal body adjustments.';
568 649
569 @override 650 @override
570 - String get todayRealtimeStressLowBetterHighStress => 'But if stress remains high while resting, sitting for a long time, or after poor sleep, it may indicate physical fatigue, mental stress, insufficient sleep recovery, incomplete exercise recovery, too much caffeine, alcohol, stimulants, or possible discomfort.'; 651 + String get todayRealtimeStressLowBetterHighStress =>
  652 + 'But if stress remains high while resting, sitting for a long time, or after poor sleep, it may indicate physical fatigue, mental stress, insufficient sleep recovery, incomplete exercise recovery, too much caffeine, alcohol, stimulants, or possible discomfort.';
571 653
572 @override 654 @override
573 - String get todayRealtimeStressLowBetterTrend => 'DoubleFeel focuses more on your long-term trend than on a single fluctuation.'; 655 + String get todayRealtimeStressLowBetterTrend =>
  656 + 'DoubleFeel focuses more on your long-term trend than on a single fluctuation.';
574 657
575 @override 658 @override
576 - String get todayRealtimeStressScenarioTitle => 'When should HRV and real-time stress be used?'; 659 + String get todayRealtimeStressScenarioTitle =>
  660 + 'When should HRV and real-time stress be used?';
577 661
578 @override 662 @override
579 - String get todayRealtimeStressScenarioHrvDefault => 'With Apple Watch default settings, HRV updates every 2-5 hours.'; 663 + String get todayRealtimeStressScenarioHrvDefault =>
  664 + 'With Apple Watch default settings, HRV updates every 2-5 hours.';
580 665
581 @override 666 @override
582 - String get todayRealtimeStressScenarioRegionLimit => 'In some regions, Apple Watch breathing features may be limited, which can affect HRV update frequency. Turning on breathing features may also consume more battery.'; 667 + String get todayRealtimeStressScenarioRegionLimit =>
  668 + 'In some regions, Apple Watch breathing features may be limited, which can affect HRV update frequency. Turning on breathing features may also consume more battery.';
583 669
584 @override 670 @override
585 - String get todayRealtimeStressScenarioIntro => 'To address the long interval between HRV updates, DoubleFeel designed real-time stress:'; 671 + String get todayRealtimeStressScenarioIntro =>
  672 + 'To address the long interval between HRV updates, DoubleFeel designed real-time stress:';
586 673
587 @override 674 @override
588 - String get todayRealtimeStressScenarioUpdateEvery6Min => '· Real-time stress updates every 6 minutes'; 675 + String get todayRealtimeStressScenarioUpdateEvery6Min =>
  676 + '· Real-time stress updates every 6 minutes';
589 677
590 @override 678 @override
591 - String get todayRealtimeStressScenarioTimely => '· It can reflect body-state changes more promptly'; 679 + String get todayRealtimeStressScenarioTimely =>
  680 + '· It can reflect body-state changes more promptly';
592 681
593 @override 682 @override
594 - String get todayRealtimeStressScenarioConsistentTrend => '· In most cases, the real-time stress trend is consistent with the HRV trend'; 683 + String get todayRealtimeStressScenarioConsistentTrend =>
  684 + '· In most cases, the real-time stress trend is consistent with the HRV trend';
595 685
596 @override 686 @override
597 - String get todayRealtimeStressScenarioSummary => 'This lets users see long-term HRV trends while also using real-time stress as a short-term body-state reference.'; 687 + String get todayRealtimeStressScenarioSummary =>
  688 + 'This lets users see long-term HRV trends while also using real-time stress as a short-term body-state reference.';
598 689
599 @override 690 @override
600 - String get todayFaqNoDataTitle => 'What if the app or watch face has no data?'; 691 + String get todayFaqNoDataTitle =>
  692 + 'What if the app or watch face has no data?';
601 693
602 @override 694 @override
603 - String get todayFaqNoDataDescription1 => '1. Confirm that Apple Watch is on watchOS 10.0 or above and iPhone is on iOS 14 or above. You can check system versions in About.'; 695 + String get todayFaqNoDataDescription1 =>
  696 + '1. Confirm that Apple Watch is on watchOS 10.0 or above and iPhone is on iOS 14 or above. You can check system versions in About.';
604 697
605 @override 698 @override
606 - String get todayFaqNoDataDescription2 => '2. Confirm all permissions are enabled: iPhone Health > Sharing > Apps > DoubleFeel > Turn On All Permissions.'; 699 + String get todayFaqNoDataDescription2 =>
  700 + '2. Confirm all permissions are enabled: iPhone Health > Sharing > Apps > DoubleFeel > Turn On All Permissions.';
607 701
608 @override 702 @override
609 - String get todayFaqNoDataDescription3 => '3. Confirm the device is not in Low Power Mode, low battery, or worn too loosely, as these can affect data collection.'; 703 + String get todayFaqNoDataDescription3 =>
  704 + '3. Confirm the device is not in Low Power Mode, low battery, or worn too loosely, as these can affect data collection.';
610 705
611 @override 706 @override
612 - String get todayFaqContactPrefix => 'If everything above is correct, you can '; 707 + String get todayFaqContactPrefix =>
  708 + 'If everything above is correct, you can ';
613 709
614 @override 710 @override
615 String get todayFaqContactAction => 'contact us'; 711 String get todayFaqContactAction => 'contact us';
@@ -618,68 +714,237 @@ class AppLocalizationsEn extends AppLocalizations { @@ -618,68 +714,237 @@ class AppLocalizationsEn extends AppLocalizations {
618 String get todayFaqContactSuffix => '.'; 714 String get todayFaqContactSuffix => '.';
619 715
620 @override 716 @override
621 - String get todayFaqWatchNoNotificationTitle => 'Watch cannot receive status notifications?'; 717 + String get todayFaqWatchNoNotificationTitle =>
  718 + 'Watch cannot receive status notifications?';
622 719
623 @override 720 @override
624 - String get todayFaqWatchNoNotificationDescription1 => 'Apple Watch and iPhone notifications have priority rules: when your iPhone is unlocked and the screen is on, notifications only appear on the phone and will not appear on the watch.'; 721 + String get todayFaqWatchNoNotificationDescription1 =>
  722 + 'Apple Watch and iPhone notifications have priority rules: when your iPhone is unlocked and the screen is on, notifications only appear on the phone and will not appear on the watch.';
625 723
626 @override 724 @override
627 - String get todayFaqWatchNoNotificationDescription2 => 'If stress data displays and updates normally but your watch does not receive notifications, try the following:'; 725 + String get todayFaqWatchNoNotificationDescription2 =>
  726 + 'If stress data displays and updates normally but your watch does not receive notifications, try the following:';
628 727
629 @override 728 @override
630 - String get todayFaqWatchNoNotificationCheckPhoneNotification => '1. Check whether iPhone notifications are enabled (Settings > DoubleFeel > Notifications).'; 729 + String get todayFaqWatchNoNotificationCheckPhoneNotification =>
  730 + '1. Check whether iPhone notifications are enabled (Settings > DoubleFeel > Notifications).';
631 731
632 @override 732 @override
633 - String get todayFaqWatchNoNotificationCheckPhoneBackgroundRefresh => '2. Check whether iPhone Background App Refresh is enabled (Settings > DoubleFeel > Background App Refresh).'; 733 + String get todayFaqWatchNoNotificationCheckPhoneBackgroundRefresh =>
  734 + '2. Check whether iPhone Background App Refresh is enabled (Settings > DoubleFeel > Background App Refresh).';
634 735
635 @override 736 @override
636 - String get todayFaqWatchNoNotificationCheckWatchBackgroundRefresh => '3. Check whether Apple Watch Background App Refresh is enabled (Settings > General > Background App Refresh, and make sure DoubleFeel is enabled).'; 737 + String get todayFaqWatchNoNotificationCheckWatchBackgroundRefresh =>
  738 + '3. Check whether Apple Watch Background App Refresh is enabled (Settings > General > Background App Refresh, and make sure DoubleFeel is enabled).';
637 739
638 @override 740 @override
639 - String get todayFaqWatchNoNotificationCheckModes => '4. Make sure Low Power, Focus, Do Not Disturb, Theater, Sleep, and similar modes are off.'; 741 + String get todayFaqWatchNoNotificationCheckModes =>
  742 + '4. Make sure Low Power, Focus, Do Not Disturb, Theater, Sleep, and similar modes are off.';
640 743
641 @override 744 @override
642 - String get todayFaqWatchNoNotificationReinstall => '5. Reinstall DoubleFeel and restart Apple Watch and iPhone.'; 745 + String get todayFaqWatchNoNotificationReinstall =>
  746 + '5. Reinstall DoubleFeel and restart Apple Watch and iPhone.';
643 747
644 @override 748 @override
645 - String get todayFaqWatchFaceDelayTitle => 'Watch face data not updating or delayed?'; 749 + String get todayFaqWatchFaceDelayTitle =>
  750 + 'Watch face data not updating or delayed?';
646 751
647 @override 752 @override
648 - String get todayFaqWatchFaceDelayDescription1 => 'Due to Apple system limits, all watch faces, third-party or official, may have delays from a few minutes to half an hour. Developers cannot control the refresh frequency.'; 753 + String get todayFaqWatchFaceDelayDescription1 =>
  754 + 'Due to Apple system limits, all watch faces, third-party or official, may have delays from a few minutes to half an hour. Developers cannot control the refresh frequency.';
649 755
650 @override 756 @override
651 - String get todayFaqWatchFaceDelayIfOverOneHour => 'If the phone data refreshes but the watch face still has not updated after more than 1 hour:'; 757 + String get todayFaqWatchFaceDelayIfOverOneHour =>
  758 + 'If the phone data refreshes but the watch face still has not updated after more than 1 hour:';
652 759
653 @override 760 @override
654 - String get todayFaqWatchFaceDelayOpenWatchApp => 'Manually open DoubleFeel on Apple Watch and wait about 1 minute.'; 761 + String get todayFaqWatchFaceDelayOpenWatchApp =>
  762 + 'Manually open DoubleFeel on Apple Watch and wait about 1 minute.';
655 763
656 @override 764 @override
657 String get todayFaqWatchFaceDelayIfStill => 'If it still does not update:'; 765 String get todayFaqWatchFaceDelayIfStill => 'If it still does not update:';
658 766
659 @override 767 @override
660 - String get todayFaqWatchFaceDelayRestartApp => 'Close the DoubleFeel background process and restart it.'; 768 + String get todayFaqWatchFaceDelayRestartApp =>
  769 + 'Close the DoubleFeel background process and restart it.';
661 770
662 @override 771 @override
663 - String get todayFaqWatchFaceDelayCheckIntro => 'If it still does not work, check:'; 772 + String get todayFaqWatchFaceDelayCheckIntro =>
  773 + 'If it still does not work, check:';
664 774
665 @override 775 @override
666 - String get todayFaqWatchFaceDelayCheckData => '· Whether both phone and watch apps can show HRV data normally.'; 776 + String get todayFaqWatchFaceDelayCheckData =>
  777 + '· Whether both phone and watch apps can show HRV data normally.';
667 778
668 @override 779 @override
669 - String get todayFaqWatchFaceDelayCheckPhoneHealth => '· Make sure all permissions are enabled on iPhone: iOS Settings > Privacy & Security > Health > DoubleFeel.'; 780 + String get todayFaqWatchFaceDelayCheckPhoneHealth =>
  781 + '· Make sure all permissions are enabled on iPhone: iOS Settings > Privacy & Security > Health > DoubleFeel.';
670 782
671 @override 783 @override
672 - String get todayFaqWatchFaceDelayCheckWatchHealth => '· Make sure all permissions are enabled on Apple Watch: Settings > Health > Data Sources & Access > DoubleFeel.'; 784 + String get todayFaqWatchFaceDelayCheckWatchHealth =>
  785 + '· Make sure all permissions are enabled on Apple Watch: Settings > Health > Data Sources & Access > DoubleFeel.';
673 786
674 @override 787 @override
675 - String get todayFaqWatchFaceDelayCheckBackgroundRefresh => '· Confirm DoubleFeel is enabled in Apple Watch > Settings > General > Background App Refresh.'; 788 + String get todayFaqWatchFaceDelayCheckBackgroundRefresh =>
  789 + '· Confirm DoubleFeel is enabled in Apple Watch > Settings > General > Background App Refresh.';
676 790
677 @override 791 @override
678 - String get todayFaqWatchFaceDelayRestartWatch => '· If it still does not refresh automatically, restart Apple Watch. Long runtimes or high background usage may cause watch face updates to pause.'; 792 + String get todayFaqWatchFaceDelayRestartWatch =>
  793 + '· If it still does not refresh automatically, restart Apple Watch. Long runtimes or high background usage may cause watch face updates to pause.';
679 794
680 @override 795 @override
681 String get todayFaqWatchFaceBlackScreenTitle => 'Watch face turns black?'; 796 String get todayFaqWatchFaceBlackScreenTitle => 'Watch face turns black?';
682 797
683 @override 798 @override
684 - String get todayFaqWatchFaceBlackScreenDescription => 'If the custom interactive watch face turns black after being added and only shows time and date, long-press the watch face, tap Edit, swipe left to Complications, choose DoubleFeel, and add each component again as needed.'; 799 + String get todayFaqWatchFaceBlackScreenDescription =>
  800 + 'If the custom interactive watch face turns black after being added and only shows time and date, long-press the watch face, tap Edit, swipe left to Complications, choose DoubleFeel, and add each component again as needed.';
  801 +
  802 + @override
  803 + String get today => 'Today';
  804 +
  805 + @override
  806 + String get yesterday => 'Yesterday';
  807 +
  808 + @override
  809 + String get backToToday => 'Back to Today';
  810 +
  811 + @override
  812 + String get redeemOffer => 'Redeem Offer';
  813 +
  814 + @override
  815 + String get allPlans => 'All Plans';
  816 +
  817 + @override
  818 + String get clickToAddTheHrvThemedWatchFace =>
  819 + 'Click to add the HRV-themed watch face';
  820 +
  821 + @override
  822 + String get stayOnTopOfYourHealthFluctuations =>
  823 + 'Stay on top of your health fluctuations';
  824 +
  825 + @override
  826 + String get addACloseContact => 'Add a close contact';
  827 +
  828 + @override
  829 + String get oneMorePersonLookingOutForYourHealth =>
  830 + 'One more person looking out for your health';
  831 +
  832 + @override
  833 + String get addAFriend => 'Add a friend';
  834 +
  835 + @override
  836 + String get averageHrvForTheDay => 'Average HRV for the day';
  837 +
  838 + @override
  839 + String get restingHeartRate => 'Resting heart rate';
  840 +
  841 + @override
  842 + String get todaySHrvTrend => 'Today\'s HRV Trend';
  843 +
  844 + @override
  845 + String get more => 'More';
  846 +
  847 + @override
  848 + String get noDataAvailableForToday => 'No data available for today';
  849 +
  850 + @override
  851 + String get realTimePressure => 'Real-time pressure';
  852 +
  853 + @override
  854 + String get accountInformation => 'Account Information';
  855 +
  856 + @override
  857 + String get help => 'Help';
  858 +
  859 + @override
  860 + String get changeNickname => 'Change Nickname';
  861 +
  862 + @override
  863 + String get pleaseEnterANickname => 'Please enter a nickname';
  864 +
  865 + @override
  866 + String get feedbackLog => 'Feedback Log';
  867 +
  868 + @override
  869 + String get noFeedbackRecordsYet => 'No feedback records yet';
  870 +
  871 + @override
  872 + String get feedbackDetails => 'Feedback Details';
  873 +
  874 + @override
  875 + String get reportAnIssue => 'Report an Issue';
  876 +
  877 + @override
  878 + String get contactInformation => 'Contact Information';
  879 +
  880 + @override
  881 + String get submit => 'Submit';
  882 +
  883 + @override
  884 + String get questionsAndFeedback => 'Questions and Feedback';
  885 +
  886 + @override
  887 + String get ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress =>
  888 + 'If you would like us to reply, please provide your email address';
  889 +
  890 + @override
  891 + String get uploadProof => 'Upload Proof';
  892 +
  893 + @override
  894 + String get frequentlyAskedQuestions => 'Frequently Asked Questions';
  895 +
  896 + @override
  897 + String get areYouSureYouWantToDeleteYourAccount =>
  898 + 'Are you sure you want to delete your account?';
  899 +
  900 + @override
  901 + String get accountSettings => 'Account Settings';
  902 +
  903 + @override
  904 + String get deleteAccount => 'Delete Account';
  905 +
  906 + @override
  907 + String get mobilePhoneNumber => 'Mobile phone number';
  908 +
  909 + @override
  910 + String get logOut => 'Log Out';
  911 +
  912 + @override
  913 + String get confirmDeletion => 'Confirm Deletion';
  914 +
  915 + @override
  916 + String get iLlThinkAboutItSomeMore => 'I\'ll think about it some more.';
  917 +
  918 + @override
  919 + String get sleep => 'Sleep';
  920 +
  921 + @override
  922 + String get viewSleepReport => 'View Sleep Report';
  923 +
  924 + @override
  925 + String get duration => 'Duration';
  926 +
  927 + @override
  928 + String get quality => 'Quality';
  929 +
  930 + @override
  931 + String get averageHeartRate => 'Average heart rate';
  932 +
  933 + @override
  934 + String get fitness => 'Fitness';
  935 +
  936 + @override
  937 + String get viewFitnessReport => 'View Fitness Report';
  938 +
  939 + @override
  940 + String get event => 'Event';
  941 +
  942 + @override
  943 + String get exercise => 'Exercise';
  944 +
  945 + @override
  946 + String get standing => 'Standing';
  947 +
  948 + @override
  949 + String get dailyActions => 'Daily Actions';
685 } 950 }
  1 +// ignore: unused_import
  2 +import 'package:intl/intl.dart' as intl;
1 import 'app_localizations.dart'; 3 import 'app_localizations.dart';
2 4
3 // ignore_for_file: type=lint 5 // ignore_for_file: type=lint
@@ -70,7 +72,8 @@ class AppLocalizationsZh extends AppLocalizations { @@ -70,7 +72,8 @@ class AppLocalizationsZh extends AppLocalizations {
70 String get onboardingIntroTitle => 'DoubleFeel 是专为 Apple Watch 打造的健康陪伴app'; 72 String get onboardingIntroTitle => 'DoubleFeel 是专为 Apple Watch 打造的健康陪伴app';
71 73
72 @override 74 @override
73 - String get onboardingIntroBody => '我们希望可以帮助你\n<em>关注自己的身心变化,也让爱你的人</em>及时发现你的<em>疲惫与需要</em>'; 75 + String get onboardingIntroBody =>
  76 + '我们希望可以帮助你\n<em>关注自己的身心变化,也让爱你的人</em>及时发现你的<em>疲惫与需要</em>';
74 77
75 @override 78 @override
76 String get onboardingStateQuestion => '请问以下哪些描述,经常发生在你身上?'; 79 String get onboardingStateQuestion => '请问以下哪些描述,经常发生在你身上?';
@@ -160,7 +163,8 @@ class AppLocalizationsZh extends AppLocalizations { @@ -160,7 +163,8 @@ class AppLocalizationsZh extends AppLocalizations {
160 String get onboardingHrvSubtitle => '它能帮助我们衡量整体的压力和健康状态'; 163 String get onboardingHrvSubtitle => '它能帮助我们衡量整体的压力和健康状态';
161 164
162 @override 165 @override
163 - String get onboardingHrvDescription => '心率变异性(HRV, Heart Rate Variability)即心跳之间间隔时间的微小变化,反映了自主神经系统活动和身体对压力的反应能力'; 166 + String get onboardingHrvDescription =>
  167 + '心率变异性(HRV, Heart Rate Variability)即心跳之间间隔时间的微小变化,反映了自主神经系统活动和身体对压力的反应能力';
164 168
165 @override 169 @override
166 String get onboardingTellMeMore => '展开说说'; 170 String get onboardingTellMeMore => '展开说说';
@@ -184,10 +188,12 @@ class AppLocalizationsZh extends AppLocalizations { @@ -184,10 +188,12 @@ class AppLocalizationsZh extends AppLocalizations {
184 String get onboardingHealthPermissionTitle => '允许访问健康数据'; 188 String get onboardingHealthPermissionTitle => '允许访问健康数据';
185 189
186 @override 190 @override
187 - String get onboardingHealthPermissionBody => 'DoubleFeel需要连接健康穿戴设备数据,以提醒、统计压力时刻、提供建议。'; 191 + String get onboardingHealthPermissionBody =>
  192 + 'DoubleFeel需要连接健康穿戴设备数据,以提醒、统计压力时刻、提供建议。';
188 193
189 @override 194 @override
190 - String get onboardingHealthPermissionPrivacy => '请放心,你的健康数据只会存储在本地,我们不上传任何相关数据。'; 195 + String get onboardingHealthPermissionPrivacy =>
  196 + '请放心,你的健康数据只会存储在本地,我们不上传任何相关数据。';
191 197
192 @override 198 @override
193 String get onboardingNotificationTitle => '开启通知'; 199 String get onboardingNotificationTitle => '开启通知';
@@ -196,7 +202,8 @@ class AppLocalizationsZh extends AppLocalizations { @@ -196,7 +202,8 @@ class AppLocalizationsZh extends AppLocalizations {
196 String get onboardingNotificationSubtitle => '及时了解身体每一次异动'; 202 String get onboardingNotificationSubtitle => '及时了解身体每一次异动';
197 203
198 @override 204 @override
199 - String get onboardingNotificationBody => 'AppleWatch数据更新后会及时提醒你,帮助你及时行动,改善压力状态'; 205 + String get onboardingNotificationBody =>
  206 + 'AppleWatch数据更新后会及时提醒你,帮助你及时行动,改善压力状态';
200 207
201 @override 208 @override
202 String get onboardingMemberTitle => '获得年度会员优惠'; 209 String get onboardingMemberTitle => '获得年度会员优惠';
@@ -220,7 +227,9 @@ class AppLocalizationsZh extends AppLocalizations { @@ -220,7 +227,9 @@ class AppLocalizationsZh extends AppLocalizations {
220 String get healthCompanionIsNowAvailable => '健康陪伴已开启'; 227 String get healthCompanionIsNowAvailable => '健康陪伴已开启';
221 228
222 @override 229 @override
223 - String get youCanNowViewEachOtherSHrvStressLevelsAndSleepPatternsAndReachOutToCheckInWhenTheOtherPersonSeemsTired => '你们现在可以查看彼此的 HRV、压力与睡眠变化,并在对方疲惫时及时送上关心。'; 230 + String
  231 + get youCanNowViewEachOtherSHrvStressLevelsAndSleepPatternsAndReachOutToCheckInWhenTheOtherPersonSeemsTired =>
  232 + '你们现在可以查看彼此的 HRV、压力与睡眠变化,并在对方疲惫时及时送上关心。';
224 233
225 @override 234 @override
226 String get bindPartnerTitle => '添加亲密联系人\n多一个人关注你的健康'; 235 String get bindPartnerTitle => '添加亲密联系人\n多一个人关注你的健康';
@@ -333,7 +342,8 @@ class AppLocalizationsZh extends AppLocalizations { @@ -333,7 +342,8 @@ class AppLocalizationsZh extends AppLocalizations {
333 String get todayHealthDataAuthTitle => '无法获取心率健康数据'; 342 String get todayHealthDataAuthTitle => '无法获取心率健康数据';
334 343
335 @override 344 @override
336 - String get todayHealthDataAuthDescription => 'DoubleFeel 需要授权访问你的健康数据,才能提供压力提醒、实时压力统计和健康建议;否则应用功能可能无法正常使用。请放心,你的健康数据仅存储在本地,不会上传到任何服务器。'; 345 + String get todayHealthDataAuthDescription =>
  346 + 'DoubleFeel 需要授权访问你的健康数据,才能提供压力提醒、实时压力统计和健康建议;否则应用功能可能无法正常使用。请放心,你的健康数据仅存储在本地,不会上传到任何服务器。';
337 347
338 @override 348 @override
339 String get todayHealthDataAuthAction => '授权访问健康数据'; 349 String get todayHealthDataAuthAction => '授权访问健康数据';
@@ -360,7 +370,8 @@ class AppLocalizationsZh extends AppLocalizations { @@ -360,7 +370,8 @@ class AppLocalizationsZh extends AppLocalizations {
360 String get todayFaqLinkWatchNoStatusNotification => '手表为什么无法收到状态通知?'; 370 String get todayFaqLinkWatchNoStatusNotification => '手表为什么无法收到状态通知?';
361 371
362 @override 372 @override
363 - String get todayFaqLinkWatchNoStatusAndInteractionNotification => '手表为什么无法收到状态和互动通知?'; 373 + String get todayFaqLinkWatchNoStatusAndInteractionNotification =>
  374 + '手表为什么无法收到状态和互动通知?';
364 375
365 @override 376 @override
366 String get todayFaqLinkWatchFaceDataDelay => '手表表盘数据不更新或者有延迟?'; 377 String get todayFaqLinkWatchFaceDataDelay => '手表表盘数据不更新或者有延迟?';
@@ -393,22 +404,27 @@ class AppLocalizationsZh extends AppLocalizations { @@ -393,22 +404,27 @@ class AppLocalizationsZh extends AppLocalizations {
393 String get todayStressStatusInsufficientData => '数据不足'; 404 String get todayStressStatusInsufficientData => '数据不足';
394 405
395 @override 406 @override
396 - String get todayStressStatusOverloadDescription => '当前 HRV 明显低于你的长期平均水平,可能意味着身体疲劳、压力过高或恢复不足。建议及时休息。'; 407 + String get todayStressStatusOverloadDescription =>
  408 + '当前 HRV 明显低于你的长期平均水平,可能意味着身体疲劳、压力过高或恢复不足。建议及时休息。';
397 409
398 @override 410 @override
399 - String get todayStressStatusCautionDescription => '当前 HRV 低于正常范围,身体可能正在积累压力,需要注意作息与恢复。'; 411 + String get todayStressStatusCautionDescription =>
  412 + '当前 HRV 低于正常范围,身体可能正在积累压力,需要注意作息与恢复。';
400 413
401 @override 414 @override
402 String get todayStressStatusNormalDescription => '当前身体状态处于你的正常波动范围内。'; 415 String get todayStressStatusNormalDescription => '当前身体状态处于你的正常波动范围内。';
403 416
404 @override 417 @override
405 - String get todayStressStatusExcellentDescription => '当前 HRV 高于近期平均水平,代表身体恢复与整体状态较好。'; 418 + String get todayStressStatusExcellentDescription =>
  419 + '当前 HRV 高于近期平均水平,代表身体恢复与整体状态较好。';
406 420
407 @override 421 @override
408 - String get todayStressStatusInsufficientDataDescription => '当前可用数据不足,暂时无法准确判断压力状态。'; 422 + String get todayStressStatusInsufficientDataDescription =>
  423 + '当前可用数据不足,暂时无法准确判断压力状态。';
409 424
410 @override 425 @override
411 - String get todayHrvMeasurementIntro => 'AppleWatch默认每2-5小时测量一次HRV,如果你希望立即手动进行测量,可以参考以下方法:'; 426 + String get todayHrvMeasurementIntro =>
  427 + 'AppleWatch默认每2-5小时测量一次HRV,如果你希望立即手动进行测量,可以参考以下方法:';
412 428
413 @override 429 @override
414 String get todayHrvMeasurementStep1 => '1、戴紧AppleWatch,坐下来,保持心境平和'; 430 String get todayHrvMeasurementStep1 => '1、戴紧AppleWatch,坐下来,保持心境平和';
@@ -426,7 +442,8 @@ class AppLocalizationsZh extends AppLocalizations { @@ -426,7 +442,8 @@ class AppLocalizationsZh extends AppLocalizations {
426 String get todayHrvMeasurementStep5 => '5、等待一分钟左右,StressWatch会收到你的数据并展示'; 442 String get todayHrvMeasurementStep5 => '5、等待一分钟左右,StressWatch会收到你的数据并展示';
427 443
428 @override 444 @override
429 - String get todayHrvMeasurementHint => '提示:数据源来自AppleWatch,在测量之后可能存在延迟或是数据未能同步的情况。如若出现上述情况,请重新测量并等待数据读取。'; 445 + String get todayHrvMeasurementHint =>
  446 + '提示:数据源来自AppleWatch,在测量之后可能存在延迟或是数据未能同步的情况。如若出现上述情况,请重新测量并等待数据读取。';
430 447
431 @override 448 @override
432 String get todayHrvMeasurementWarning => '注意:需打开健康里的权限,同时关闭省电模式。'; 449 String get todayHrvMeasurementWarning => '注意:需打开健康里的权限,同时关闭省电模式。';
@@ -435,10 +452,12 @@ class AppLocalizationsZh extends AppLocalizations { @@ -435,10 +452,12 @@ class AppLocalizationsZh extends AppLocalizations {
435 String get todayStressStatusWhatTitle => '什么是综合压力状态?'; 452 String get todayStressStatusWhatTitle => '什么是综合压力状态?';
436 453
437 @override 454 @override
438 - String get todayStressStatusWhatDescription1 => 'DoubleFeel 会结合你过去 30 天的 HRV(心率变异性)、静息心率以及当天的身体状态变化,综合评估你的整体压力水平。'; 455 + String get todayStressStatusWhatDescription1 =>
  456 + 'DoubleFeel 会结合你过去 30 天的 HRV(心率变异性)、静息心率以及当天的身体状态变化,综合评估你的整体压力水平。';
439 457
440 @override 458 @override
441 - String get todayStressStatusWhatDescription2 => '由于 HRV 会随着情绪、运动、睡眠和疲劳不断波动,单次数据参考意义有限,因此我们更建议关注一整天的综合压力状态,让结果更稳定、更有参考价值。综合压力不仅能帮助你了解自己的身体状态,也能让亲密联系人更及时地关注你的变化。'; 459 + String get todayStressStatusWhatDescription2 =>
  460 + '由于 HRV 会随着情绪、运动、睡眠和疲劳不断波动,单次数据参考意义有限,因此我们更建议关注一整天的综合压力状态,让结果更稳定、更有参考价值。综合压力不仅能帮助你了解自己的身体状态,也能让亲密联系人更及时地关注你的变化。';
442 461
443 @override 462 @override
444 String get todayStressStatusWhyHrvTitle => '为什么要参考 HRV(心率变异性)?'; 463 String get todayStressStatusWhyHrvTitle => '为什么要参考 HRV(心率变异性)?';
@@ -459,22 +478,27 @@ class AppLocalizationsZh extends AppLocalizations { @@ -459,22 +478,27 @@ class AppLocalizationsZh extends AppLocalizations {
459 String get todayStressStatusHrvChangesFast => '· HRV 变化较快,更适合观察短时间内的身体状态变化。'; 478 String get todayStressStatusHrvChangesFast => '· HRV 变化较快,更适合观察短时间内的身体状态变化。';
460 479
461 @override 480 @override
462 - String get todayStressStatusAppWatchDifferenceTitle => '手机 App 与 Apple Watch 显示的压力状态有什么区别?'; 481 + String get todayStressStatusAppWatchDifferenceTitle =>
  482 + '手机 App 与 Apple Watch 显示的压力状态有什么区别?';
463 483
464 @override 484 @override
465 - String get todayStressStatusAppWatchDifferenceApp => '手机 App 首页显示的是当天的综合压力状态,会综合分析 HRV、静息心率与整体趋势。'; 485 + String get todayStressStatusAppWatchDifferenceApp =>
  486 + '手机 App 首页显示的是当天的综合压力状态,会综合分析 HRV、静息心率与整体趋势。';
466 487
467 @override 488 @override
468 - String get todayStressStatusAppWatchDifferenceWatch => 'Apple Watch 显示的是最近一次的实时压力状态,更适合快速查看当前身体变化。'; 489 + String get todayStressStatusAppWatchDifferenceWatch =>
  490 + 'Apple Watch 显示的是最近一次的实时压力状态,更适合快速查看当前身体变化。';
469 491
470 @override 492 @override
471 String get todayStressStatusWaitingDataTitle => '为什么会出现“等待数据”?'; 493 String get todayStressStatusWaitingDataTitle => '为什么会出现“等待数据”?';
472 494
473 @override 495 @override
474 - String get todayStressStatusWaitingDataDescription1 => '“等待数据”代表当前采集到的数据量不足,暂时无法生成可靠的压力评估。'; 496 + String get todayStressStatusWaitingDataDescription1 =>
  497 + '“等待数据”代表当前采集到的数据量不足,暂时无法生成可靠的压力评估。';
475 498
476 @override 499 @override
477 - String get todayStressStatusWaitingDataDescription2 => '请继续佩戴 Apple Watch,等待系统自动采集数据。'; 500 + String get todayStressStatusWaitingDataDescription2 =>
  501 + '请继续佩戴 Apple Watch,等待系统自动采集数据。';
478 502
479 @override 503 @override
480 String get todayStressStatusWaitingDataReasonsIntro => '可能原因包括:'; 504 String get todayStressStatusWaitingDataReasonsIntro => '可能原因包括:';
@@ -495,28 +519,35 @@ class AppLocalizationsZh extends AppLocalizations { @@ -495,28 +519,35 @@ class AppLocalizationsZh extends AppLocalizations {
495 String get todayHrvPrincipleHowMeasureTitle => 'DoubleFeel 如何测量压力状态?'; 519 String get todayHrvPrincipleHowMeasureTitle => 'DoubleFeel 如何测量压力状态?';
496 520
497 @override 521 @override
498 - String get todayHrvPrincipleHowMeasureDescription1 => '当你正常佩戴 Apple Watch 时,系统会自动采集你的心率数据,并同步至 Apple Health。'; 522 + String get todayHrvPrincipleHowMeasureDescription1 =>
  523 + '当你正常佩戴 Apple Watch 时,系统会自动采集你的心率数据,并同步至 Apple Health。';
499 524
500 @override 525 @override
501 - String get todayHrvPrincipleHowMeasureDescription2 => 'DoubleFeel 会基于这些数据计算 HRV(心率变异性)相关指标,用于评估你的身体压力与恢复状态。'; 526 + String get todayHrvPrincipleHowMeasureDescription2 =>
  527 + 'DoubleFeel 会基于这些数据计算 HRV(心率变异性)相关指标,用于评估你的身体压力与恢复状态。';
502 528
503 @override 529 @override
504 - String get todayHrvPrincipleHowMeasureDescription3 => 'HRV 对压力、疲劳、睡眠、情绪与身体恢复都非常敏感,因此它能够帮助我们更早发现身体状态变化。'; 530 + String get todayHrvPrincipleHowMeasureDescription3 =>
  531 + 'HRV 对压力、疲劳、睡眠、情绪与身体恢复都非常敏感,因此它能够帮助我们更早发现身体状态变化。';
505 532
506 @override 533 @override
507 - String get todayHrvPrincipleHowMeasureDescription4 => '为了让结果更准确,DoubleFeel 会将你当前的 HRV 状态与过去 30 天的个人平均水平进行对比,而不是直接与其他人比较。'; 534 + String get todayHrvPrincipleHowMeasureDescription4 =>
  535 + '为了让结果更准确,DoubleFeel 会将你当前的 HRV 状态与过去 30 天的个人平均水平进行对比,而不是直接与其他人比较。';
508 536
509 @override 537 @override
510 String get todayRealtimeStressWhatTitle => '什么是实时压力?'; 538 String get todayRealtimeStressWhatTitle => '什么是实时压力?';
511 539
512 @override 540 @override
513 - String get todayRealtimeStressWhatDescription1 => '实时压力是 DoubleFeel 根据你当前的 HRV、心率状态与个人历史数据变化,动态生成的身体压力指标。'; 541 + String get todayRealtimeStressWhatDescription1 =>
  542 + '实时压力是 DoubleFeel 根据你当前的 HRV、心率状态与个人历史数据变化,动态生成的身体压力指标。';
514 543
515 @override 544 @override
516 - String get todayRealtimeStressWhatDescription2 => '压力值越高,代表你的身体状态相比平时偏离越明显,可能正处于疲劳、恢复不足或高压力状态。'; 545 + String get todayRealtimeStressWhatDescription2 =>
  546 + '压力值越高,代表你的身体状态相比平时偏离越明显,可能正处于疲劳、恢复不足或高压力状态。';
517 547
518 @override 548 @override
519 - String get todayRealtimeStressWhatDescription3 => '它能够帮助你更快发现身体变化,并及时调整休息、运动与生活节奏。'; 549 + String get todayRealtimeStressWhatDescription3 =>
  550 + '它能够帮助你更快发现身体变化,并及时调整休息、运动与生活节奏。';
520 551
521 @override 552 @override
522 String get todayRealtimeStressDivisionTitle => '实时压力如何划分?'; 553 String get todayRealtimeStressDivisionTitle => '实时压力如何划分?';
@@ -546,10 +577,12 @@ class AppLocalizationsZh extends AppLocalizations { @@ -546,10 +577,12 @@ class AppLocalizationsZh extends AppLocalizations {
546 String get todayRealtimeStressCautionDescription => '身体可能正在积累压力,需要适当休息与恢复。'; 577 String get todayRealtimeStressCautionDescription => '身体可能正在积累压力,需要适当休息与恢复。';
547 578
548 @override 579 @override
549 - String get todayRealtimeStressOverloadDescription => '身体压力明显偏高,建议减少负荷、注意睡眠与恢复。'; 580 + String get todayRealtimeStressOverloadDescription =>
  581 + '身体压力明显偏高,建议减少负荷、注意睡眠与恢复。';
550 582
551 @override 583 @override
552 - String get todayRealtimeStressDivisionBaseline => '以上区间会结合你的个人基线动态调整,不同用户之间并不直接比较。'; 584 + String get todayRealtimeStressDivisionBaseline =>
  585 + '以上区间会结合你的个人基线动态调整,不同用户之间并不直接比较。';
553 586
554 @override 587 @override
555 String get todayRealtimeStressDivisionAwake => '此外,实时压力主要反映清醒状态下的身体压力变化。'; 588 String get todayRealtimeStressDivisionAwake => '此外,实时压力主要反映清醒状态下的身体压力变化。';
@@ -564,25 +597,31 @@ class AppLocalizationsZh extends AppLocalizations { @@ -564,25 +597,31 @@ class AppLocalizationsZh extends AppLocalizations {
564 String get todayRealtimeStressLowBetterType => '身体压力分为“正常压力”与“异常压力”。'; 597 String get todayRealtimeStressLowBetterType => '身体压力分为“正常压力”与“异常压力”。';
565 598
566 @override 599 @override
567 - String get todayRealtimeStressLowBetterExample => '例如:运动期间或运动后,实时压力短时间升高属于正常恢复反应;工作专注、情绪兴奋时,压力也可能暂时升高,这些都属于正常的身体调节。'; 600 + String get todayRealtimeStressLowBetterExample =>
  601 + '例如:运动期间或运动后,实时压力短时间升高属于正常恢复反应;工作专注、情绪兴奋时,压力也可能暂时升高,这些都属于正常的身体调节。';
568 602
569 @override 603 @override
570 - String get todayRealtimeStressLowBetterHighStress => '但如果在静息、久坐或睡眠不足的情况下,压力长期偏高,则可能意味着身体疲劳、心理压力较大、睡眠恢复不足、运动恢复不充分、摄入过多咖啡因、酒精或刺激物、身体可能处于不适状态。'; 604 + String get todayRealtimeStressLowBetterHighStress =>
  605 + '但如果在静息、久坐或睡眠不足的情况下,压力长期偏高,则可能意味着身体疲劳、心理压力较大、睡眠恢复不足、运动恢复不充分、摄入过多咖啡因、酒精或刺激物、身体可能处于不适状态。';
571 606
572 @override 607 @override
573 - String get todayRealtimeStressLowBetterTrend => 'DoubleFeel 更关注的是你的长期变化趋势,而不是单次波动。'; 608 + String get todayRealtimeStressLowBetterTrend =>
  609 + 'DoubleFeel 更关注的是你的长期变化趋势,而不是单次波动。';
574 610
575 @override 611 @override
576 String get todayRealtimeStressScenarioTitle => 'HRV 与实时压力适用场景?'; 612 String get todayRealtimeStressScenarioTitle => 'HRV 与实时压力适用场景?';
577 613
578 @override 614 @override
579 - String get todayRealtimeStressScenarioHrvDefault => '在 Apple Watch 的默认设置下,HRV 每 2~5 小时更新一次。'; 615 + String get todayRealtimeStressScenarioHrvDefault =>
  616 + '在 Apple Watch 的默认设置下,HRV 每 2~5 小时更新一次。';
580 617
581 @override 618 @override
582 - String get todayRealtimeStressScenarioRegionLimit => '在部分地区,由于 Apple Watch 的呼吸功能受限,HRV 的更新频率可能会受到影响,并且开启呼吸功能后也会消耗更多电量。'; 619 + String get todayRealtimeStressScenarioRegionLimit =>
  620 + '在部分地区,由于 Apple Watch 的呼吸功能受限,HRV 的更新频率可能会受到影响,并且开启呼吸功能后也会消耗更多电量。';
583 621
584 @override 622 @override
585 - String get todayRealtimeStressScenarioIntro => '为了解决 HRV 更新间隔较长的问题,DoubleFeel 设计了实时压力功能:'; 623 + String get todayRealtimeStressScenarioIntro =>
  624 + '为了解决 HRV 更新间隔较长的问题,DoubleFeel 设计了实时压力功能:';
586 625
587 @override 626 @override
588 String get todayRealtimeStressScenarioUpdateEvery6Min => '· 实时压力每 6 分钟更新一次'; 627 String get todayRealtimeStressScenarioUpdateEvery6Min => '· 实时压力每 6 分钟更新一次';
@@ -591,22 +630,27 @@ class AppLocalizationsZh extends AppLocalizations { @@ -591,22 +630,27 @@ class AppLocalizationsZh extends AppLocalizations {
591 String get todayRealtimeStressScenarioTimely => '· 可以更及时地反映身体状态变化'; 630 String get todayRealtimeStressScenarioTimely => '· 可以更及时地反映身体状态变化';
592 631
593 @override 632 @override
594 - String get todayRealtimeStressScenarioConsistentTrend => '· 在大多数情况下,实时压力趋势与 HRV 趋势是一致的'; 633 + String get todayRealtimeStressScenarioConsistentTrend =>
  634 + '· 在大多数情况下,实时压力趋势与 HRV 趋势是一致的';
595 635
596 @override 636 @override
597 - String get todayRealtimeStressScenarioSummary => '这样用户既能获得 HRV 的长期趋势,也能通过实时压力获得短时身体状态的参考。'; 637 + String get todayRealtimeStressScenarioSummary =>
  638 + '这样用户既能获得 HRV 的长期趋势,也能通过实时压力获得短时身体状态的参考。';
598 639
599 @override 640 @override
600 String get todayFaqNoDataTitle => 'APP或表盘有没有数据怎么办?'; 641 String get todayFaqNoDataTitle => 'APP或表盘有没有数据怎么办?';
601 642
602 @override 643 @override
603 - String get todayFaqNoDataDescription1 => '1. 确认苹果手表系统在10.0以上,手机系统在14以上,系统版本可在「关于本机」内查看。'; 644 + String get todayFaqNoDataDescription1 =>
  645 + '1. 确认苹果手表系统在10.0以上,手机系统在14以上,系统版本可在「关于本机」内查看。';
604 646
605 @override 647 @override
606 - String get todayFaqNoDataDescription2 => '2. 确认是否开启所有权限:手机「健康」-「共享」-「app」-「DoubleFeel」-「打开所有权限」。'; 648 + String get todayFaqNoDataDescription2 =>
  649 + '2. 确认是否开启所有权限:手机「健康」-「共享」-「app」-「DoubleFeel」-「打开所有权限」。';
607 650
608 @override 651 @override
609 - String get todayFaqNoDataDescription3 => '3. 确认设备是否处于省电模式、低电量状态或手表佩戴未贴紧,以上情况会影响手表数据采集。'; 652 + String get todayFaqNoDataDescription3 =>
  653 + '3. 确认设备是否处于省电模式、低电量状态或手表佩戴未贴紧,以上情况会影响手表数据采集。';
610 654
611 @override 655 @override
612 String get todayFaqContactPrefix => '如以上均检查无问题,可以'; 656 String get todayFaqContactPrefix => '如以上均检查无问题,可以';
@@ -621,37 +665,46 @@ class AppLocalizationsZh extends AppLocalizations { @@ -621,37 +665,46 @@ class AppLocalizationsZh extends AppLocalizations {
621 String get todayFaqWatchNoNotificationTitle => '手表无法收到状态通知?'; 665 String get todayFaqWatchNoNotificationTitle => '手表无法收到状态通知?';
622 666
623 @override 667 @override
624 - String get todayFaqWatchNoNotificationDescription1 => '苹果手表和手机的通知展示有优先级:当手机已解锁并亮屏时,通知只会在手机端展示,不会在手表上出现。'; 668 + String get todayFaqWatchNoNotificationDescription1 =>
  669 + '苹果手表和手机的通知展示有优先级:当手机已解锁并亮屏时,通知只会在手机端展示,不会在手表上出现。';
625 670
626 @override 671 @override
627 - String get todayFaqWatchNoNotificationDescription2 => '若压力数据可正常显示和自动更新,但手表未收到通知,可尝试以下操作:'; 672 + String get todayFaqWatchNoNotificationDescription2 =>
  673 + '若压力数据可正常显示和自动更新,但手表未收到通知,可尝试以下操作:';
628 674
629 @override 675 @override
630 - String get todayFaqWatchNoNotificationCheckPhoneNotification => '1. 检查手机是否打开通知(设置-DoubleFeel-通知)。'; 676 + String get todayFaqWatchNoNotificationCheckPhoneNotification =>
  677 + '1. 检查手机是否打开通知(设置-DoubleFeel-通知)。';
631 678
632 @override 679 @override
633 - String get todayFaqWatchNoNotificationCheckPhoneBackgroundRefresh => '2. 检查手机是否打开后台App刷新(设置-DoubleFeel-后台App刷新)。'; 680 + String get todayFaqWatchNoNotificationCheckPhoneBackgroundRefresh =>
  681 + '2. 检查手机是否打开后台App刷新(设置-DoubleFeel-后台App刷新)。';
634 682
635 @override 683 @override
636 - String get todayFaqWatchNoNotificationCheckWatchBackgroundRefresh => '3. 检查手表是否打开后台App刷新(设置-通用-后台App刷新,并确保DoubleFeel开启)。'; 684 + String get todayFaqWatchNoNotificationCheckWatchBackgroundRefresh =>
  685 + '3. 检查手表是否打开后台App刷新(设置-通用-后台App刷新,并确保DoubleFeel开启)。';
637 686
638 @override 687 @override
639 - String get todayFaqWatchNoNotificationCheckModes => '4. 确保未处于低电量/专注/勿扰/剧院/睡眠等模式。'; 688 + String get todayFaqWatchNoNotificationCheckModes =>
  689 + '4. 确保未处于低电量/专注/勿扰/剧院/睡眠等模式。';
640 690
641 @override 691 @override
642 - String get todayFaqWatchNoNotificationReinstall => '5. 重装DoubleFeel 并重启AppleWatch与iPhone。'; 692 + String get todayFaqWatchNoNotificationReinstall =>
  693 + '5. 重装DoubleFeel 并重启AppleWatch与iPhone。';
643 694
644 @override 695 @override
645 String get todayFaqWatchFaceDelayTitle => '手表表盘数据不更新或有延迟?'; 696 String get todayFaqWatchFaceDelayTitle => '手表表盘数据不更新或有延迟?';
646 697
647 @override 698 @override
648 - String get todayFaqWatchFaceDelayDescription1 => '由于苹果系统限制,所有手表表盘(第三方或官方)都会存在几分钟至半小时的延迟,开发者无法控制刷新频率。'; 699 + String get todayFaqWatchFaceDelayDescription1 =>
  700 + '由于苹果系统限制,所有手表表盘(第三方或官方)都会存在几分钟至半小时的延迟,开发者无法控制刷新频率。';
649 701
650 @override 702 @override
651 String get todayFaqWatchFaceDelayIfOverOneHour => '若手机数据刷新后超过1小时表盘仍未更新:'; 703 String get todayFaqWatchFaceDelayIfOverOneHour => '若手机数据刷新后超过1小时表盘仍未更新:';
652 704
653 @override 705 @override
654 - String get todayFaqWatchFaceDelayOpenWatchApp => '请在手表上手动打开DoubleFeel,等待约1分钟。'; 706 + String get todayFaqWatchFaceDelayOpenWatchApp =>
  707 + '请在手表上手动打开DoubleFeel,等待约1分钟。';
655 708
656 @override 709 @override
657 String get todayFaqWatchFaceDelayIfStill => '若仍未更新:'; 710 String get todayFaqWatchFaceDelayIfStill => '若仍未更新:';
@@ -666,20 +719,170 @@ class AppLocalizationsZh extends AppLocalizations { @@ -666,20 +719,170 @@ class AppLocalizationsZh extends AppLocalizations {
666 String get todayFaqWatchFaceDelayCheckData => '· 手机和手表app是否可正常看到HRV数据。'; 719 String get todayFaqWatchFaceDelayCheckData => '· 手机和手表app是否可正常看到HRV数据。';
667 720
668 @override 721 @override
669 - String get todayFaqWatchFaceDelayCheckPhoneHealth => '· 确保手机端「iOS设置-隐私与安全性-健康-DoubleFeel」全部授权。'; 722 + String get todayFaqWatchFaceDelayCheckPhoneHealth =>
  723 + '· 确保手机端「iOS设置-隐私与安全性-健康-DoubleFeel」全部授权。';
670 724
671 @override 725 @override
672 - String get todayFaqWatchFaceDelayCheckWatchHealth => '· 确保手表端「设置-健康-数据来源、App和服务-DoubleFeel」全部授权。'; 726 + String get todayFaqWatchFaceDelayCheckWatchHealth =>
  727 + '· 确保手表端「设置-健康-数据来源、App和服务-DoubleFeel」全部授权。';
673 728
674 @override 729 @override
675 - String get todayFaqWatchFaceDelayCheckBackgroundRefresh => '· 确认AppleWatch-设置-通用-后台App刷新中DoubleFeel已开启。'; 730 + String get todayFaqWatchFaceDelayCheckBackgroundRefresh =>
  731 + '· 确认AppleWatch-设置-通用-后台App刷新中DoubleFeel已开启。';
676 732
677 @override 733 @override
678 - String get todayFaqWatchFaceDelayRestartWatch => '· 若仍未自动刷新,请重启手表。长时间运行或后台占用过高可能导致表盘暂停更新。'; 734 + String get todayFaqWatchFaceDelayRestartWatch =>
  735 + '· 若仍未自动刷新,请重启手表。长时间运行或后台占用过高可能导致表盘暂停更新。';
679 736
680 @override 737 @override
681 String get todayFaqWatchFaceBlackScreenTitle => '手表表盘出现黑屏?'; 738 String get todayFaqWatchFaceBlackScreenTitle => '手表表盘出现黑屏?';
682 739
683 @override 740 @override
684 - String get todayFaqWatchFaceBlackScreenDescription => '若添加专属互动表盘后出现黑屏(仅显示时间和日期),可长按表盘,点击「编辑」,左滑至「复杂功能」,选择 DoubleFeel,然后按需选择各组件重新添加。'; 741 + String get todayFaqWatchFaceBlackScreenDescription =>
  742 + '若添加专属互动表盘后出现黑屏(仅显示时间和日期),可长按表盘,点击「编辑」,左滑至「复杂功能」,选择 DoubleFeel,然后按需选择各组件重新添加。';
  743 +
  744 + @override
  745 + String get today => '今天';
  746 +
  747 + @override
  748 + String get yesterday => '昨天';
  749 +
  750 + @override
  751 + String get backToToday => '回今天';
  752 +
  753 + @override
  754 + String get redeemOffer => '领取优惠';
  755 +
  756 + @override
  757 + String get allPlans => '全部方案';
  758 +
  759 + @override
  760 + String get clickToAddTheHrvThemedWatchFace => '点击添加HRV主题表盘';
  761 +
  762 + @override
  763 + String get stayOnTopOfYourHealthFluctuations => '时刻掌握自身健康波动';
  764 +
  765 + @override
  766 + String get addACloseContact => '添加亲密联系人';
  767 +
  768 + @override
  769 + String get oneMorePersonLookingOutForYourHealth => '多一个人关注你的健康';
  770 +
  771 + @override
  772 + String get addAFriend => '加好友';
  773 +
  774 + @override
  775 + String get averageHrvForTheDay => '该日平均HRV';
  776 +
  777 + @override
  778 + String get restingHeartRate => '静息心率';
  779 +
  780 + @override
  781 + String get todaySHrvTrend => '今日HRV趋势';
  782 +
  783 + @override
  784 + String get more => '更多';
  785 +
  786 + @override
  787 + String get noDataAvailableForToday => '暂无今日数据';
  788 +
  789 + @override
  790 + String get realTimePressure => '实时压力';
  791 +
  792 + @override
  793 + String get accountInformation => '账号信息';
  794 +
  795 + @override
  796 + String get help => '帮助';
  797 +
  798 + @override
  799 + String get changeNickname => '修改昵称';
  800 +
  801 + @override
  802 + String get pleaseEnterANickname => '请输入昵称';
  803 +
  804 + @override
  805 + String get feedbackLog => '反馈记录';
  806 +
  807 + @override
  808 + String get noFeedbackRecordsYet => '暂无反馈记录';
  809 +
  810 + @override
  811 + String get feedbackDetails => '反馈详情';
  812 +
  813 + @override
  814 + String get reportAnIssue => '问题反馈';
  815 +
  816 + @override
  817 + String get contactInformation => '联系方式';
  818 +
  819 + @override
  820 + String get submit => '提交';
  821 +
  822 + @override
  823 + String get questionsAndFeedback => '问题和反馈';
  824 +
  825 + @override
  826 + String get ifYouWouldLikeUsToReplyPleaseProvideYourEmailAddress =>
  827 + '如果需要我们回复,请填写联系邮箱';
  828 +
  829 + @override
  830 + String get uploadProof => '上传凭证';
  831 +
  832 + @override
  833 + String get frequentlyAskedQuestions => '常见问题';
  834 +
  835 + @override
  836 + String get areYouSureYouWantToDeleteYourAccount => '确认注销账号吗?';
  837 +
  838 + @override
  839 + String get accountSettings => '账号设置';
  840 +
  841 + @override
  842 + String get deleteAccount => '注销账号';
  843 +
  844 + @override
  845 + String get mobilePhoneNumber => '手机号';
  846 +
  847 + @override
  848 + String get logOut => '退出登录';
  849 +
  850 + @override
  851 + String get confirmDeletion => '确认注销';
  852 +
  853 + @override
  854 + String get iLlThinkAboutItSomeMore => '我再想想';
  855 +
  856 + @override
  857 + String get sleep => '睡眠';
  858 +
  859 + @override
  860 + String get viewSleepReport => '查看睡眠报告';
  861 +
  862 + @override
  863 + String get duration => '时长';
  864 +
  865 + @override
  866 + String get quality => '质量';
  867 +
  868 + @override
  869 + String get averageHeartRate => '平均心率';
  870 +
  871 + @override
  872 + String get fitness => '健身';
  873 +
  874 + @override
  875 + String get viewFitnessReport => '查看健身报告';
  876 +
  877 + @override
  878 + String get event => '活动';
  879 +
  880 + @override
  881 + String get exercise => '锻炼';
  882 +
  883 + @override
  884 + String get standing => '站立';
  885 +
  886 + @override
  887 + String get dailyActions => '每日行动';
685 } 888 }
@@ -133,10 +133,10 @@ packages: @@ -133,10 +133,10 @@ packages:
133 dependency: transitive 133 dependency: transitive
134 description: 134 description:
135 name: characters 135 name: characters
136 - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" 136 + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
137 url: "https://pub.dev" 137 url: "https://pub.dev"
138 source: hosted 138 source: hosted
139 - version: "1.3.0" 139 + version: "1.4.0"
140 checked_yaml: 140 checked_yaml:
141 dependency: transitive 141 dependency: transitive
142 description: 142 description:
@@ -149,10 +149,10 @@ packages: @@ -149,10 +149,10 @@ packages:
149 dependency: transitive 149 dependency: transitive
150 description: 150 description:
151 name: clock 151 name: clock
152 - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf 152 + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
153 url: "https://pub.dev" 153 url: "https://pub.dev"
154 source: hosted 154 source: hosted
155 - version: "1.1.1" 155 + version: "1.1.2"
156 code_builder: 156 code_builder:
157 dependency: transitive 157 dependency: transitive
158 description: 158 description:
@@ -165,10 +165,10 @@ packages: @@ -165,10 +165,10 @@ packages:
165 dependency: transitive 165 dependency: transitive
166 description: 166 description:
167 name: collection 167 name: collection
168 - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf 168 + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
169 url: "https://pub.dev" 169 url: "https://pub.dev"
170 source: hosted 170 source: hosted
171 - version: "1.19.0" 171 + version: "1.19.1"
172 convert: 172 convert:
173 dependency: transitive 173 dependency: transitive
174 description: 174 description:
@@ -237,10 +237,10 @@ packages: @@ -237,10 +237,10 @@ packages:
237 dependency: transitive 237 dependency: transitive
238 description: 238 description:
239 name: fake_async 239 name: fake_async
240 - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" 240 + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
241 url: "https://pub.dev" 241 url: "https://pub.dev"
242 source: hosted 242 source: hosted
243 - version: "1.3.1" 243 + version: "1.3.3"
244 ffi: 244 ffi:
245 dependency: transitive 245 dependency: transitive
246 description: 246 description:
@@ -426,7 +426,7 @@ packages: @@ -426,7 +426,7 @@ packages:
426 dependency: transitive 426 dependency: transitive
427 description: 427 description:
428 path: image_cropper_for_web 428 path: image_cropper_for_web
429 - ref: "br_v9.1.0_ohos" 429 + ref: "65c2c99891882ea59732959a672f3d5993a837bb"
430 resolved-ref: "65c2c99891882ea59732959a672f3d5993a837bb" 430 resolved-ref: "65c2c99891882ea59732959a672f3d5993a837bb"
431 url: "https://gitcode.com/openharmony-sig/fluttertpc_image_cropper.git" 431 url: "https://gitcode.com/openharmony-sig/fluttertpc_image_cropper.git"
432 source: git 432 source: git
@@ -435,7 +435,7 @@ packages: @@ -435,7 +435,7 @@ packages:
435 dependency: transitive 435 dependency: transitive
436 description: 436 description:
437 path: image_cropper_platform_interface 437 path: image_cropper_platform_interface
438 - ref: "br_v9.1.0_ohos" 438 + ref: "65c2c99891882ea59732959a672f3d5993a837bb"
439 resolved-ref: "65c2c99891882ea59732959a672f3d5993a837bb" 439 resolved-ref: "65c2c99891882ea59732959a672f3d5993a837bb"
440 url: "https://gitcode.com/openharmony-sig/fluttertpc_image_cropper.git" 440 url: "https://gitcode.com/openharmony-sig/fluttertpc_image_cropper.git"
441 source: git 441 source: git
@@ -517,10 +517,10 @@ packages: @@ -517,10 +517,10 @@ packages:
517 dependency: "direct main" 517 dependency: "direct main"
518 description: 518 description:
519 name: intl 519 name: intl
520 - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf 520 + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
521 url: "https://pub.dev" 521 url: "https://pub.dev"
522 source: hosted 522 source: hosted
523 - version: "0.19.0" 523 + version: "0.20.2"
524 io: 524 io:
525 dependency: transitive 525 dependency: transitive
526 description: 526 description:
@@ -549,26 +549,26 @@ packages: @@ -549,26 +549,26 @@ packages:
549 dependency: transitive 549 dependency: transitive
550 description: 550 description:
551 name: leak_tracker 551 name: leak_tracker
552 - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" 552 + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
553 url: "https://pub.dev" 553 url: "https://pub.dev"
554 source: hosted 554 source: hosted
555 - version: "10.0.7" 555 + version: "11.0.2"
556 leak_tracker_flutter_testing: 556 leak_tracker_flutter_testing:
557 dependency: transitive 557 dependency: transitive
558 description: 558 description:
559 name: leak_tracker_flutter_testing 559 name: leak_tracker_flutter_testing
560 - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" 560 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
561 url: "https://pub.dev" 561 url: "https://pub.dev"
562 source: hosted 562 source: hosted
563 - version: "3.0.8" 563 + version: "3.0.10"
564 leak_tracker_testing: 564 leak_tracker_testing:
565 dependency: transitive 565 dependency: transitive
566 description: 566 description:
567 name: leak_tracker_testing 567 name: leak_tracker_testing
568 - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" 568 + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
569 url: "https://pub.dev" 569 url: "https://pub.dev"
570 source: hosted 570 source: hosted
571 - version: "3.0.1" 571 + version: "3.0.2"
572 lints: 572 lints:
573 dependency: transitive 573 dependency: transitive
574 description: 574 description:
@@ -597,10 +597,10 @@ packages: @@ -597,10 +597,10 @@ packages:
597 dependency: transitive 597 dependency: transitive
598 description: 598 description:
599 name: matcher 599 name: matcher
600 - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb 600 + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
601 url: "https://pub.dev" 601 url: "https://pub.dev"
602 source: hosted 602 source: hosted
603 - version: "0.12.16+1" 603 + version: "0.12.17"
604 material_color_utilities: 604 material_color_utilities:
605 dependency: transitive 605 dependency: transitive
606 description: 606 description:
@@ -613,10 +613,10 @@ packages: @@ -613,10 +613,10 @@ packages:
613 dependency: transitive 613 dependency: transitive
614 description: 614 description:
615 name: meta 615 name: meta
616 - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 616 + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
617 url: "https://pub.dev" 617 url: "https://pub.dev"
618 source: hosted 618 source: hosted
619 - version: "1.15.0" 619 + version: "1.17.0"
620 mime: 620 mime:
621 dependency: transitive 621 dependency: transitive
622 description: 622 description:
@@ -645,10 +645,10 @@ packages: @@ -645,10 +645,10 @@ packages:
645 dependency: transitive 645 dependency: transitive
646 description: 646 description:
647 name: path 647 name: path
648 - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" 648 + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
649 url: "https://pub.dev" 649 url: "https://pub.dev"
650 source: hosted 650 source: hosted
651 - version: "1.9.0" 651 + version: "1.9.1"
652 path_provider: 652 path_provider:
653 dependency: transitive 653 dependency: transitive
654 description: 654 description:
@@ -966,18 +966,18 @@ packages: @@ -966,18 +966,18 @@ packages:
966 dependency: transitive 966 dependency: transitive
967 description: 967 description:
968 name: stack_trace 968 name: stack_trace
969 - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" 969 + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
970 url: "https://pub.dev" 970 url: "https://pub.dev"
971 source: hosted 971 source: hosted
972 - version: "1.12.0" 972 + version: "1.12.1"
973 stream_channel: 973 stream_channel:
974 dependency: transitive 974 dependency: transitive
975 description: 975 description:
976 name: stream_channel 976 name: stream_channel
977 - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 977 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
978 url: "https://pub.dev" 978 url: "https://pub.dev"
979 source: hosted 979 source: hosted
980 - version: "2.1.2" 980 + version: "2.1.4"
981 stream_transform: 981 stream_transform:
982 dependency: transitive 982 dependency: transitive
983 description: 983 description:
@@ -1006,10 +1006,10 @@ packages: @@ -1006,10 +1006,10 @@ packages:
1006 dependency: "direct main" 1006 dependency: "direct main"
1007 description: 1007 description:
1008 name: table_calendar 1008 name: table_calendar
1009 - sha256: b2896b7c86adf3a4d9c911d860120fe3dbe03c85db43b22fd61f14ee78cdbb63 1009 + sha256: "0c0c6219878b363a2d5f40c7afb159d845f253d061dc3c822aa0d5fe0f721982"
1010 url: "https://pub.dev" 1010 url: "https://pub.dev"
1011 source: hosted 1011 source: hosted
1012 - version: "3.1.3" 1012 + version: "3.2.0"
1013 term_glyph: 1013 term_glyph:
1014 dependency: transitive 1014 dependency: transitive
1015 description: 1015 description:
@@ -1022,10 +1022,10 @@ packages: @@ -1022,10 +1022,10 @@ packages:
1022 dependency: transitive 1022 dependency: transitive
1023 description: 1023 description:
1024 name: test_api 1024 name: test_api
1025 - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" 1025 + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
1026 url: "https://pub.dev" 1026 url: "https://pub.dev"
1027 source: hosted 1027 source: hosted
1028 - version: "0.7.3" 1028 + version: "0.7.7"
1029 timing: 1029 timing:
1030 dependency: transitive 1030 dependency: transitive
1031 description: 1031 description:
@@ -1054,10 +1054,10 @@ packages: @@ -1054,10 +1054,10 @@ packages:
1054 dependency: transitive 1054 dependency: transitive
1055 description: 1055 description:
1056 name: vector_math 1056 name: vector_math
1057 - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" 1057 + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
1058 url: "https://pub.dev" 1058 url: "https://pub.dev"
1059 source: hosted 1059 source: hosted
1060 - version: "2.1.4" 1060 + version: "2.2.0"
1061 vm_service: 1061 vm_service:
1062 dependency: transitive 1062 dependency: transitive
1063 description: 1063 description:
@@ -1111,8 +1111,8 @@ packages: @@ -1111,8 +1111,8 @@ packages:
1111 dependency: transitive 1111 dependency: transitive
1112 description: 1112 description:
1113 path: "packages/webview_flutter/webview_flutter_android" 1113 path: "packages/webview_flutter/webview_flutter_android"
1114 - ref: "br_webview_flutter-v4.13.0_ohos"  
1115 - resolved-ref: cd84e4ca392f666bc728c32c49fb328127058826 1114 + ref: de942e79c9057b32ad31106508bd87c0d60aef83
  1115 + resolved-ref: de942e79c9057b32ad31106508bd87c0d60aef83
1116 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git" 1116 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
1117 source: git 1117 source: git
1118 version: "4.7.0" 1118 version: "4.7.0"
@@ -1120,8 +1120,8 @@ packages: @@ -1120,8 +1120,8 @@ packages:
1120 dependency: transitive 1120 dependency: transitive
1121 description: 1121 description:
1122 path: "packages/webview_flutter/webview_flutter_ohos" 1122 path: "packages/webview_flutter/webview_flutter_ohos"
1123 - ref: "br_webview_flutter-v4.13.0_ohos"  
1124 - resolved-ref: cd84e4ca392f666bc728c32c49fb328127058826 1123 + ref: de942e79c9057b32ad31106508bd87c0d60aef83
  1124 + resolved-ref: de942e79c9057b32ad31106508bd87c0d60aef83
1125 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git" 1125 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
1126 source: git 1126 source: git
1127 version: "4.7.0" 1127 version: "4.7.0"
@@ -1129,8 +1129,8 @@ packages: @@ -1129,8 +1129,8 @@ packages:
1129 dependency: transitive 1129 dependency: transitive
1130 description: 1130 description:
1131 path: "packages/webview_flutter/webview_flutter_platform_interface" 1131 path: "packages/webview_flutter/webview_flutter_platform_interface"
1132 - ref: "br_webview_flutter-v4.13.0_ohos"  
1133 - resolved-ref: cd84e4ca392f666bc728c32c49fb328127058826 1132 + ref: de942e79c9057b32ad31106508bd87c0d60aef83
  1133 + resolved-ref: de942e79c9057b32ad31106508bd87c0d60aef83
1134 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git" 1134 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
1135 source: git 1135 source: git
1136 version: "2.13.1" 1136 version: "2.13.1"
@@ -1138,8 +1138,8 @@ packages: @@ -1138,8 +1138,8 @@ packages:
1138 dependency: transitive 1138 dependency: transitive
1139 description: 1139 description:
1140 path: "packages/webview_flutter/webview_flutter_wkwebview" 1140 path: "packages/webview_flutter/webview_flutter_wkwebview"
1141 - ref: "br_webview_flutter-v4.13.0_ohos"  
1142 - resolved-ref: cd84e4ca392f666bc728c32c49fb328127058826 1141 + ref: de942e79c9057b32ad31106508bd87c0d60aef83
  1142 + resolved-ref: de942e79c9057b32ad31106508bd87c0d60aef83
1143 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git" 1143 url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
1144 source: git 1144 source: git
1145 version: "3.22.0" 1145 version: "3.22.0"
@@ -1160,5 +1160,5 @@ packages: @@ -1160,5 +1160,5 @@ packages:
1160 source: hosted 1160 source: hosted
1161 version: "3.1.3" 1161 version: "3.1.3"
1162 sdks: 1162 sdks:
1163 - dart: ">=3.6.2 <4.0.0" 1163 + dart: ">=3.8.0-0 <4.0.0"
1164 flutter: ">=3.27.0" 1164 flutter: ">=3.27.0"