diff --git a/packages/screen_state/CHANGELOG.md b/packages/screen_state/CHANGELOG.md index 33fafd8ed..f4990152c 100644 --- a/packages/screen_state/CHANGELOG.md +++ b/packages/screen_state/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.0.1 + +* Fix app not running on Flutter 3.44.X +* Fix privacy manifest issue on iOS. +* Update minimum iOS version to 15.0. + ## 5.0.0 * Update to kotlin 2.2.2 diff --git a/packages/screen_state/android/build.gradle b/packages/screen_state/android/build.gradle deleted file mode 100644 index eef6cbb34..000000000 --- a/packages/screen_state/android/build.gradle +++ /dev/null @@ -1,67 +0,0 @@ -group = "dk.cachet.screen_state" -version = "1.0-SNAPSHOT" - -buildscript { - ext.kotlin_version = "2.2.20" - repositories { - google() - mavenCentral() - } - - dependencies { - classpath("com.android.tools.build:gradle:8.12.1") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -apply plugin: "com.android.library" -apply plugin: "kotlin-android" - -android { - namespace "dk.cachet.screen_state" - - compileSdk = 33 - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - - sourceSets { - main.java.srcDirs += "src/main/kotlin" - test.java.srcDirs += "src/test/kotlin" - } - - defaultConfig { - minSdk = 21 - } - - dependencies { - testImplementation("org.jetbrains.kotlin:kotlin-test") - testImplementation("org.mockito:mockito-core:5.0.0") - } - - testOptions { - unitTests.all { - useJUnitPlatform() - - testLogging { - events "passed", "skipped", "failed", "standardOut", "standardError" - outputs.upToDateWhen {false} - showStandardStreams = true - } - } - } -} - diff --git a/packages/screen_state/android/build.gradle.kts b/packages/screen_state/android/build.gradle.kts new file mode 100644 index 000000000..c5eb428e6 --- /dev/null +++ b/packages/screen_state/android/build.gradle.kts @@ -0,0 +1,77 @@ +group = "dk.cachet.screen_state" +version = "5.0.1" + +buildscript { + val kotlinVersion = "2.3.20" + repositories { + google() + mavenCentral() + } + + dependencies { + classpath("com.android.tools.build:gradle:9.0.1") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +plugins { + id("com.android.library") +} + +android { + namespace = "dk.cachet.screen_state" + + compileSdk = 36 + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + sourceSets { + getByName("main") { + java.srcDirs("src/main/kotlin") + } + getByName("test") { + java.srcDirs("src/test/kotlin") + } + } + + defaultConfig { + minSdk = 24 + } + + testOptions { + unitTests { + isIncludeAndroidResources = true + all { + it.useJUnitPlatform() + + it.outputs.upToDateWhen { false } + + it.testLogging { + events("passed", "skipped", "failed", "standardOut", "standardError") + showStandardStreams = true + } + } + } + } +} + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + +dependencies { + testImplementation("org.jetbrains.kotlin:kotlin-test") + testImplementation("org.mockito:mockito-core:5.0.0") +} diff --git a/packages/screen_state/android/settings.gradle b/packages/screen_state/android/settings.gradle deleted file mode 100644 index b9cae94be..000000000 --- a/packages/screen_state/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'screen_state' diff --git a/packages/screen_state/android/settings.gradle.kts b/packages/screen_state/android/settings.gradle.kts new file mode 100644 index 000000000..a1b397800 --- /dev/null +++ b/packages/screen_state/android/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "screen_state" diff --git a/packages/screen_state/example/android/app/build.gradle b/packages/screen_state/example/android/app/build.gradle.kts similarity index 75% rename from packages/screen_state/example/android/app/build.gradle rename to packages/screen_state/example/android/app/build.gradle.kts index dc0e98f2b..e1128ef44 100644 --- a/packages/screen_state/example/android/app/build.gradle +++ b/packages/screen_state/example/android/app/build.gradle.kts @@ -1,12 +1,11 @@ plugins { - id "com.android.application" - id "kotlin-android" + id("com.android.application") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" + id("dev.flutter.flutter-gradle-plugin") } android { - namespace = "com.example.example" + namespace = "dk.cachet.screen_state_example" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion @@ -15,13 +14,9 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.example.example" + applicationId = "dk.cachet.screen_state_example" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion @@ -34,11 +29,17 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug + signingConfig = signingConfigs.getByName("debug") } } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/packages/screen_state/example/android/app/src/main/AndroidManifest.xml b/packages/screen_state/example/android/app/src/main/AndroidManifest.xml index 2710e5dc7..05b79f6b5 100644 --- a/packages/screen_state/example/android/app/src/main/AndroidManifest.xml +++ b/packages/screen_state/example/android/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" + android:taskAffinity="" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" @@ -30,4 +31,15 @@ android:name="flutterEmbedding" android:value="2" /> + + + + + + + diff --git a/packages/screen_state/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt b/packages/screen_state/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt deleted file mode 100644 index e793a000d..000000000 --- a/packages/screen_state/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/packages/screen_state/example/android/app/src/main/kotlin/dk/cachet/screen_state_example/MainActivity.kt b/packages/screen_state/example/android/app/src/main/kotlin/dk/cachet/screen_state_example/MainActivity.kt new file mode 100644 index 000000000..24b2caf3d --- /dev/null +++ b/packages/screen_state/example/android/app/src/main/kotlin/dk/cachet/screen_state_example/MainActivity.kt @@ -0,0 +1,5 @@ +package dk.cachet.screen_state_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/packages/screen_state/example/android/build.gradle b/packages/screen_state/example/android/build.gradle deleted file mode 100644 index d2ffbffa4..000000000 --- a/packages/screen_state/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/packages/screen_state/example/android/build.gradle.kts b/packages/screen_state/example/android/build.gradle.kts new file mode 100644 index 000000000..dbee657bb --- /dev/null +++ b/packages/screen_state/example/android/build.gradle.kts @@ -0,0 +1,24 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/packages/screen_state/example/android/gradle.properties b/packages/screen_state/example/android/gradle.properties index 259717082..e96108cfe 100644 --- a/packages/screen_state/example/android/gradle.properties +++ b/packages/screen_state/example/android/gradle.properties @@ -1,3 +1,6 @@ -org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true -android.enableJetifier=true +# This newDsl flag was added by the Flutter template +android.newDsl=false +# This builtInKotlin flag was added by the Flutter template +android.builtInKotlin=false diff --git a/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties index e603bd338..2d428bfb1 100644 --- a/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip diff --git a/packages/screen_state/example/android/settings.gradle b/packages/screen_state/example/android/settings.gradle deleted file mode 100644 index e238cfb99..000000000 --- a/packages/screen_state/example/android/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.2" - id "com.android.application" version "8.12.1" apply false - id "org.jetbrains.kotlin.android" version "2.2.20" apply false -} - -include ":app" diff --git a/packages/screen_state/example/android/settings.gradle.kts b/packages/screen_state/example/android/settings.gradle.kts new file mode 100644 index 000000000..c21f0c5b4 --- /dev/null +++ b/packages/screen_state/example/android/settings.gradle.kts @@ -0,0 +1,26 @@ +pluginManagement { + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "9.0.1" apply false + id("org.jetbrains.kotlin.android") version "2.3.20" apply false +} + +include(":app") diff --git a/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist b/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist index 1dc6cf765..391a902b2 100644 --- a/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist @@ -20,7 +20,5 @@ ???? CFBundleVersion 1.0 - MinimumOSVersion - 13.0 diff --git a/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj b/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj index 440a431c3..f25383528 100644 --- a/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; }; 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; @@ -48,6 +49,7 @@ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; 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 = ""; }; + 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; @@ -57,6 +59,8 @@ 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 = ""; }; + 784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = Flutter/ephemeral/Packages/.packages/FlutterFramework; sourceTree = ""; }; + 78DABEA22ED26510000E7860 /* screen_state */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = screen_state; path = ../../ios/screen_state; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -89,6 +93,8 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( + 78DABEA22ED26510000E7860 /* screen_state */, + 784666492D4C4C64000A1A5F /* FlutterFramework */, 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, @@ -128,6 +134,7 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */, 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, ); path = Runner; @@ -296,6 +303,7 @@ files = ( 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,7 +378,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -496,7 +504,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -545,7 +553,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/packages/screen_state/example/ios/Runner/AppDelegate.swift b/packages/screen_state/example/ios/Runner/AppDelegate.swift index b63630348..c30b367ec 100644 --- a/packages/screen_state/example/ios/Runner/AppDelegate.swift +++ b/packages/screen_state/example/ios/Runner/AppDelegate.swift @@ -1,13 +1,16 @@ -import UIKit import Flutter +import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/screen_state/example/ios/Runner/Info.plist b/packages/screen_state/example/ios/Runner/Info.plist index 513a25d3f..0a0a64c37 100644 --- a/packages/screen_state/example/ios/Runner/Info.plist +++ b/packages/screen_state/example/ios/Runner/Info.plist @@ -24,6 +24,27 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneConfigurationName + flutter + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/packages/screen_state/example/ios/Runner/SceneDelegate.swift b/packages/screen_state/example/ios/Runner/SceneDelegate.swift new file mode 100644 index 000000000..b9ce8ea2b --- /dev/null +++ b/packages/screen_state/example/ios/Runner/SceneDelegate.swift @@ -0,0 +1,6 @@ +import Flutter +import UIKit + +class SceneDelegate: FlutterSceneDelegate { + +} diff --git a/packages/screen_state/example/pubspec.yaml b/packages/screen_state/example/pubspec.yaml index 772509625..d989a13c6 100644 --- a/packages/screen_state/example/pubspec.yaml +++ b/packages/screen_state/example/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev version: 5.0.0+1 environment: - sdk: ">=3.8.0 <4.0.0" + sdk: ^3.12.2 flutter: ">=3.6.0" dependencies: @@ -12,11 +12,11 @@ dependencies: sdk: flutter screen_state: path: ../ - cupertino_icons: ^1.0.6 + cupertino_icons: ^1.0.8 dev_dependencies: flutter_test: sdk: flutter flutter: - uses-material-design: true \ No newline at end of file + uses-material-design: true diff --git a/packages/screen_state/ios/screen_state.podspec b/packages/screen_state/ios/screen_state.podspec index 8023de1db..a2838b20c 100644 --- a/packages/screen_state/ios/screen_state.podspec +++ b/packages/screen_state/ios/screen_state.podspec @@ -1,23 +1,29 @@ # # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. -# Run `pod lib lint screen_state.podspec' to validate before publishing. +# Run `pod lib lint screen_state.podspec` to validate before publishing. # Pod::Spec.new do |s| s.name = 'screen_state' - s.version = '5.0.0' - s.summary = 'Base plugin for screen state detection.' + s.version = '5.0.1' + s.summary = 'Plugin for screen state detection.' s.description = <<-DESC -https://github.com/cph-cachet/flutter-plugins/tree/master/packages/screen_state/ios. +Plugin for screen state detection. DESC - s.homepage = 'https://github.com/cph-cachet/flutter-plugins/tree/master/packages/screen_state/ios' + s.homepage = 'https://carp.dk' s.license = { :file => '../LICENSE' } - s.author = { 'Tokenlab' => 'luansilva@tokenlab.com.br' } + s.author = { 'Copenhagen Research Platform' => 'support@carp.dk' } s.source = { :path => '.' } s.source_files = 'screen_state/Sources/screen_state/**/*' s.dependency 'Flutter' - s.platform = :ios, '13.0' + s.platform = :ios, '15.0' # Flutter.framework does not contain a i386 slice. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } s.swift_version = '5.0' + + # If your plugin requires a privacy manifest, for example if it uses any + # required reason APIs, update the PrivacyInfo.xcprivacy file to describe your + # plugin's privacy impact, and then uncomment this line. For more information, + # see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files + # s.resource_bundles = {'screen_state_privacy' => ['screen_state/Sources/screen_state/PrivacyInfo.xcprivacy']} end diff --git a/packages/screen_state/ios/screen_state/Package.swift b/packages/screen_state/ios/screen_state/Package.swift index fce794035..9919bcea7 100644 --- a/packages/screen_state/ios/screen_state/Package.swift +++ b/packages/screen_state/ios/screen_state/Package.swift @@ -1,20 +1,36 @@ // swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "screen_state", platforms: [ - .iOS("13.0") + .iOS("15.0") ], products: [ .library(name: "screen-state", targets: ["screen_state"]) ], - dependencies: [], + dependencies: [ + .package(name: "FlutterFramework", path: "../FlutterFramework") + ], targets: [ .target( name: "screen_state", - dependencies: [] + dependencies: [ + .product(name: "FlutterFramework", package: "FlutterFramework") + ], + resources: [ + // If your plugin requires a privacy manifest, for example if it uses any required + // reason APIs, update the PrivacyInfo.xcprivacy file to describe your plugin's + // privacy impact, and then uncomment these lines. For more information, see + // https://developer.apple.com/documentation/bundleresources/privacy_manifest_files + // .process("PrivacyInfo.xcprivacy"), + + // If you have other resources that need to be bundled with your plugin, refer to + // the following instructions to add them: + // https://developer.apple.com/documentation/xcode/bundling-resources-with-a-swift-package + ] ) ] ) diff --git a/packages/screen_state/ios/screen_state/Sources/screen_state/PrivacyInfo.xcprivacy b/packages/screen_state/ios/screen_state/Sources/screen_state/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..a34b7e2e6 --- /dev/null +++ b/packages/screen_state/ios/screen_state/Sources/screen_state/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyTrackingDomains + + NSPrivacyAccessedAPITypes + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + + diff --git a/packages/screen_state/pubspec.yaml b/packages/screen_state/pubspec.yaml index dc3f4da57..f979bf0cf 100644 --- a/packages/screen_state/pubspec.yaml +++ b/packages/screen_state/pubspec.yaml @@ -1,11 +1,11 @@ name: screen_state description: A plugin for reporting screen events while the flutter application is running in background. Works for Android and iOS only. -version: 5.0.0 +version: 5.0.1 homepage: https://github.com/cph-cachet/flutter-plugins/tree/master/packages/screen_state environment: - sdk: ">=3.8.0 <4.0.0" - flutter: ">=3.6.0" + sdk: ^3.12.2 + flutter: ">=3.3.0" dependencies: flutter: