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;