diff --git a/open_wearable/analysis_options.yaml b/open_wearable/analysis_options.yaml
index d2f83007..b58a37db 100644
--- a/open_wearable/analysis_options.yaml
+++ b/open_wearable/analysis_options.yaml
@@ -1,3 +1,12 @@
+analyzer:
+ exclude:
+ - build/**
+ - android/**
+ - ios/**
+ - web/**
+ - windows/**
+ - macos/**
+ - linux/**
include: package:flutter_lints/flutter.yaml
linter:
diff --git a/open_wearable/ios/Runner.xcodeproj/project.pbxproj b/open_wearable/ios/Runner.xcodeproj/project.pbxproj
index 78dd0854..49113062 100644
--- a/open_wearable/ios/Runner.xcodeproj/project.pbxproj
+++ b/open_wearable/ios/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 54;
+ objectVersion = 60;
objects = {
/* Begin PBXBuildFile section */
@@ -505,6 +505,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 15;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = edu.kit.teco.openWearable.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -523,6 +524,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 15;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = edu.kit.teco.openWearable.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -539,6 +541,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 15;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = edu.kit.teco.openWearable.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
diff --git a/open_wearable/ios/Runner/AppDelegate.swift b/open_wearable/ios/Runner/AppDelegate.swift
index a7fc0a72..1e9a43ce 100644
--- a/open_wearable/ios/Runner/AppDelegate.swift
+++ b/open_wearable/ios/Runner/AppDelegate.swift
@@ -2,7 +2,7 @@ import Flutter
import UIKit
@main
-@objc class AppDelegate: FlutterAppDelegate {
+@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
private var sensorShutdownBackgroundTask: UIBackgroundTaskIdentifier = .invalid
private var lifecycleChannel: FlutterMethodChannel?
@@ -27,15 +27,14 @@ import UIKit
sensorShutdownBackgroundTask = .invalid
}
- override func application(
- _ application: UIApplication,
- didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
- ) -> Bool {
- let controller: FlutterViewController = window?.rootViewController as! FlutterViewController
- let openFolderChannel = FlutterMethodChannel(name: "edu.teco.open_folder", binaryMessenger: controller.binaryMessenger)
- let systemSettingsChannel = FlutterMethodChannel(name: "edu.kit.teco.openWearable/system_settings", binaryMessenger: controller.binaryMessenger)
- lifecycleChannel = FlutterMethodChannel(name: "edu.kit.teco.openWearable/lifecycle", binaryMessenger: controller.binaryMessenger)
-
+ func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
+ GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
+
+ let messenger = engineBridge.applicationRegistrar.messenger()
+ let openFolderChannel = FlutterMethodChannel(name: "edu.teco.open_folder", binaryMessenger: messenger)
+ let systemSettingsChannel = FlutterMethodChannel(name: "edu.kit.teco.openWearable/system_settings", binaryMessenger: messenger)
+ lifecycleChannel = FlutterMethodChannel(name: "edu.kit.teco.openWearable/lifecycle", binaryMessenger: messenger)
+
openFolderChannel.setMethodCallHandler { (call: FlutterMethodCall, result: @escaping FlutterResult) in
if call.method == "openFolder", let args = call.arguments as? [String: Any], let path = args["path"] as? String {
guard let url = URL(string: path) else {
@@ -88,8 +87,5 @@ import UIKit
result(FlutterMethodNotImplemented)
}
}
-
- GeneratedPluginRegistrant.register(with: self)
- return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
diff --git a/open_wearable/ios/Runner/Info.plist b/open_wearable/ios/Runner/Info.plist
index 677c9991..d7778d73 100644
--- a/open_wearable/ios/Runner/Info.plist
+++ b/open_wearable/ios/Runner/Info.plist
@@ -39,20 +39,41 @@
This app uses Bluetooth to connect to wearable devices.
NSBluetoothPeripheralUsageDescription
This app requires Bluetooth access to communicate with wearable devices.
- NSLocalNetworkUsageDescription
- This app uses the local network to host a webserver for tools integration.
- NSMotionUsageDescription
- This app requires access to device motion in order to provide sensor data.
- NSMicrophoneUsageDescription
- This app records microphone audio with local sensor recording sessions.
NSCameraUsageDescription
Camera access may be required by an iOS file selection component used to import firmware files. The app does not use the camera as part of its normal workflow.
+ NSLocalNetworkUsageDescription
+ This app uses the local network to host a webserver for tools integration.
NSLocationWhenInUseUsageDescription
Location access may be required by an iOS file selection component used to import firmware files. The app does not use location as part of its normal workflow.
+ NSMicrophoneUsageDescription
+ This app records microphone audio with local sensor recording sessions.
+ NSMotionUsageDescription
+ This app requires access to device motion in order to provide sensor data.
NSPhotoLibraryUsageDescription
Needed for optional file selection functionality.
UIApplicationSupportsIndirectInputEvents
+ UIApplicationSceneManifest
+
+ UIApplicationSupportsMultipleScenes
+
+ UISceneConfigurations
+
+ UIWindowSceneSessionRoleApplication
+
+
+ UISceneClassName
+ UIWindowScene
+ UISceneDelegateClassName
+ FlutterSceneDelegate
+ UISceneConfigurationName
+ flutter
+ UISceneStoryboardFile
+ Main
+
+
+
+
UIFileSharingEnabled
UILaunchStoryboardName
diff --git a/open_wearable/macos/Podfile b/open_wearable/macos/Podfile
index ccf76e3f..895d6cb0 100644
--- a/open_wearable/macos/Podfile
+++ b/open_wearable/macos/Podfile
@@ -1,4 +1,4 @@
-macos_deployment_target = '10.15'
+macos_deployment_target = '12.0'
platform :osx, macos_deployment_target
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
diff --git a/open_wearable/macos/Podfile.lock b/open_wearable/macos/Podfile.lock
index 303eb239..696411ea 100644
--- a/open_wearable/macos/Podfile.lock
+++ b/open_wearable/macos/Podfile.lock
@@ -37,6 +37,6 @@ SPEC CHECKSUMS:
SwiftProtobuf: 3fafd1b2fb97e6d95ad9c8adb2215da9afec7c83
ZIPFoundation: b8c29ea7ae353b309bc810586181fd073cb3312c
-PODFILE CHECKSUM: 463a7f221fb14c9e3a027094353cdef1b5c69604
+PODFILE CHECKSUM: b8959a7c9c7d85e56c248baab1b0a5907867aa6f
COCOAPODS: 1.16.2
diff --git a/open_wearable/macos/Runner.xcodeproj/project.pbxproj b/open_wearable/macos/Runner.xcodeproj/project.pbxproj
index 12000fa5..d338bd96 100644
--- a/open_wearable/macos/Runner.xcodeproj/project.pbxproj
+++ b/open_wearable/macos/Runner.xcodeproj/project.pbxproj
@@ -566,7 +566,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.15;
+ MACOSX_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -649,7 +649,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.15;
+ MACOSX_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
@@ -699,7 +699,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.15;
+ MACOSX_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;