Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions open_wearable/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
analyzer:
exclude:
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
include: package:flutter_lints/flutter.yaml

linter:
Expand Down
5 changes: 4 additions & 1 deletion open_wearable/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objectVersion = 60;
objects = {

/* Begin PBXBuildFile section */
Expand Down Expand Up @@ -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)";
Expand All @@ -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)";
Expand All @@ -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)";
Expand Down
22 changes: 9 additions & 13 deletions open_wearable/ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand All @@ -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 {
Expand Down Expand Up @@ -88,8 +87,5 @@ import UIKit
result(FlutterMethodNotImplemented)
}
}

GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
33 changes: 27 additions & 6 deletions open_wearable/ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,41 @@
<string>This app uses Bluetooth to connect to wearable devices.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This app requires Bluetooth access to communicate with wearable devices.</string>
<key>NSLocalNetworkUsageDescription</key>
<string>This app uses the local network to host a webserver for tools integration.</string>
<key>NSMotionUsageDescription</key>
<string>This app requires access to device motion in order to provide sensor data.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app records microphone audio with local sensor recording sessions.</string>
<key>NSCameraUsageDescription</key>
<string>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.</string>
<key>NSLocalNetworkUsageDescription</key>
<string>This app uses the local network to host a webserver for tools integration.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>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.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app records microphone audio with local sensor recording sessions.</string>
<key>NSMotionUsageDescription</key>
<string>This app requires access to device motion in order to provide sensor data.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Needed for optional file selection functionality.</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneClassName</key>
<string>UIWindowScene</string>
<key>UISceneDelegateClassName</key>
<string>FlutterSceneDelegate</string>
<key>UISceneConfigurationName</key>
<string>flutter</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
<key>UIFileSharingEnabled</key>
<true/>
<key>UILaunchStoryboardName</key>
Expand Down
2 changes: 1 addition & 1 deletion open_wearable/macos/Podfile
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion open_wearable/macos/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@ SPEC CHECKSUMS:
SwiftProtobuf: 3fafd1b2fb97e6d95ad9c8adb2215da9afec7c83
ZIPFoundation: b8c29ea7ae353b309bc810586181fd073cb3312c

PODFILE CHECKSUM: 463a7f221fb14c9e3a027094353cdef1b5c69604
PODFILE CHECKSUM: b8959a7c9c7d85e56c248baab1b0a5907867aa6f

COCOAPODS: 1.16.2
6 changes: 3 additions & 3 deletions open_wearable/macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
Loading