diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/.gitignore b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/.gitignore index 2ddde2a..636b176 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/.gitignore +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/.gitignore @@ -1,5 +1,6 @@ # Miscellaneous *.class +*.lock *.log *.pyc *.swp @@ -15,19 +16,48 @@ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ +# Visual Studio Code related +.classpath +.project +.settings/ +.vscode/ + +# Flutter repo-specific +/bin/cache/ +/bin/internal/bootstrap.bat +/bin/internal/bootstrap.sh +/bin/mingit/ +/dev/benchmarks/mega_gallery/ +/dev/bots/.recipe_deps +/dev/bots/android_tools/ +/dev/devicelab/ABresults*.json +/dev/docs/doc/ +/dev/docs/flutter.docs.zip +/dev/docs/lib/ +/dev/docs/pubspec.yaml +/dev/integration_tests/**/xcuserdata +/dev/integration_tests/**/Pods +/packages/flutter/coverage/ +version +analysis_benchmark.json + +# packages file containing multi-root paths +.packages.generated # Flutter/Dart/Pub related **/doc/api/ .dart_tool/ .flutter-plugins +.flutter-plugins-dependencies +**/generated_plugin_registrant.dart .packages .pub-cache/ .pub/ -/build/ +build/ +flutter_*.png +linked_*.ds +unlinked.ds +unlinked_spec.ds # Android related **/android/**/gradle-wrapper.jar @@ -37,6 +67,8 @@ **/android/gradlew.bat **/android/local.properties **/android/**/GeneratedPluginRegistrant.java +**/android/key.properties +*.jks # iOS/XCode related **/ios/**/*.mode1v3 @@ -55,9 +87,12 @@ **/ios/**/profile **/ios/**/xcuserdata **/ios/.generated/ +**/ios/Flutter/.last_build_id **/ios/Flutter/App.framework **/ios/Flutter/Flutter.framework +**/ios/Flutter/Flutter.podspec **/ios/Flutter/Generated.xcconfig +**/ios/Flutter/ephemeral **/ios/Flutter/app.flx **/ios/Flutter/app.zip **/ios/Flutter/flutter_assets/ @@ -65,9 +100,20 @@ **/ios/ServiceDefinitions.json **/ios/Runner/GeneratedPluginRegistrant.* +# macOS +**/macos/Flutter/GeneratedPluginRegistrant.swift + +# Coverage +coverage/ + +# Symbols +app.*.symbols + # Exceptions to above rules. !**/ios/**/default.mode1v3 !**/ios/**/default.mode2v3 !**/ios/**/default.pbxuser !**/ios/**/default.perspectivev3 !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages +!/dev/ci/**/Gemfile.lock +{"mode":"full","isActive":false} \ No newline at end of file diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/Pods b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/Pods deleted file mode 120000 index abf9b0f..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/Pods +++ /dev/null @@ -1 +0,0 @@ -ios/Pods \ No newline at end of file diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/.gitignore b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/.gitignore new file mode 100644 index 0000000..0a741cb --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/.gitignore @@ -0,0 +1,11 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/build.gradle b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/build.gradle index cfaa609..d4c1748 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/build.gradle +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/build.gradle @@ -22,23 +22,23 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 28 + compileSdkVersion 30 - lintOptions { - disable 'InvalidPackage' + sourceSets { + main.java.srcDirs += 'src/main/kotlin' } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.thatproject.flutter_app_joypad_ble" + applicationId "com.example.flutter_app_joypad_ble" minSdkVersion 19 - targetSdkVersion 28 + targetSdkVersion 30 versionCode flutterVersionCode.toInteger() versionName flutterVersionName - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -55,7 +55,5 @@ flutter { } dependencies { - testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test:runner:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/debug/AndroidManifest.xml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/debug/AndroidManifest.xml index f5ae642..0db94ee 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/debug/AndroidManifest.xml +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.example.flutter_app_joypad_ble"> diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/AndroidManifest.xml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/AndroidManifest.xml index 01e8dbc..85c376a 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/AndroidManifest.xml +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/AndroidManifest.xml @@ -1,33 +1,44 @@ - - - + + + + - + + android:name="io.flutter.embedding.android.NormalTheme" + android:resource="@style/NormalTheme" + /> + + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/java/com/thatproject/flutter_app_joypad_ble/MainActivity.java b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/java/com/thatproject/flutter_app_joypad_ble/MainActivity.java deleted file mode 100644 index e1f4cce..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/java/com/thatproject/flutter_app_joypad_ble/MainActivity.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.thatproject.flutter_app_joypad_ble; - -import android.os.Bundle; -import io.flutter.app.FlutterActivity; -import io.flutter.plugins.GeneratedPluginRegistrant; - -public class MainActivity extends FlutterActivity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - GeneratedPluginRegistrant.registerWith(this); - } -} diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/kotlin/com/example/flutter_app_joypad_ble/MainActivity.kt b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/kotlin/com/example/flutter_app_joypad_ble/MainActivity.kt new file mode 100644 index 0000000..1212830 --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/kotlin/com/example/flutter_app_joypad_ble/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.flutter_app_joypad_ble + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/drawable-v21/launch_background.xml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values-night/styles.xml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..449a9f9 --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values/styles.xml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values/styles.xml index 00fa441..d74aa35 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values/styles.xml +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/main/res/values/styles.xml @@ -1,8 +1,18 @@ - + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/profile/AndroidManifest.xml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/profile/AndroidManifest.xml index f5ae642..0db94ee 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/profile/AndroidManifest.xml +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/app/src/profile/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.example.flutter_app_joypad_ble"> diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/build.gradle b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/build.gradle index bb8a303..9b6ed06 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/build.gradle +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/build.gradle @@ -1,11 +1,13 @@ buildscript { + ext.kotlin_version = '1.3.50' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.1' + classpath 'com.android.tools.build:gradle:4.1.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -19,8 +21,6 @@ allprojects { rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { project.evaluationDependsOn(':app') } diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle.properties b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle.properties index 755300e..94adc3a 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle.properties +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle.properties @@ -1,4 +1,3 @@ org.gradle.jvmargs=-Xmx1536M - android.useAndroidX=true android.enableJetifier=true diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle/wrapper/gradle-wrapper.properties b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle/wrapper/gradle-wrapper.properties index 2819f02..bc6a58a 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle/wrapper/gradle-wrapper.properties +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/settings.gradle b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/settings.gradle index 5a2f14f..44e62bc 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/settings.gradle +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/android/settings.gradle @@ -1,15 +1,11 @@ include ':app' -def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() -def plugins = new Properties() -def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') -if (pluginsFile.exists()) { - pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } -} +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } -plugins.each { name, path -> - def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() - include ":$name" - project(":$name").projectDir = pluginDirectory -} +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/.gitignore b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/.gitignore new file mode 100644 index 0000000..151026b --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/.gitignore @@ -0,0 +1,33 @@ +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/AppFrameworkInfo.plist b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/AppFrameworkInfo.plist index 6b4c0f7..9367d48 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/AppFrameworkInfo.plist +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/AppFrameworkInfo.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) + en CFBundleExecutable App CFBundleIdentifier diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Debug.xcconfig b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Debug.xcconfig index e8efba1..ec97fc6 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Debug.xcconfig +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Debug.xcconfig @@ -1,2 +1,2 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Release.xcconfig b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Release.xcconfig index 399e934..c4855bf 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Release.xcconfig +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Flutter/Release.xcconfig @@ -1,2 +1,2 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile index 1de1efc..1e8c3c9 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile @@ -1,6 +1,3 @@ -# Using a CDN with CocoaPods 1.7.2 or later can save a lot of time on pod installation, but it's experimental rather than the default. -# source 'https://cdn.cocoapods.org/' - # Uncomment this line to define a global platform for your project # platform :ios, '9.0' @@ -13,63 +10,32 @@ project 'Runner', { 'Release' => :release, } -def parse_KV_file(file, separator='=') - file_abs_path = File.expand_path(file) - if !File.exists? file_abs_path - return []; +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" end - pods_ary = [] - skip_line_start_symbols = ["#", "/"] - File.foreach(file_abs_path) { |line| - next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } - plugin = line.split(pattern=separator) - if plugin.length == 2 - podname = plugin[0].strip() - path = plugin[1].strip() - podpath = File.expand_path("#{path}", file_abs_path) - pods_ary.push({:name => podname, :path => podpath}); - else - puts "Invalid plugin specification: #{line}" - end - } - return pods_ary + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" end +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + target 'Runner' do - # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock - # referring to absolute paths on developers' machines. - system('rm -rf .symlinks') - system('mkdir -p .symlinks/plugins') + use_frameworks! + use_modular_headers! - # Flutter Pods - generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig') - if generated_xcode_build_settings.empty? - puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first." - end - generated_xcode_build_settings.map { |p| - if p[:name] == 'FLUTTER_FRAMEWORK_DIR' - symlink = File.join('.symlinks', 'flutter') - File.symlink(File.dirname(p[:path]), symlink) - pod 'Flutter', :path => File.join(symlink, File.basename(p[:path])) - end - } - - # Plugin Pods - plugin_pods = parse_KV_file('../.flutter-plugins') - plugin_pods.map { |p| - symlink = File.join('.symlinks', 'plugins', p[:name]) - File.symlink(p[:path], symlink) - pod p[:name], :path => File.join(symlink, 'ios') - } + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end -# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system. -install! 'cocoapods', :disable_input_output_paths => true - post_install do |installer| installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['ENABLE_BITCODE'] = 'NO' - end + flutter_additional_ios_build_settings(target) end end diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile.lock b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile.lock deleted file mode 100644 index 0bce04b..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Podfile.lock +++ /dev/null @@ -1,38 +0,0 @@ -PODS: - - "!ProtoCompiler (3.8.0)": - - Protobuf (~> 3.0) - - Flutter (1.0.0) - - flutter_blue (0.0.1): - - "!ProtoCompiler" - - Flutter - - flutter_blue/Protos (= 0.0.1) - - flutter_blue/Protos (0.0.1): - - "!ProtoCompiler" - - Flutter - - Protobuf - - Protobuf (3.9.0) - -DEPENDENCIES: - - Flutter (from `.symlinks/flutter/ios`) - - flutter_blue (from `.symlinks/plugins/flutter_blue/ios`) - -SPEC REPOS: - https://github.com/cocoapods/specs.git: - - "!ProtoCompiler" - - Protobuf - -EXTERNAL SOURCES: - Flutter: - :path: ".symlinks/flutter/ios" - flutter_blue: - :path: ".symlinks/plugins/flutter_blue/ios" - -SPEC CHECKSUMS: - "!ProtoCompiler": 7fc49078ec544d0347264496f6cd09b8132536b5 - Flutter: 0e3d915762c693b495b44d77113d4970485de6ec - flutter_blue: 07167792af21fc34409ad37b267a3e17217c4164 - Protobuf: 1097ca58584c8d9be81bfbf2c5ff5975648dd87a - -PODFILE CHECKSUM: 64b2109b760ac9073c864e2a8278e6464efaa219 - -COCOAPODS: 1.7.5 diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.pbxproj b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.pbxproj index 6e6c715..400d4ab 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.pbxproj +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.pbxproj @@ -9,17 +9,10 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - 9FC7CE1900990EDD09C02419 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F48B461AC9D34A40BB6758D0 /* libPods-Runner.a */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -29,8 +22,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -41,23 +32,16 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; - 67BB70B5847C66464B7FEEA4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC8506D0990A169BD7E09C68 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - F48B461AC9D34A40BB6758D0 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - F8777B6D27142DEADE65CBEE /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -65,32 +49,16 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, - 9FC7CE1900990EDD09C02419 /* libPods-Runner.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 84A2DB65CC05E02153C95425 /* Pods */ = { - isa = PBXGroup; - children = ( - F8777B6D27142DEADE65CBEE /* Pods-Runner.debug.xcconfig */, - 67BB70B5847C66464B7FEEA4 /* Pods-Runner.release.xcconfig */, - CC8506D0990A169BD7E09C68 /* Pods-Runner.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( - 3B80C3931E831B6300D905FE /* App.framework */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEBA1CF902C7004384FC /* Flutter.framework */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 9740EEB31CF90195004384FC /* Generated.xcconfig */, @@ -104,8 +72,6 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, - 84A2DB65CC05E02153C95425 /* Pods */, - C13447C3EF237604C49B5144 /* Frameworks */, ); sourceTree = ""; }; @@ -120,35 +86,18 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, ); path = Runner; sourceTree = ""; }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - C13447C3EF237604C49B5144 /* Frameworks */ = { - isa = PBXGroup; - children = ( - F48B461AC9D34A40BB6758D0 /* libPods-Runner.a */, - ); - name = Frameworks; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -156,14 +105,12 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D2412CC3B1715E5C66A7D7AF /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - FC0E171BB18D976F8FC7284A /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -181,15 +128,16 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 1020; - ORGANIZATIONNAME = "The Chromium Authors"; + ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; }; }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -213,7 +161,6 @@ files = ( 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, ); @@ -234,7 +181,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -250,43 +197,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - D2412CC3B1715E5C66A7D7AF /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - FC0E171BB18D976F8FC7284A /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -294,8 +204,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -324,7 +233,6 @@ /* Begin XCBuildConfiguration section */ 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -364,9 +272,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -377,27 +286,21 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.thatproject.flutterAppJoypadBle; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterAppJoypadBle; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Profile; }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -443,7 +346,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -453,7 +356,6 @@ }; 97C147041CF9000F007C117D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -493,9 +395,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -506,20 +410,16 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.thatproject.flutterAppJoypadBle; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterAppJoypadBle; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -529,20 +429,15 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.thatproject.flutterAppJoypadBle; + PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterAppJoypadBle; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 1d526a1..919434a 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/contents.xcworkspacedata b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/contents.xcworkspacedata index 21a3cc1..1d526a1 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,7 +4,4 @@ - - diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.h b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bb..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.m b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.m deleted file mode 100644 index 59a72e9..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#include "AppDelegate.h" -#include "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.swift b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Info.plist b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Info.plist index 721f2e3..89e9b55 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Info.plist +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Info.plist @@ -41,5 +41,15 @@ UIViewControllerBasedStatusBarAppearance + NSBluetoothAlwaysUsageDescription + Need BLE permission + NSBluetoothPeripheralUsageDescription + Need BLE permission + NSLocationAlwaysAndWhenInUseUsageDescription + Need Location permission + NSLocationAlwaysUsageDescription + Need Location permission + NSLocationWhenInUseUsageDescription + Need Location permission diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Runner-Bridging-Header.h b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/main.m b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/main.m deleted file mode 100644 index dff6597..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/lib/main.dart b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/lib/main.dart index a0fee72..1f3e3e6 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/lib/main.dart +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/lib/main.dart @@ -7,11 +7,13 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_blue/flutter_blue.dart'; -Future main() async { - await SystemChrome.setPreferredOrientations( - [DeviceOrientation.landscapeRight, DeviceOrientation.landscapeLeft]); - - runApp(MainScreen()); +void main() { + WidgetsFlutterBinding.ensureInitialized(); + SystemChrome.setPreferredOrientations( + [DeviceOrientation.landscapeRight, DeviceOrientation.landscapeLeft]) + .then((_) { + runApp(MainScreen()); + }); } class MainScreen extends StatelessWidget { @@ -120,11 +122,11 @@ class _JoyPadState extends State { }); } - writeData(String data) { + writeData(String data) async { if (targetCharacteristic == null) return; List bytes = utf8.encode(data); - targetCharacteristic.write(bytes); + await targetCharacteristic.write(bytes); } @override diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.lock b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.lock index 792e471..f309a99 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.lock +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.lock @@ -7,42 +7,56 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.6.1" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" charcode: dependency: transitive description: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" + version: "1.2.0" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" collection: dependency: transitive description: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.14.11" + version: "1.15.0" control_pad: dependency: "direct main" description: name: control_pad url: "https://pub.dartlang.org" source: hosted - version: "1.0.0+2" + version: "1.1.1+1" convert: dependency: transitive description: name: convert url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "3.0.1" cupertino_icons: dependency: "direct main" description: @@ -50,13 +64,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.1.2" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" fixnum: dependency: transitive description: name: fixnum url: "https://pub.dartlang.org" source: hosted - version: "0.10.9" + version: "1.0.0" flutter: dependency: "direct main" description: flutter @@ -68,7 +89,7 @@ packages: name: flutter_blue url: "https://pub.dartlang.org" source: hosted - version: "0.6.0+3" + version: "0.8.0" flutter_test: dependency: "direct dev" description: flutter @@ -80,49 +101,35 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.5" + version: "0.12.10" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.1.7" + version: "1.3.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.6.4" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.0+1" + version: "1.8.0" protobuf: dependency: transitive description: name: protobuf url: "https://pub.dartlang.org" source: hosted - version: "0.13.15" - quiver: - dependency: transitive - description: - name: quiver - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.5" + version: "2.0.0" rxdart: dependency: transitive description: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.22.1+1" + version: "0.26.0" sky_engine: dependency: transitive description: flutter @@ -134,55 +141,56 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.5.5" + version: "1.8.1" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.9.3" + version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.5" + version: "0.3.0" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.1.6" + version: "1.3.0" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.0.8" + version: "2.1.0" sdks: - dart: ">=2.2.2 <3.0.0" + dart: ">=2.12.0 <3.0.0" + flutter: ">=1.12.13+hotfix.6" diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.yaml b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.yaml index a371c6d..ad97452 100644 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.yaml +++ b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/pubspec.yaml @@ -23,8 +23,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 - control_pad: ^1.0.0+2 - flutter_blue: ^0.6.0+3 + control_pad: ^1.1.1+1 + flutter_blue: ^0.8.0 dev_dependencies: diff --git a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/test/widget_test.dart b/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/test/widget_test.dart deleted file mode 100644 index e6d1867..0000000 --- a/ESP32_Flutter_JoyPad/flutter_app_joypad_ble/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility that Flutter provides. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:flutter_app_joypad_ble/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -}