瀏覽代碼

First commit

Luis Aparicio 2 週之前
當前提交
d3f00db7e5
共有 100 個文件被更改,包括 3109 次插入0 次删除
  1. 45
    0
      .gitignore
  2. 45
    0
      .metadata
  3. 3
    0
      README.md
  4. 1
    0
      analysis_options.yaml
  5. 13
    0
      android/.gitignore
  6. 44
    0
      android/app/build.gradle
  7. 7
    0
      android/app/src/debug/AndroidManifest.xml
  8. 45
    0
      android/app/src/main/AndroidManifest.xml
  9. 5
    0
      android/app/src/main/kotlin/com/example/siempre_informao/MainActivity.kt
  10. 12
    0
      android/app/src/main/res/drawable-v21/launch_background.xml
  11. 12
    0
      android/app/src/main/res/drawable/launch_background.xml
  12. 二進制
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  13. 二進制
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  14. 二進制
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  15. 二進制
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  16. 二進制
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  17. 18
    0
      android/app/src/main/res/values-night/styles.xml
  18. 18
    0
      android/app/src/main/res/values/styles.xml
  19. 7
    0
      android/app/src/profile/AndroidManifest.xml
  20. 18
    0
      android/build.gradle
  21. 3
    0
      android/gradle.properties
  22. 5
    0
      android/gradle/wrapper/gradle-wrapper.properties
  23. 25
    0
      android/settings.gradle
  24. 二進制
      assets/header_image.png
  25. 二進制
      assets/icons/icono1.jpg
  26. 二進制
      assets/icons/icono10.jpg
  27. 二進制
      assets/icons/icono11.jpg
  28. 二進制
      assets/icons/icono12.jpg
  29. 二進制
      assets/icons/icono13.jpg
  30. 二進制
      assets/icons/icono14.jpg
  31. 二進制
      assets/icons/icono15.jpg
  32. 二進制
      assets/icons/icono2.jpg
  33. 二進制
      assets/icons/icono3.jpg
  34. 二進制
      assets/icons/icono4.jpg
  35. 二進制
      assets/icons/icono5.jpg
  36. 二進制
      assets/icons/icono6.jpg
  37. 二進制
      assets/icons/icono7.jpg
  38. 二進制
      assets/icons/icono8.jpg
  39. 二進制
      assets/icons/icono9.jpg
  40. 3
    0
      devtools_options.yaml
  41. 34
    0
      ios/.gitignore
  42. 26
    0
      ios/Flutter/AppFrameworkInfo.plist
  43. 2
    0
      ios/Flutter/Debug.xcconfig
  44. 2
    0
      ios/Flutter/Release.xcconfig
  45. 44
    0
      ios/Podfile
  46. 23
    0
      ios/Podfile.lock
  47. 731
    0
      ios/Runner.xcodeproj/project.pbxproj
  48. 7
    0
      ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  49. 8
    0
      ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  50. 8
    0
      ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
  51. 99
    0
      ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
  52. 10
    0
      ios/Runner.xcworkspace/contents.xcworkspacedata
  53. 8
    0
      ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  54. 8
    0
      ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
  55. 13
    0
      ios/Runner/AppDelegate.swift
  56. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png
  57. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
  58. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
  59. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
  60. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png
  61. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png
  62. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png
  63. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
  64. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
  65. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
  66. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
  67. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png
  68. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
  69. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
  70. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
  71. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png
  72. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
  73. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
  74. 二進制
      ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
  75. 1
    0
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
  76. 37
    0
      ios/Runner/Base.lproj/LaunchScreen.storyboard
  77. 26
    0
      ios/Runner/Base.lproj/Main.storyboard
  78. 49
    0
      ios/Runner/Info.plist
  79. 1
    0
      ios/Runner/Runner-Bridging-Header.h
  80. 12
    0
      ios/RunnerTests/RunnerTests.swift
  81. 77
    0
      lib/custom_info_card.dart
  82. 225
    0
      lib/main.dart
  83. 1
    0
      linux/.gitignore
  84. 145
    0
      linux/CMakeLists.txt
  85. 88
    0
      linux/flutter/CMakeLists.txt
  86. 11
    0
      linux/flutter/generated_plugin_registrant.cc
  87. 15
    0
      linux/flutter/generated_plugin_registrant.h
  88. 23
    0
      linux/flutter/generated_plugins.cmake
  89. 6
    0
      linux/main.cc
  90. 124
    0
      linux/my_application.cc
  91. 18
    0
      linux/my_application.h
  92. 7
    0
      macos/.gitignore
  93. 2
    0
      macos/Flutter/Flutter-Debug.xcconfig
  94. 2
    0
      macos/Flutter/Flutter-Release.xcconfig
  95. 12
    0
      macos/Flutter/GeneratedPluginRegistrant.swift
  96. 43
    0
      macos/Podfile
  97. 23
    0
      macos/Podfile.lock
  98. 801
    0
      macos/Runner.xcodeproj/project.pbxproj
  99. 8
    0
      macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  100. 0
    0
      macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

+ 45
- 0
.gitignore 查看文件

@@ -0,0 +1,45 @@
1
+# Miscellaneous
2
+*.class
3
+*.log
4
+*.pyc
5
+*.swp
6
+.DS_Store
7
+.atom/
8
+.build/
9
+.buildlog/
10
+.history
11
+.svn/
12
+.swiftpm/
13
+migrate_working_dir/
14
+
15
+# IntelliJ related
16
+*.iml
17
+*.ipr
18
+*.iws
19
+.idea/
20
+
21
+# The .vscode folder contains launch configuration and tasks you configure in
22
+# VS Code which you may wish to be included in version control, so this line
23
+# is commented out by default.
24
+#.vscode/
25
+
26
+# Flutter/Dart/Pub related
27
+**/doc/api/
28
+**/ios/Flutter/.last_build_id
29
+.dart_tool/
30
+.flutter-plugins
31
+.flutter-plugins-dependencies
32
+.pub-cache/
33
+.pub/
34
+/build/
35
+
36
+# Symbolication related
37
+app.*.symbols
38
+
39
+# Obfuscation related
40
+app.*.map.json
41
+
42
+# Android Studio will place build artifacts here
43
+/android/app/debug
44
+/android/app/profile
45
+/android/app/release

+ 45
- 0
.metadata 查看文件

@@ -0,0 +1,45 @@
1
+# This file tracks properties of this Flutter project.
2
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
3
+#
4
+# This file should be version controlled and should not be manually edited.
5
+
6
+version:
7
+  revision: "2663184aa79047d0a33a14a3b607954f8fdd8730"
8
+  channel: "stable"
9
+
10
+project_type: app
11
+
12
+# Tracks metadata for the flutter migrate command
13
+migration:
14
+  platforms:
15
+    - platform: root
16
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
17
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
18
+    - platform: android
19
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
20
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
21
+    - platform: ios
22
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
23
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
24
+    - platform: linux
25
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
26
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
27
+    - platform: macos
28
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
29
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
30
+    - platform: web
31
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
32
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
33
+    - platform: windows
34
+      create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
35
+      base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
36
+
37
+  # User provided section
38
+
39
+  # List of Local paths (relative to this file) that should be
40
+  # ignored by the migrate tool.
41
+  #
42
+  # Files that are not part of the templates will be ignored by default.
43
+  unmanaged_files:
44
+    - 'lib/main.dart'
45
+    - 'ios/Runner.xcodeproj/project.pbxproj'

+ 3
- 0
README.md 查看文件

@@ -0,0 +1,3 @@
1
+# siempre_informao
2
+
3
+A new Flutter project.

+ 1
- 0
analysis_options.yaml 查看文件

@@ -0,0 +1 @@
1
+include: package:flutter_lints/flutter.yaml

+ 13
- 0
android/.gitignore 查看文件

@@ -0,0 +1,13 @@
1
+gradle-wrapper.jar
2
+/.gradle
3
+/captures/
4
+/gradlew
5
+/gradlew.bat
6
+/local.properties
7
+GeneratedPluginRegistrant.java
8
+
9
+# Remember to never publicly share your keystore.
10
+# See https://flutter.dev/to/reference-keystore
11
+key.properties
12
+**/*.keystore
13
+**/*.jks

+ 44
- 0
android/app/build.gradle 查看文件

@@ -0,0 +1,44 @@
1
+plugins {
2
+    id "com.android.application"
3
+    id "kotlin-android"
4
+    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
5
+    id "dev.flutter.flutter-gradle-plugin"
6
+}
7
+
8
+android {
9
+    namespace = "com.example.siempre_informao"
10
+    compileSdk = flutter.compileSdkVersion
11
+    ndkVersion = flutter.ndkVersion
12
+
13
+    compileOptions {
14
+        sourceCompatibility = JavaVersion.VERSION_1_8
15
+        targetCompatibility = JavaVersion.VERSION_1_8
16
+    }
17
+
18
+    kotlinOptions {
19
+        jvmTarget = JavaVersion.VERSION_1_8
20
+    }
21
+
22
+    defaultConfig {
23
+        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
24
+        applicationId = "com.example.siempre_informao"
25
+        // You can update the following values to match your application needs.
26
+        // For more information, see: https://flutter.dev/to/review-gradle-config.
27
+        minSdk = flutter.minSdkVersion
28
+        targetSdk = flutter.targetSdkVersion
29
+        versionCode = flutter.versionCode
30
+        versionName = flutter.versionName
31
+    }
32
+
33
+    buildTypes {
34
+        release {
35
+            // TODO: Add your own signing config for the release build.
36
+            // Signing with the debug keys for now, so `flutter run --release` works.
37
+            signingConfig = signingConfigs.debug
38
+        }
39
+    }
40
+}
41
+
42
+flutter {
43
+    source = "../.."
44
+}

+ 7
- 0
android/app/src/debug/AndroidManifest.xml 查看文件

@@ -0,0 +1,7 @@
1
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+    <!-- The INTERNET permission is required for development. Specifically,
3
+         the Flutter tool needs it to communicate with the running application
4
+         to allow setting breakpoints, to provide hot reload, etc.
5
+    -->
6
+    <uses-permission android:name="android.permission.INTERNET"/>
7
+</manifest>

+ 45
- 0
android/app/src/main/AndroidManifest.xml 查看文件

@@ -0,0 +1,45 @@
1
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+    <application
3
+        android:label="siempre_informao"
4
+        android:name="${applicationName}"
5
+        android:icon="@mipmap/ic_launcher">
6
+        <activity
7
+            android:name=".MainActivity"
8
+            android:exported="true"
9
+            android:launchMode="singleTop"
10
+            android:taskAffinity=""
11
+            android:theme="@style/LaunchTheme"
12
+            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
13
+            android:hardwareAccelerated="true"
14
+            android:windowSoftInputMode="adjustResize">
15
+            <!-- Specifies an Android theme to apply to this Activity as soon as
16
+                 the Android process has started. This theme is visible to the user
17
+                 while the Flutter UI initializes. After that, this theme continues
18
+                 to determine the Window background behind the Flutter UI. -->
19
+            <meta-data
20
+              android:name="io.flutter.embedding.android.NormalTheme"
21
+              android:resource="@style/NormalTheme"
22
+              />
23
+            <intent-filter>
24
+                <action android:name="android.intent.action.MAIN"/>
25
+                <category android:name="android.intent.category.LAUNCHER"/>
26
+            </intent-filter>
27
+        </activity>
28
+        <!-- Don't delete the meta-data below.
29
+             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
30
+        <meta-data
31
+            android:name="flutterEmbedding"
32
+            android:value="2" />
33
+    </application>
34
+    <!-- Required to query activities that can process text, see:
35
+         https://developer.android.com/training/package-visibility and
36
+         https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
37
+
38
+         In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
39
+    <queries>
40
+        <intent>
41
+            <action android:name="android.intent.action.PROCESS_TEXT"/>
42
+            <data android:mimeType="text/plain"/>
43
+        </intent>
44
+    </queries>
45
+</manifest>

+ 5
- 0
android/app/src/main/kotlin/com/example/siempre_informao/MainActivity.kt 查看文件

@@ -0,0 +1,5 @@
1
+package com.example.siempre_informao
2
+
3
+import io.flutter.embedding.android.FlutterActivity
4
+
5
+class MainActivity: FlutterActivity()

+ 12
- 0
android/app/src/main/res/drawable-v21/launch_background.xml 查看文件

@@ -0,0 +1,12 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!-- Modify this file to customize your launch splash screen -->
3
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
4
+    <item android:drawable="?android:colorBackground" />
5
+
6
+    <!-- You can insert your own image assets here -->
7
+    <!-- <item>
8
+        <bitmap
9
+            android:gravity="center"
10
+            android:src="@mipmap/launch_image" />
11
+    </item> -->
12
+</layer-list>

+ 12
- 0
android/app/src/main/res/drawable/launch_background.xml 查看文件

@@ -0,0 +1,12 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!-- Modify this file to customize your launch splash screen -->
3
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
4
+    <item android:drawable="@android:color/white" />
5
+
6
+    <!-- You can insert your own image assets here -->
7
+    <!-- <item>
8
+        <bitmap
9
+            android:gravity="center"
10
+            android:src="@mipmap/launch_image" />
11
+    </item> -->
12
+</layer-list>

二進制
android/app/src/main/res/mipmap-hdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-mdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 查看文件


+ 18
- 0
android/app/src/main/res/values-night/styles.xml 查看文件

@@ -0,0 +1,18 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<resources>
3
+    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
4
+    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
5
+        <!-- Show a splash screen on the activity. Automatically removed when
6
+             the Flutter engine draws its first frame -->
7
+        <item name="android:windowBackground">@drawable/launch_background</item>
8
+    </style>
9
+    <!-- Theme applied to the Android Window as soon as the process has started.
10
+         This theme determines the color of the Android Window while your
11
+         Flutter UI initializes, as well as behind your Flutter UI while its
12
+         running.
13
+
14
+         This Theme is only used starting with V2 of Flutter's Android embedding. -->
15
+    <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
16
+        <item name="android:windowBackground">?android:colorBackground</item>
17
+    </style>
18
+</resources>

+ 18
- 0
android/app/src/main/res/values/styles.xml 查看文件

@@ -0,0 +1,18 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<resources>
3
+    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
4
+    <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
5
+        <!-- Show a splash screen on the activity. Automatically removed when
6
+             the Flutter engine draws its first frame -->
7
+        <item name="android:windowBackground">@drawable/launch_background</item>
8
+    </style>
9
+    <!-- Theme applied to the Android Window as soon as the process has started.
10
+         This theme determines the color of the Android Window while your
11
+         Flutter UI initializes, as well as behind your Flutter UI while its
12
+         running.
13
+
14
+         This Theme is only used starting with V2 of Flutter's Android embedding. -->
15
+    <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
16
+        <item name="android:windowBackground">?android:colorBackground</item>
17
+    </style>
18
+</resources>

+ 7
- 0
android/app/src/profile/AndroidManifest.xml 查看文件

@@ -0,0 +1,7 @@
1
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+    <!-- The INTERNET permission is required for development. Specifically,
3
+         the Flutter tool needs it to communicate with the running application
4
+         to allow setting breakpoints, to provide hot reload, etc.
5
+    -->
6
+    <uses-permission android:name="android.permission.INTERNET"/>
7
+</manifest>

+ 18
- 0
android/build.gradle 查看文件

@@ -0,0 +1,18 @@
1
+allprojects {
2
+    repositories {
3
+        google()
4
+        mavenCentral()
5
+    }
6
+}
7
+
8
+rootProject.buildDir = "../build"
9
+subprojects {
10
+    project.buildDir = "${rootProject.buildDir}/${project.name}"
11
+}
12
+subprojects {
13
+    project.evaluationDependsOn(":app")
14
+}
15
+
16
+tasks.register("clean", Delete) {
17
+    delete rootProject.buildDir
18
+}

+ 3
- 0
android/gradle.properties 查看文件

@@ -0,0 +1,3 @@
1
+org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
2
+android.useAndroidX=true
3
+android.enableJetifier=true

+ 5
- 0
android/gradle/wrapper/gradle-wrapper.properties 查看文件

@@ -0,0 +1,5 @@
1
+distributionBase=GRADLE_USER_HOME
2
+distributionPath=wrapper/dists
3
+zipStoreBase=GRADLE_USER_HOME
4
+zipStorePath=wrapper/dists
5
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip

+ 25
- 0
android/settings.gradle 查看文件

@@ -0,0 +1,25 @@
1
+pluginManagement {
2
+    def flutterSdkPath = {
3
+        def properties = new Properties()
4
+        file("local.properties").withInputStream { properties.load(it) }
5
+        def flutterSdkPath = properties.getProperty("flutter.sdk")
6
+        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7
+        return flutterSdkPath
8
+    }()
9
+
10
+    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
11
+
12
+    repositories {
13
+        google()
14
+        mavenCentral()
15
+        gradlePluginPortal()
16
+    }
17
+}
18
+
19
+plugins {
20
+    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21
+    id "com.android.application" version "8.1.0" apply false
22
+    id "org.jetbrains.kotlin.android" version "1.8.22" apply false
23
+}
24
+
25
+include ":app"

二進制
assets/header_image.png 查看文件


二進制
assets/icons/icono1.jpg 查看文件


二進制
assets/icons/icono10.jpg 查看文件


二進制
assets/icons/icono11.jpg 查看文件


二進制
assets/icons/icono12.jpg 查看文件


二進制
assets/icons/icono13.jpg 查看文件


二進制
assets/icons/icono14.jpg 查看文件


二進制
assets/icons/icono15.jpg 查看文件


二進制
assets/icons/icono2.jpg 查看文件


二進制
assets/icons/icono3.jpg 查看文件


二進制
assets/icons/icono4.jpg 查看文件


二進制
assets/icons/icono5.jpg 查看文件


二進制
assets/icons/icono6.jpg 查看文件


二進制
assets/icons/icono7.jpg 查看文件


二進制
assets/icons/icono8.jpg 查看文件


二進制
assets/icons/icono9.jpg 查看文件


+ 3
- 0
devtools_options.yaml 查看文件

@@ -0,0 +1,3 @@
1
+description: This file stores settings for Dart & Flutter DevTools.
2
+documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
3
+extensions:

+ 34
- 0
ios/.gitignore 查看文件

@@ -0,0 +1,34 @@
1
+**/dgph
2
+*.mode1v3
3
+*.mode2v3
4
+*.moved-aside
5
+*.pbxuser
6
+*.perspectivev3
7
+**/*sync/
8
+.sconsign.dblite
9
+.tags*
10
+**/.vagrant/
11
+**/DerivedData/
12
+Icon?
13
+**/Pods/
14
+**/.symlinks/
15
+profile
16
+xcuserdata
17
+**/.generated/
18
+Flutter/App.framework
19
+Flutter/Flutter.framework
20
+Flutter/Flutter.podspec
21
+Flutter/Generated.xcconfig
22
+Flutter/ephemeral/
23
+Flutter/app.flx
24
+Flutter/app.zip
25
+Flutter/flutter_assets/
26
+Flutter/flutter_export_environment.sh
27
+ServiceDefinitions.json
28
+Runner/GeneratedPluginRegistrant.*
29
+
30
+# Exceptions to above rules.
31
+!default.mode1v3
32
+!default.mode2v3
33
+!default.pbxuser
34
+!default.perspectivev3

+ 26
- 0
ios/Flutter/AppFrameworkInfo.plist 查看文件

@@ -0,0 +1,26 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+  <key>CFBundleDevelopmentRegion</key>
6
+  <string>en</string>
7
+  <key>CFBundleExecutable</key>
8
+  <string>App</string>
9
+  <key>CFBundleIdentifier</key>
10
+  <string>io.flutter.flutter.app</string>
11
+  <key>CFBundleInfoDictionaryVersion</key>
12
+  <string>6.0</string>
13
+  <key>CFBundleName</key>
14
+  <string>App</string>
15
+  <key>CFBundlePackageType</key>
16
+  <string>FMWK</string>
17
+  <key>CFBundleShortVersionString</key>
18
+  <string>1.0</string>
19
+  <key>CFBundleSignature</key>
20
+  <string>????</string>
21
+  <key>CFBundleVersion</key>
22
+  <string>1.0</string>
23
+  <key>MinimumOSVersion</key>
24
+  <string>12.0</string>
25
+</dict>
26
+</plist>

+ 2
- 0
ios/Flutter/Debug.xcconfig 查看文件

@@ -0,0 +1,2 @@
1
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2
+#include "Generated.xcconfig"

+ 2
- 0
ios/Flutter/Release.xcconfig 查看文件

@@ -0,0 +1,2 @@
1
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2
+#include "Generated.xcconfig"

+ 44
- 0
ios/Podfile 查看文件

@@ -0,0 +1,44 @@
1
+# Uncomment this line to define a global platform for your project
2
+# platform :ios, '12.0'
3
+
4
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6
+
7
+project 'Runner', {
8
+  'Debug' => :debug,
9
+  'Profile' => :release,
10
+  'Release' => :release,
11
+}
12
+
13
+def flutter_root
14
+  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15
+  unless File.exist?(generated_xcode_build_settings_path)
16
+    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17
+  end
18
+
19
+  File.foreach(generated_xcode_build_settings_path) do |line|
20
+    matches = line.match(/FLUTTER_ROOT\=(.*)/)
21
+    return matches[1].strip if matches
22
+  end
23
+  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24
+end
25
+
26
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27
+
28
+flutter_ios_podfile_setup
29
+
30
+target 'Runner' do
31
+  use_frameworks!
32
+  use_modular_headers!
33
+
34
+  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35
+  target 'RunnerTests' do
36
+    inherit! :search_paths
37
+  end
38
+end
39
+
40
+post_install do |installer|
41
+  installer.pods_project.targets.each do |target|
42
+    flutter_additional_ios_build_settings(target)
43
+  end
44
+end

+ 23
- 0
ios/Podfile.lock 查看文件

@@ -0,0 +1,23 @@
1
+PODS:
2
+  - Flutter (1.0.0)
3
+  - shared_preferences_foundation (0.0.1):
4
+    - Flutter
5
+    - FlutterMacOS
6
+
7
+DEPENDENCIES:
8
+  - Flutter (from `Flutter`)
9
+  - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
10
+
11
+EXTERNAL SOURCES:
12
+  Flutter:
13
+    :path: Flutter
14
+  shared_preferences_foundation:
15
+    :path: ".symlinks/plugins/shared_preferences_foundation/darwin"
16
+
17
+SPEC CHECKSUMS:
18
+  Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
19
+  shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
20
+
21
+PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796
22
+
23
+COCOAPODS: 1.16.2

+ 731
- 0
ios/Runner.xcodeproj/project.pbxproj 查看文件

@@ -0,0 +1,731 @@
1
+// !$*UTF8*$!
2
+{
3
+	archiveVersion = 1;
4
+	classes = {
5
+	};
6
+	objectVersion = 54;
7
+	objects = {
8
+
9
+/* Begin PBXBuildFile section */
10
+		148BDFA810970183CF00AD57 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D00A0839C2CCCCA94DF3A32D /* Pods_Runner.framework */; };
11
+		1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
12
+		331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
13
+		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
14
+		74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
15
+		97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
16
+		97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
17
+		97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
18
+		FFF96F40167A9C166DDF5DC0 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007CF31439349905936A3A49 /* Pods_RunnerTests.framework */; };
19
+/* End PBXBuildFile section */
20
+
21
+/* Begin PBXContainerItemProxy section */
22
+		331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
23
+			isa = PBXContainerItemProxy;
24
+			containerPortal = 97C146E61CF9000F007C117D /* Project object */;
25
+			proxyType = 1;
26
+			remoteGlobalIDString = 97C146ED1CF9000F007C117D;
27
+			remoteInfo = Runner;
28
+		};
29
+/* End PBXContainerItemProxy section */
30
+
31
+/* Begin PBXCopyFilesBuildPhase section */
32
+		9705A1C41CF9048500538489 /* Embed Frameworks */ = {
33
+			isa = PBXCopyFilesBuildPhase;
34
+			buildActionMask = 2147483647;
35
+			dstPath = "";
36
+			dstSubfolderSpec = 10;
37
+			files = (
38
+			);
39
+			name = "Embed Frameworks";
40
+			runOnlyForDeploymentPostprocessing = 0;
41
+		};
42
+/* End PBXCopyFilesBuildPhase section */
43
+
44
+/* Begin PBXFileReference section */
45
+		007CF31439349905936A3A49 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
46
+		0DE583A0CAECA2A61F11D698 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
47
+		13A947C2CFAE604D123DA2FC /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
48
+		1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
49
+		1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
50
+		16E1895EB91CB3E96A22772C /* 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 = "<group>"; };
51
+		331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
52
+		331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
53
+		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
54
+		4A2EE2D6A9474205D4B22D1C /* 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 = "<group>"; };
55
+		66A9FD393AC28FF4AE7CED26 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
56
+		74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
57
+		74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
58
+		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
59
+		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
60
+		9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
61
+		97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
62
+		97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
63
+		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
64
+		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
65
+		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
66
+		B8699190E6F92878D687100A /* 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 = "<group>"; };
67
+		D00A0839C2CCCCA94DF3A32D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
68
+/* End PBXFileReference section */
69
+
70
+/* Begin PBXFrameworksBuildPhase section */
71
+		7F9368E208B72998C5424506 /* Frameworks */ = {
72
+			isa = PBXFrameworksBuildPhase;
73
+			buildActionMask = 2147483647;
74
+			files = (
75
+				FFF96F40167A9C166DDF5DC0 /* Pods_RunnerTests.framework in Frameworks */,
76
+			);
77
+			runOnlyForDeploymentPostprocessing = 0;
78
+		};
79
+		97C146EB1CF9000F007C117D /* Frameworks */ = {
80
+			isa = PBXFrameworksBuildPhase;
81
+			buildActionMask = 2147483647;
82
+			files = (
83
+				148BDFA810970183CF00AD57 /* Pods_Runner.framework in Frameworks */,
84
+			);
85
+			runOnlyForDeploymentPostprocessing = 0;
86
+		};
87
+/* End PBXFrameworksBuildPhase section */
88
+
89
+/* Begin PBXGroup section */
90
+		1455A0EA3FFF3E1E20560657 /* Pods */ = {
91
+			isa = PBXGroup;
92
+			children = (
93
+				16E1895EB91CB3E96A22772C /* Pods-Runner.debug.xcconfig */,
94
+				B8699190E6F92878D687100A /* Pods-Runner.release.xcconfig */,
95
+				4A2EE2D6A9474205D4B22D1C /* Pods-Runner.profile.xcconfig */,
96
+				13A947C2CFAE604D123DA2FC /* Pods-RunnerTests.debug.xcconfig */,
97
+				66A9FD393AC28FF4AE7CED26 /* Pods-RunnerTests.release.xcconfig */,
98
+				0DE583A0CAECA2A61F11D698 /* Pods-RunnerTests.profile.xcconfig */,
99
+			);
100
+			name = Pods;
101
+			path = Pods;
102
+			sourceTree = "<group>";
103
+		};
104
+		2206B5BFC903DD8BB28D647B /* Frameworks */ = {
105
+			isa = PBXGroup;
106
+			children = (
107
+				D00A0839C2CCCCA94DF3A32D /* Pods_Runner.framework */,
108
+				007CF31439349905936A3A49 /* Pods_RunnerTests.framework */,
109
+			);
110
+			name = Frameworks;
111
+			sourceTree = "<group>";
112
+		};
113
+		331C8082294A63A400263BE5 /* RunnerTests */ = {
114
+			isa = PBXGroup;
115
+			children = (
116
+				331C807B294A618700263BE5 /* RunnerTests.swift */,
117
+			);
118
+			path = RunnerTests;
119
+			sourceTree = "<group>";
120
+		};
121
+		9740EEB11CF90186004384FC /* Flutter */ = {
122
+			isa = PBXGroup;
123
+			children = (
124
+				3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
125
+				9740EEB21CF90195004384FC /* Debug.xcconfig */,
126
+				7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
127
+				9740EEB31CF90195004384FC /* Generated.xcconfig */,
128
+			);
129
+			name = Flutter;
130
+			sourceTree = "<group>";
131
+		};
132
+		97C146E51CF9000F007C117D = {
133
+			isa = PBXGroup;
134
+			children = (
135
+				9740EEB11CF90186004384FC /* Flutter */,
136
+				97C146F01CF9000F007C117D /* Runner */,
137
+				97C146EF1CF9000F007C117D /* Products */,
138
+				331C8082294A63A400263BE5 /* RunnerTests */,
139
+				1455A0EA3FFF3E1E20560657 /* Pods */,
140
+				2206B5BFC903DD8BB28D647B /* Frameworks */,
141
+			);
142
+			sourceTree = "<group>";
143
+		};
144
+		97C146EF1CF9000F007C117D /* Products */ = {
145
+			isa = PBXGroup;
146
+			children = (
147
+				97C146EE1CF9000F007C117D /* Runner.app */,
148
+				331C8081294A63A400263BE5 /* RunnerTests.xctest */,
149
+			);
150
+			name = Products;
151
+			sourceTree = "<group>";
152
+		};
153
+		97C146F01CF9000F007C117D /* Runner */ = {
154
+			isa = PBXGroup;
155
+			children = (
156
+				97C146FA1CF9000F007C117D /* Main.storyboard */,
157
+				97C146FD1CF9000F007C117D /* Assets.xcassets */,
158
+				97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
159
+				97C147021CF9000F007C117D /* Info.plist */,
160
+				1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
161
+				1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
162
+				74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
163
+				74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
164
+			);
165
+			path = Runner;
166
+			sourceTree = "<group>";
167
+		};
168
+/* End PBXGroup section */
169
+
170
+/* Begin PBXNativeTarget section */
171
+		331C8080294A63A400263BE5 /* RunnerTests */ = {
172
+			isa = PBXNativeTarget;
173
+			buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
174
+			buildPhases = (
175
+				8EB0841E31C513EB533FFD9A /* [CP] Check Pods Manifest.lock */,
176
+				331C807D294A63A400263BE5 /* Sources */,
177
+				331C807F294A63A400263BE5 /* Resources */,
178
+				7F9368E208B72998C5424506 /* Frameworks */,
179
+			);
180
+			buildRules = (
181
+			);
182
+			dependencies = (
183
+				331C8086294A63A400263BE5 /* PBXTargetDependency */,
184
+			);
185
+			name = RunnerTests;
186
+			productName = RunnerTests;
187
+			productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
188
+			productType = "com.apple.product-type.bundle.unit-test";
189
+		};
190
+		97C146ED1CF9000F007C117D /* Runner */ = {
191
+			isa = PBXNativeTarget;
192
+			buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
193
+			buildPhases = (
194
+				C234D59E0DE86D80B02D7AB7 /* [CP] Check Pods Manifest.lock */,
195
+				9740EEB61CF901F6004384FC /* Run Script */,
196
+				97C146EA1CF9000F007C117D /* Sources */,
197
+				97C146EB1CF9000F007C117D /* Frameworks */,
198
+				97C146EC1CF9000F007C117D /* Resources */,
199
+				9705A1C41CF9048500538489 /* Embed Frameworks */,
200
+				3B06AD1E1E4923F5004D2608 /* Thin Binary */,
201
+				79CCB95A8ECACE29EC7FB50D /* [CP] Embed Pods Frameworks */,
202
+			);
203
+			buildRules = (
204
+			);
205
+			dependencies = (
206
+			);
207
+			name = Runner;
208
+			productName = Runner;
209
+			productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
210
+			productType = "com.apple.product-type.application";
211
+		};
212
+/* End PBXNativeTarget section */
213
+
214
+/* Begin PBXProject section */
215
+		97C146E61CF9000F007C117D /* Project object */ = {
216
+			isa = PBXProject;
217
+			attributes = {
218
+				BuildIndependentTargetsInParallel = YES;
219
+				LastUpgradeCheck = 1510;
220
+				ORGANIZATIONNAME = "";
221
+				TargetAttributes = {
222
+					331C8080294A63A400263BE5 = {
223
+						CreatedOnToolsVersion = 14.0;
224
+						TestTargetID = 97C146ED1CF9000F007C117D;
225
+					};
226
+					97C146ED1CF9000F007C117D = {
227
+						CreatedOnToolsVersion = 7.3.1;
228
+						LastSwiftMigration = 1100;
229
+					};
230
+				};
231
+			};
232
+			buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
233
+			compatibilityVersion = "Xcode 9.3";
234
+			developmentRegion = en;
235
+			hasScannedForEncodings = 0;
236
+			knownRegions = (
237
+				en,
238
+				Base,
239
+			);
240
+			mainGroup = 97C146E51CF9000F007C117D;
241
+			productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
242
+			projectDirPath = "";
243
+			projectRoot = "";
244
+			targets = (
245
+				97C146ED1CF9000F007C117D /* Runner */,
246
+				331C8080294A63A400263BE5 /* RunnerTests */,
247
+			);
248
+		};
249
+/* End PBXProject section */
250
+
251
+/* Begin PBXResourcesBuildPhase section */
252
+		331C807F294A63A400263BE5 /* Resources */ = {
253
+			isa = PBXResourcesBuildPhase;
254
+			buildActionMask = 2147483647;
255
+			files = (
256
+			);
257
+			runOnlyForDeploymentPostprocessing = 0;
258
+		};
259
+		97C146EC1CF9000F007C117D /* Resources */ = {
260
+			isa = PBXResourcesBuildPhase;
261
+			buildActionMask = 2147483647;
262
+			files = (
263
+				97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
264
+				3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
265
+				97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
266
+				97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
267
+			);
268
+			runOnlyForDeploymentPostprocessing = 0;
269
+		};
270
+/* End PBXResourcesBuildPhase section */
271
+
272
+/* Begin PBXShellScriptBuildPhase section */
273
+		3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
274
+			isa = PBXShellScriptBuildPhase;
275
+			alwaysOutOfDate = 1;
276
+			buildActionMask = 2147483647;
277
+			files = (
278
+			);
279
+			inputPaths = (
280
+				"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
281
+			);
282
+			name = "Thin Binary";
283
+			outputPaths = (
284
+			);
285
+			runOnlyForDeploymentPostprocessing = 0;
286
+			shellPath = /bin/sh;
287
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
288
+		};
289
+		79CCB95A8ECACE29EC7FB50D /* [CP] Embed Pods Frameworks */ = {
290
+			isa = PBXShellScriptBuildPhase;
291
+			buildActionMask = 2147483647;
292
+			files = (
293
+			);
294
+			inputFileListPaths = (
295
+				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
296
+			);
297
+			name = "[CP] Embed Pods Frameworks";
298
+			outputFileListPaths = (
299
+				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
300
+			);
301
+			runOnlyForDeploymentPostprocessing = 0;
302
+			shellPath = /bin/sh;
303
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
304
+			showEnvVarsInLog = 0;
305
+		};
306
+		8EB0841E31C513EB533FFD9A /* [CP] Check Pods Manifest.lock */ = {
307
+			isa = PBXShellScriptBuildPhase;
308
+			buildActionMask = 2147483647;
309
+			files = (
310
+			);
311
+			inputFileListPaths = (
312
+			);
313
+			inputPaths = (
314
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
315
+				"${PODS_ROOT}/Manifest.lock",
316
+			);
317
+			name = "[CP] Check Pods Manifest.lock";
318
+			outputFileListPaths = (
319
+			);
320
+			outputPaths = (
321
+				"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
322
+			);
323
+			runOnlyForDeploymentPostprocessing = 0;
324
+			shellPath = /bin/sh;
325
+			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";
326
+			showEnvVarsInLog = 0;
327
+		};
328
+		9740EEB61CF901F6004384FC /* Run Script */ = {
329
+			isa = PBXShellScriptBuildPhase;
330
+			alwaysOutOfDate = 1;
331
+			buildActionMask = 2147483647;
332
+			files = (
333
+			);
334
+			inputPaths = (
335
+			);
336
+			name = "Run Script";
337
+			outputPaths = (
338
+			);
339
+			runOnlyForDeploymentPostprocessing = 0;
340
+			shellPath = /bin/sh;
341
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
342
+		};
343
+		C234D59E0DE86D80B02D7AB7 /* [CP] Check Pods Manifest.lock */ = {
344
+			isa = PBXShellScriptBuildPhase;
345
+			buildActionMask = 2147483647;
346
+			files = (
347
+			);
348
+			inputFileListPaths = (
349
+			);
350
+			inputPaths = (
351
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
352
+				"${PODS_ROOT}/Manifest.lock",
353
+			);
354
+			name = "[CP] Check Pods Manifest.lock";
355
+			outputFileListPaths = (
356
+			);
357
+			outputPaths = (
358
+				"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
359
+			);
360
+			runOnlyForDeploymentPostprocessing = 0;
361
+			shellPath = /bin/sh;
362
+			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";
363
+			showEnvVarsInLog = 0;
364
+		};
365
+/* End PBXShellScriptBuildPhase section */
366
+
367
+/* Begin PBXSourcesBuildPhase section */
368
+		331C807D294A63A400263BE5 /* Sources */ = {
369
+			isa = PBXSourcesBuildPhase;
370
+			buildActionMask = 2147483647;
371
+			files = (
372
+				331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
373
+			);
374
+			runOnlyForDeploymentPostprocessing = 0;
375
+		};
376
+		97C146EA1CF9000F007C117D /* Sources */ = {
377
+			isa = PBXSourcesBuildPhase;
378
+			buildActionMask = 2147483647;
379
+			files = (
380
+				74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
381
+				1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
382
+			);
383
+			runOnlyForDeploymentPostprocessing = 0;
384
+		};
385
+/* End PBXSourcesBuildPhase section */
386
+
387
+/* Begin PBXTargetDependency section */
388
+		331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
389
+			isa = PBXTargetDependency;
390
+			target = 97C146ED1CF9000F007C117D /* Runner */;
391
+			targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
392
+		};
393
+/* End PBXTargetDependency section */
394
+
395
+/* Begin PBXVariantGroup section */
396
+		97C146FA1CF9000F007C117D /* Main.storyboard */ = {
397
+			isa = PBXVariantGroup;
398
+			children = (
399
+				97C146FB1CF9000F007C117D /* Base */,
400
+			);
401
+			name = Main.storyboard;
402
+			sourceTree = "<group>";
403
+		};
404
+		97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
405
+			isa = PBXVariantGroup;
406
+			children = (
407
+				97C147001CF9000F007C117D /* Base */,
408
+			);
409
+			name = LaunchScreen.storyboard;
410
+			sourceTree = "<group>";
411
+		};
412
+/* End PBXVariantGroup section */
413
+
414
+/* Begin XCBuildConfiguration section */
415
+		249021D3217E4FDB00AE95B9 /* Profile */ = {
416
+			isa = XCBuildConfiguration;
417
+			buildSettings = {
418
+				ALWAYS_SEARCH_USER_PATHS = NO;
419
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
420
+				CLANG_ANALYZER_NONNULL = YES;
421
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
422
+				CLANG_CXX_LIBRARY = "libc++";
423
+				CLANG_ENABLE_MODULES = YES;
424
+				CLANG_ENABLE_OBJC_ARC = YES;
425
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
426
+				CLANG_WARN_BOOL_CONVERSION = YES;
427
+				CLANG_WARN_COMMA = YES;
428
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
429
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
430
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
431
+				CLANG_WARN_EMPTY_BODY = YES;
432
+				CLANG_WARN_ENUM_CONVERSION = YES;
433
+				CLANG_WARN_INFINITE_RECURSION = YES;
434
+				CLANG_WARN_INT_CONVERSION = YES;
435
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
436
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
437
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
438
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
439
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
440
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
441
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
442
+				CLANG_WARN_UNREACHABLE_CODE = YES;
443
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
444
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
445
+				COPY_PHASE_STRIP = NO;
446
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
447
+				ENABLE_NS_ASSERTIONS = NO;
448
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
449
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
450
+				GCC_C_LANGUAGE_STANDARD = gnu99;
451
+				GCC_NO_COMMON_BLOCKS = YES;
452
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
453
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
454
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
455
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
456
+				GCC_WARN_UNUSED_FUNCTION = YES;
457
+				GCC_WARN_UNUSED_VARIABLE = YES;
458
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
459
+				MTL_ENABLE_DEBUG_INFO = NO;
460
+				SDKROOT = iphoneos;
461
+				SUPPORTED_PLATFORMS = iphoneos;
462
+				TARGETED_DEVICE_FAMILY = "1,2";
463
+				VALIDATE_PRODUCT = YES;
464
+			};
465
+			name = Profile;
466
+		};
467
+		249021D4217E4FDB00AE95B9 /* Profile */ = {
468
+			isa = XCBuildConfiguration;
469
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
470
+			buildSettings = {
471
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
472
+				CLANG_ENABLE_MODULES = YES;
473
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
474
+				DEVELOPMENT_TEAM = 44GX6RVC5R;
475
+				ENABLE_BITCODE = NO;
476
+				INFOPLIST_FILE = Runner/Info.plist;
477
+				LD_RUNPATH_SEARCH_PATHS = (
478
+					"$(inherited)",
479
+					"@executable_path/Frameworks",
480
+				);
481
+				PRODUCT_BUNDLE_IDENTIFIER = edu.uprrp.siempreInformao;
482
+				PRODUCT_NAME = "$(TARGET_NAME)";
483
+				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
484
+				SWIFT_VERSION = 5.0;
485
+				VERSIONING_SYSTEM = "apple-generic";
486
+			};
487
+			name = Profile;
488
+		};
489
+		331C8088294A63A400263BE5 /* Debug */ = {
490
+			isa = XCBuildConfiguration;
491
+			baseConfigurationReference = 13A947C2CFAE604D123DA2FC /* Pods-RunnerTests.debug.xcconfig */;
492
+			buildSettings = {
493
+				BUNDLE_LOADER = "$(TEST_HOST)";
494
+				CODE_SIGN_STYLE = Automatic;
495
+				CURRENT_PROJECT_VERSION = 1;
496
+				GENERATE_INFOPLIST_FILE = YES;
497
+				MARKETING_VERSION = 1.0;
498
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.siempreInformao.RunnerTests;
499
+				PRODUCT_NAME = "$(TARGET_NAME)";
500
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
501
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
502
+				SWIFT_VERSION = 5.0;
503
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
504
+			};
505
+			name = Debug;
506
+		};
507
+		331C8089294A63A400263BE5 /* Release */ = {
508
+			isa = XCBuildConfiguration;
509
+			baseConfigurationReference = 66A9FD393AC28FF4AE7CED26 /* Pods-RunnerTests.release.xcconfig */;
510
+			buildSettings = {
511
+				BUNDLE_LOADER = "$(TEST_HOST)";
512
+				CODE_SIGN_STYLE = Automatic;
513
+				CURRENT_PROJECT_VERSION = 1;
514
+				GENERATE_INFOPLIST_FILE = YES;
515
+				MARKETING_VERSION = 1.0;
516
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.siempreInformao.RunnerTests;
517
+				PRODUCT_NAME = "$(TARGET_NAME)";
518
+				SWIFT_VERSION = 5.0;
519
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
520
+			};
521
+			name = Release;
522
+		};
523
+		331C808A294A63A400263BE5 /* Profile */ = {
524
+			isa = XCBuildConfiguration;
525
+			baseConfigurationReference = 0DE583A0CAECA2A61F11D698 /* Pods-RunnerTests.profile.xcconfig */;
526
+			buildSettings = {
527
+				BUNDLE_LOADER = "$(TEST_HOST)";
528
+				CODE_SIGN_STYLE = Automatic;
529
+				CURRENT_PROJECT_VERSION = 1;
530
+				GENERATE_INFOPLIST_FILE = YES;
531
+				MARKETING_VERSION = 1.0;
532
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.siempreInformao.RunnerTests;
533
+				PRODUCT_NAME = "$(TARGET_NAME)";
534
+				SWIFT_VERSION = 5.0;
535
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
536
+			};
537
+			name = Profile;
538
+		};
539
+		97C147031CF9000F007C117D /* Debug */ = {
540
+			isa = XCBuildConfiguration;
541
+			buildSettings = {
542
+				ALWAYS_SEARCH_USER_PATHS = NO;
543
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
544
+				CLANG_ANALYZER_NONNULL = YES;
545
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
546
+				CLANG_CXX_LIBRARY = "libc++";
547
+				CLANG_ENABLE_MODULES = YES;
548
+				CLANG_ENABLE_OBJC_ARC = YES;
549
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
550
+				CLANG_WARN_BOOL_CONVERSION = YES;
551
+				CLANG_WARN_COMMA = YES;
552
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
553
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
554
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
555
+				CLANG_WARN_EMPTY_BODY = YES;
556
+				CLANG_WARN_ENUM_CONVERSION = YES;
557
+				CLANG_WARN_INFINITE_RECURSION = YES;
558
+				CLANG_WARN_INT_CONVERSION = YES;
559
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
560
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
561
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
562
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
563
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
564
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
565
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
566
+				CLANG_WARN_UNREACHABLE_CODE = YES;
567
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
568
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
569
+				COPY_PHASE_STRIP = NO;
570
+				DEBUG_INFORMATION_FORMAT = dwarf;
571
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
572
+				ENABLE_TESTABILITY = YES;
573
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
574
+				GCC_C_LANGUAGE_STANDARD = gnu99;
575
+				GCC_DYNAMIC_NO_PIC = NO;
576
+				GCC_NO_COMMON_BLOCKS = YES;
577
+				GCC_OPTIMIZATION_LEVEL = 0;
578
+				GCC_PREPROCESSOR_DEFINITIONS = (
579
+					"DEBUG=1",
580
+					"$(inherited)",
581
+				);
582
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
583
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
584
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
585
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
586
+				GCC_WARN_UNUSED_FUNCTION = YES;
587
+				GCC_WARN_UNUSED_VARIABLE = YES;
588
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
589
+				MTL_ENABLE_DEBUG_INFO = YES;
590
+				ONLY_ACTIVE_ARCH = YES;
591
+				SDKROOT = iphoneos;
592
+				TARGETED_DEVICE_FAMILY = "1,2";
593
+			};
594
+			name = Debug;
595
+		};
596
+		97C147041CF9000F007C117D /* Release */ = {
597
+			isa = XCBuildConfiguration;
598
+			buildSettings = {
599
+				ALWAYS_SEARCH_USER_PATHS = NO;
600
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
601
+				CLANG_ANALYZER_NONNULL = YES;
602
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
603
+				CLANG_CXX_LIBRARY = "libc++";
604
+				CLANG_ENABLE_MODULES = YES;
605
+				CLANG_ENABLE_OBJC_ARC = YES;
606
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
607
+				CLANG_WARN_BOOL_CONVERSION = YES;
608
+				CLANG_WARN_COMMA = YES;
609
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
610
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
611
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
612
+				CLANG_WARN_EMPTY_BODY = YES;
613
+				CLANG_WARN_ENUM_CONVERSION = YES;
614
+				CLANG_WARN_INFINITE_RECURSION = YES;
615
+				CLANG_WARN_INT_CONVERSION = YES;
616
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
617
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
618
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
619
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
620
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
621
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
622
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
623
+				CLANG_WARN_UNREACHABLE_CODE = YES;
624
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
625
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
626
+				COPY_PHASE_STRIP = NO;
627
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
628
+				ENABLE_NS_ASSERTIONS = NO;
629
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
630
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
631
+				GCC_C_LANGUAGE_STANDARD = gnu99;
632
+				GCC_NO_COMMON_BLOCKS = YES;
633
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
634
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
635
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
636
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
637
+				GCC_WARN_UNUSED_FUNCTION = YES;
638
+				GCC_WARN_UNUSED_VARIABLE = YES;
639
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
640
+				MTL_ENABLE_DEBUG_INFO = NO;
641
+				SDKROOT = iphoneos;
642
+				SUPPORTED_PLATFORMS = iphoneos;
643
+				SWIFT_COMPILATION_MODE = wholemodule;
644
+				SWIFT_OPTIMIZATION_LEVEL = "-O";
645
+				TARGETED_DEVICE_FAMILY = "1,2";
646
+				VALIDATE_PRODUCT = YES;
647
+			};
648
+			name = Release;
649
+		};
650
+		97C147061CF9000F007C117D /* Debug */ = {
651
+			isa = XCBuildConfiguration;
652
+			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
653
+			buildSettings = {
654
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
655
+				CLANG_ENABLE_MODULES = YES;
656
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
657
+				DEVELOPMENT_TEAM = 44GX6RVC5R;
658
+				ENABLE_BITCODE = NO;
659
+				INFOPLIST_FILE = Runner/Info.plist;
660
+				LD_RUNPATH_SEARCH_PATHS = (
661
+					"$(inherited)",
662
+					"@executable_path/Frameworks",
663
+				);
664
+				PRODUCT_BUNDLE_IDENTIFIER = edu.uprrp.siempreInformao;
665
+				PRODUCT_NAME = "$(TARGET_NAME)";
666
+				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
667
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
668
+				SWIFT_VERSION = 5.0;
669
+				VERSIONING_SYSTEM = "apple-generic";
670
+			};
671
+			name = Debug;
672
+		};
673
+		97C147071CF9000F007C117D /* Release */ = {
674
+			isa = XCBuildConfiguration;
675
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
676
+			buildSettings = {
677
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
678
+				CLANG_ENABLE_MODULES = YES;
679
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
680
+				DEVELOPMENT_TEAM = 44GX6RVC5R;
681
+				ENABLE_BITCODE = NO;
682
+				INFOPLIST_FILE = Runner/Info.plist;
683
+				LD_RUNPATH_SEARCH_PATHS = (
684
+					"$(inherited)",
685
+					"@executable_path/Frameworks",
686
+				);
687
+				PRODUCT_BUNDLE_IDENTIFIER = edu.uprrp.siempreInformao;
688
+				PRODUCT_NAME = "$(TARGET_NAME)";
689
+				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
690
+				SWIFT_VERSION = 5.0;
691
+				VERSIONING_SYSTEM = "apple-generic";
692
+			};
693
+			name = Release;
694
+		};
695
+/* End XCBuildConfiguration section */
696
+
697
+/* Begin XCConfigurationList section */
698
+		331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
699
+			isa = XCConfigurationList;
700
+			buildConfigurations = (
701
+				331C8088294A63A400263BE5 /* Debug */,
702
+				331C8089294A63A400263BE5 /* Release */,
703
+				331C808A294A63A400263BE5 /* Profile */,
704
+			);
705
+			defaultConfigurationIsVisible = 0;
706
+			defaultConfigurationName = Release;
707
+		};
708
+		97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
709
+			isa = XCConfigurationList;
710
+			buildConfigurations = (
711
+				97C147031CF9000F007C117D /* Debug */,
712
+				97C147041CF9000F007C117D /* Release */,
713
+				249021D3217E4FDB00AE95B9 /* Profile */,
714
+			);
715
+			defaultConfigurationIsVisible = 0;
716
+			defaultConfigurationName = Release;
717
+		};
718
+		97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
719
+			isa = XCConfigurationList;
720
+			buildConfigurations = (
721
+				97C147061CF9000F007C117D /* Debug */,
722
+				97C147071CF9000F007C117D /* Release */,
723
+				249021D4217E4FDB00AE95B9 /* Profile */,
724
+			);
725
+			defaultConfigurationIsVisible = 0;
726
+			defaultConfigurationName = Release;
727
+		};
728
+/* End XCConfigurationList section */
729
+	};
730
+	rootObject = 97C146E61CF9000F007C117D /* Project object */;
731
+}

+ 7
- 0
ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata 查看文件

@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Workspace
3
+   version = "1.0">
4
+   <FileRef
5
+      location = "self:">
6
+   </FileRef>
7
+</Workspace>

+ 8
- 0
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 查看文件

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>IDEDidComputeMac32BitWarning</key>
6
+	<true/>
7
+</dict>
8
+</plist>

+ 8
- 0
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings 查看文件

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>PreviewsEnabled</key>
6
+	<false/>
7
+</dict>
8
+</plist>

+ 99
- 0
ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme 查看文件

@@ -0,0 +1,99 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Scheme
3
+   LastUpgradeVersion = "1510"
4
+   version = "1.3">
5
+   <BuildAction
6
+      parallelizeBuildables = "YES"
7
+      buildImplicitDependencies = "YES">
8
+      <BuildActionEntries>
9
+         <BuildActionEntry
10
+            buildForTesting = "YES"
11
+            buildForRunning = "YES"
12
+            buildForProfiling = "YES"
13
+            buildForArchiving = "YES"
14
+            buildForAnalyzing = "YES">
15
+            <BuildableReference
16
+               BuildableIdentifier = "primary"
17
+               BlueprintIdentifier = "97C146ED1CF9000F007C117D"
18
+               BuildableName = "Runner.app"
19
+               BlueprintName = "Runner"
20
+               ReferencedContainer = "container:Runner.xcodeproj">
21
+            </BuildableReference>
22
+         </BuildActionEntry>
23
+      </BuildActionEntries>
24
+   </BuildAction>
25
+   <TestAction
26
+      buildConfiguration = "Debug"
27
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+      shouldUseLaunchSchemeArgsEnv = "YES">
30
+      <MacroExpansion>
31
+         <BuildableReference
32
+            BuildableIdentifier = "primary"
33
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
34
+            BuildableName = "Runner.app"
35
+            BlueprintName = "Runner"
36
+            ReferencedContainer = "container:Runner.xcodeproj">
37
+         </BuildableReference>
38
+      </MacroExpansion>
39
+      <Testables>
40
+         <TestableReference
41
+            skipped = "NO"
42
+            parallelizable = "YES">
43
+            <BuildableReference
44
+               BuildableIdentifier = "primary"
45
+               BlueprintIdentifier = "331C8080294A63A400263BE5"
46
+               BuildableName = "RunnerTests.xctest"
47
+               BlueprintName = "RunnerTests"
48
+               ReferencedContainer = "container:Runner.xcodeproj">
49
+            </BuildableReference>
50
+         </TestableReference>
51
+      </Testables>
52
+   </TestAction>
53
+   <LaunchAction
54
+      buildConfiguration = "Debug"
55
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57
+      launchStyle = "0"
58
+      useCustomWorkingDirectory = "NO"
59
+      ignoresPersistentStateOnLaunch = "NO"
60
+      debugDocumentVersioning = "YES"
61
+      debugServiceExtension = "internal"
62
+      enableGPUValidationMode = "1"
63
+      allowLocationSimulation = "YES">
64
+      <BuildableProductRunnable
65
+         runnableDebuggingMode = "0">
66
+         <BuildableReference
67
+            BuildableIdentifier = "primary"
68
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
69
+            BuildableName = "Runner.app"
70
+            BlueprintName = "Runner"
71
+            ReferencedContainer = "container:Runner.xcodeproj">
72
+         </BuildableReference>
73
+      </BuildableProductRunnable>
74
+   </LaunchAction>
75
+   <ProfileAction
76
+      buildConfiguration = "Profile"
77
+      shouldUseLaunchSchemeArgsEnv = "YES"
78
+      savedToolIdentifier = ""
79
+      useCustomWorkingDirectory = "NO"
80
+      debugDocumentVersioning = "YES">
81
+      <BuildableProductRunnable
82
+         runnableDebuggingMode = "0">
83
+         <BuildableReference
84
+            BuildableIdentifier = "primary"
85
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
86
+            BuildableName = "Runner.app"
87
+            BlueprintName = "Runner"
88
+            ReferencedContainer = "container:Runner.xcodeproj">
89
+         </BuildableReference>
90
+      </BuildableProductRunnable>
91
+   </ProfileAction>
92
+   <AnalyzeAction
93
+      buildConfiguration = "Debug">
94
+   </AnalyzeAction>
95
+   <ArchiveAction
96
+      buildConfiguration = "Release"
97
+      revealArchiveInOrganizer = "YES">
98
+   </ArchiveAction>
99
+</Scheme>

+ 10
- 0
ios/Runner.xcworkspace/contents.xcworkspacedata 查看文件

@@ -0,0 +1,10 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Workspace
3
+   version = "1.0">
4
+   <FileRef
5
+      location = "group:Runner.xcodeproj">
6
+   </FileRef>
7
+   <FileRef
8
+      location = "group:Pods/Pods.xcodeproj">
9
+   </FileRef>
10
+</Workspace>

+ 8
- 0
ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 查看文件

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>IDEDidComputeMac32BitWarning</key>
6
+	<true/>
7
+</dict>
8
+</plist>

+ 8
- 0
ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings 查看文件

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>PreviewsEnabled</key>
6
+	<false/>
7
+</dict>
8
+</plist>

+ 13
- 0
ios/Runner/AppDelegate.swift 查看文件

@@ -0,0 +1,13 @@
1
+import Flutter
2
+import UIKit
3
+
4
+@main
5
+@objc class AppDelegate: FlutterAppDelegate {
6
+  override func application(
7
+    _ application: UIApplication,
8
+    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9
+  ) -> Bool {
10
+    GeneratedPluginRegistrant.register(with: self)
11
+    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12
+  }
13
+}

二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png 查看文件


二進制
ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png 查看文件


+ 1
- 0
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json 查看文件

@@ -0,0 +1 @@
1
+{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"}]}

+ 37
- 0
ios/Runner/Base.lproj/LaunchScreen.storyboard 查看文件

@@ -0,0 +1,37 @@
1
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3
+    <dependencies>
4
+        <deployment identifier="iOS"/>
5
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
6
+    </dependencies>
7
+    <scenes>
8
+        <!--View Controller-->
9
+        <scene sceneID="EHf-IW-A2E">
10
+            <objects>
11
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
12
+                    <layoutGuides>
13
+                        <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
14
+                        <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
15
+                    </layoutGuides>
16
+                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
17
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
18
+                        <subviews>
19
+                            <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
20
+                            </imageView>
21
+                        </subviews>
22
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
23
+                        <constraints>
24
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
25
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
26
+                        </constraints>
27
+                    </view>
28
+                </viewController>
29
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
30
+            </objects>
31
+            <point key="canvasLocation" x="53" y="375"/>
32
+        </scene>
33
+    </scenes>
34
+    <resources>
35
+        <image name="LaunchImage" width="168" height="185"/>
36
+    </resources>
37
+</document>

+ 26
- 0
ios/Runner/Base.lproj/Main.storyboard 查看文件

@@ -0,0 +1,26 @@
1
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
3
+    <dependencies>
4
+        <deployment identifier="iOS"/>
5
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
6
+    </dependencies>
7
+    <scenes>
8
+        <!--Flutter View Controller-->
9
+        <scene sceneID="tne-QT-ifu">
10
+            <objects>
11
+                <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
12
+                    <layoutGuides>
13
+                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
14
+                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
15
+                    </layoutGuides>
16
+                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
17
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
18
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
19
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
20
+                    </view>
21
+                </viewController>
22
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
23
+            </objects>
24
+        </scene>
25
+    </scenes>
26
+</document>

+ 49
- 0
ios/Runner/Info.plist 查看文件

@@ -0,0 +1,49 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>CADisableMinimumFrameDurationOnPhone</key>
6
+	<true/>
7
+	<key>CFBundleDevelopmentRegion</key>
8
+	<string>$(DEVELOPMENT_LANGUAGE)</string>
9
+	<key>CFBundleDisplayName</key>
10
+	<string>Siempre Informao</string>
11
+	<key>CFBundleExecutable</key>
12
+	<string>$(EXECUTABLE_NAME)</string>
13
+	<key>CFBundleIdentifier</key>
14
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
15
+	<key>CFBundleInfoDictionaryVersion</key>
16
+	<string>6.0</string>
17
+	<key>CFBundleName</key>
18
+	<string>siempre_informao</string>
19
+	<key>CFBundlePackageType</key>
20
+	<string>APPL</string>
21
+	<key>CFBundleShortVersionString</key>
22
+	<string>$(FLUTTER_BUILD_NAME)</string>
23
+	<key>CFBundleSignature</key>
24
+	<string>????</string>
25
+	<key>CFBundleVersion</key>
26
+	<string>$(FLUTTER_BUILD_NUMBER)</string>
27
+	<key>LSRequiresIPhoneOS</key>
28
+	<true/>
29
+	<key>UIApplicationSupportsIndirectInputEvents</key>
30
+	<true/>
31
+	<key>UILaunchStoryboardName</key>
32
+	<string>LaunchScreen</string>
33
+	<key>UIMainStoryboardFile</key>
34
+	<string>Main</string>
35
+	<key>UISupportedInterfaceOrientations</key>
36
+	<array>
37
+		<string>UIInterfaceOrientationPortrait</string>
38
+		<string>UIInterfaceOrientationLandscapeLeft</string>
39
+		<string>UIInterfaceOrientationLandscapeRight</string>
40
+	</array>
41
+	<key>UISupportedInterfaceOrientations~ipad</key>
42
+	<array>
43
+		<string>UIInterfaceOrientationPortrait</string>
44
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
45
+		<string>UIInterfaceOrientationLandscapeLeft</string>
46
+		<string>UIInterfaceOrientationLandscapeRight</string>
47
+	</array>
48
+</dict>
49
+</plist>

+ 1
- 0
ios/Runner/Runner-Bridging-Header.h 查看文件

@@ -0,0 +1 @@
1
+#import "GeneratedPluginRegistrant.h"

+ 12
- 0
ios/RunnerTests/RunnerTests.swift 查看文件

@@ -0,0 +1,12 @@
1
+import Flutter
2
+import UIKit
3
+import XCTest
4
+
5
+class RunnerTests: XCTestCase {
6
+
7
+  func testExample() {
8
+    // If you add code to the Runner application, consider adding tests here.
9
+    // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10
+  }
11
+
12
+}

+ 77
- 0
lib/custom_info_card.dart 查看文件

@@ -0,0 +1,77 @@
1
+import 'package:flutter/material.dart';
2
+
3
+class CustomInfoCard extends StatelessWidget {
4
+  final String imagePath;
5
+  final String title;
6
+  final String subtitle;
7
+
8
+  const CustomInfoCard({
9
+    super.key,
10
+    required this.imagePath,
11
+    required this.title,
12
+    required this.subtitle,
13
+  });
14
+
15
+  @override
16
+  Widget build(BuildContext context) {
17
+    return SizedBox(
18
+      width: double.infinity, // Takes full width of parent
19
+      height: 130, // Fixed height, adjust as needed
20
+      child: Card(
21
+        margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
22
+        shape: RoundedRectangleBorder(
23
+          borderRadius: BorderRadius.circular(30),
24
+        ),
25
+        color: const Color.fromARGB(255, 254, 242, 221),
26
+        child: Padding(
27
+          padding: const EdgeInsets.only(right: 8),
28
+          child: Row(
29
+            children: [
30
+              Container(
31
+                width: 90, // Fixed width to match the height (110 - 16 * 2)
32
+                height: 90,
33
+                decoration: BoxDecoration(
34
+                  color: Colors.white,
35
+                  borderRadius: BorderRadius.circular(36),
36
+                ),
37
+                child: ClipRRect(
38
+                  borderRadius: BorderRadius.circular(36),
39
+                  child: Image.asset(
40
+                    imagePath,
41
+                    fit: BoxFit.cover,
42
+                    width: 90,
43
+                    height: 90,
44
+                  ),
45
+                ),
46
+              ),
47
+              const SizedBox(width: 16),
48
+              Expanded(
49
+                child: Column(
50
+                  mainAxisAlignment: MainAxisAlignment.center,
51
+                  crossAxisAlignment: CrossAxisAlignment.start,
52
+                  children: [
53
+                    Text(
54
+                      title,
55
+                      style: const TextStyle(
56
+                        fontSize: 16,
57
+                        fontWeight: FontWeight.bold,
58
+                      ),
59
+                    ),
60
+                    const SizedBox(height: 4),
61
+                    Text(
62
+                      subtitle,
63
+                      style: TextStyle(
64
+                        fontSize: 14,
65
+                        color: Colors.grey[600],
66
+                      ),
67
+                    ),
68
+                  ],
69
+                ),
70
+              ),
71
+            ],
72
+          ),
73
+        ),
74
+      ),
75
+    );
76
+  }
77
+}

+ 225
- 0
lib/main.dart 查看文件

@@ -0,0 +1,225 @@
1
+import 'dart:convert';
2
+import 'package:flutter/foundation.dart';
3
+import 'package:flutter/material.dart';
4
+import 'package:http/http.dart' as http;
5
+import 'package:shared_preferences/shared_preferences.dart';
6
+import 'custom_info_card.dart'; // Ensure this path is correct
7
+
8
+void main() => runApp(const MyApp());
9
+
10
+class MyApp extends StatelessWidget {
11
+  const MyApp({super.key});
12
+
13
+  static const Color primaryColor = Color.fromARGB(255, 254, 100, 91);
14
+  static const Color secondaryColor = Colors.orange;
15
+
16
+  @override
17
+  Widget build(BuildContext context) {
18
+    return MaterialApp(
19
+      title: 'Custom Info Cards',
20
+      theme: ThemeData(
21
+        primaryColor: primaryColor,
22
+        appBarTheme: const AppBarTheme(
23
+          backgroundColor: primaryColor,
24
+          elevation: 0,
25
+        ),
26
+      ),
27
+      home: const HomePage(),
28
+      debugShowCheckedModeBanner: false,
29
+    );
30
+  }
31
+}
32
+
33
+class HomePage extends StatefulWidget {
34
+  const HomePage({super.key});
35
+
36
+  @override
37
+  State<HomePage> createState() => _HomePageState();
38
+}
39
+
40
+class _HomePageState extends State<HomePage> {
41
+  List<Map<String, dynamic>> infoCards = [];
42
+  static const String googleSheetUrl = 'https://script.google.com/macros/s/AKfycbw1htmk7rlwLMOkOrpZ9ED-7ErWgMlYNtLKxoQ9QO-FopqTAhJuQkR7Gs1LxTJakbMT/exec';
43
+
44
+  @override
45
+  void initState() {
46
+    super.initState();
47
+    _loadInfoCards();
48
+  }
49
+
50
+  Future<void> _loadInfoCards() async {
51
+    final prefs = await SharedPreferences.getInstance();
52
+
53
+    // Load default data if no saved data
54
+    String? savedData = prefs.getString('infoCardsData');
55
+    setState(() {
56
+      if (savedData != null) {
57
+        try {
58
+          final decoded = json.decode(savedData);
59
+          infoCards = List<Map<String, dynamic>>.from(decoded);
60
+        } catch (e) {
61
+          if (kDebugMode) {
62
+            print('Error decoding saved data: $e');
63
+          }
64
+          infoCards = _defaultInfoCards();
65
+        }
66
+      } else {
67
+        infoCards = _defaultInfoCards();
68
+      }
69
+    });
70
+  
71
+    await _fetchUpdatedData();
72
+  }
73
+
74
+  List<Map<String, dynamic>> _defaultInfoCards() {
75
+    return [
76
+      {
77
+        'image': 'assets/icons/icono1.jpg',
78
+        'title': 'Tutorias de programación',
79
+        'subtitle': '8:00am a 11:30am En biblioteca Lázaro',
80
+      },
81
+    ];
82
+  }
83
+
84
+  Future<void> _fetchUpdatedData() async {    
85
+    try {
86
+      final response = await http.get(Uri.parse(googleSheetUrl));
87
+      if (response.statusCode == 200 && response.body.isNotEmpty) {
88
+        try {
89
+          final dynamic decodedData = json.decode(response.body);
90
+          List<Map<String, dynamic>> newData = [];
91
+          
92
+          if (decodedData is Map && decodedData.containsKey('feed')) {
93
+            final entries = decodedData['feed']['entry'] as List?;
94
+            if (entries != null) {
95
+              for (var entry in entries) {
96
+                final Map<String, dynamic> card = {
97
+                  'image': entry['gsx\$image']?['\$t'] ?? '',
98
+                  'title': entry['gsx\$title']?['\$t'] ?? '',
99
+                  'subtitle': entry['gsx\$subtitle']?['\$t'] ?? '',
100
+                };
101
+                newData.add(card);
102
+              }
103
+            }
104
+          } else if (decodedData is List) {
105
+            newData = List<Map<String, dynamic>>.from(decodedData);
106
+          } else {
107
+            throw Exception('Unexpected JSON format');
108
+          }
109
+
110
+          if (json.encode(newData) != json.encode(infoCards)) {
111
+            setState(() {
112
+              infoCards = newData;
113
+            });
114
+            final prefs = await SharedPreferences.getInstance();
115
+            prefs.setString('infoCardsData', json.encode(newData));
116
+            
117
+            if (kDebugMode) {
118
+              print('Updated with new data from Google Sheet');
119
+            }
120
+          }
121
+        } catch (e) {
122
+          if (kDebugMode) {
123
+            print('Error parsing response data: $e');
124
+          }
125
+        }
126
+      } else {
127
+        if (kDebugMode) {
128
+          print('Failed to fetch updated data: ${response.statusCode}');
129
+        }
130
+      }
131
+    } catch (e) {
132
+      if (kDebugMode) {
133
+        print('Error fetching data: $e');
134
+      }
135
+    }
136
+  }
137
+
138
+  @override
139
+  Widget build(BuildContext context) {
140
+    return Scaffold(
141
+      appBar: AppBar(
142
+        flexibleSpace: Padding(
143
+          padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
144
+          child: Image.asset(
145
+            'assets/header_image.png',
146
+            fit: BoxFit.cover,
147
+          ),
148
+        ),
149
+        toolbarHeight: MediaQuery.of(context).size.height * 0.19,
150
+      ),
151
+      body: Container(
152
+        decoration: const BoxDecoration(
153
+          gradient: LinearGradient(
154
+            colors: [MyApp.primaryColor, MyApp.secondaryColor],
155
+            begin: Alignment.topCenter,
156
+            end: Alignment.bottomCenter,
157
+          ),
158
+        ),
159
+        child: SafeArea(
160
+          child: Column(
161
+            children: [
162
+              Expanded(
163
+                child: RefreshIndicator(
164
+                  onRefresh: _fetchUpdatedData,
165
+                  color: MyApp.primaryColor,
166
+                  child: ListView.builder(
167
+                    padding: const EdgeInsets.all(0),
168
+                    itemCount: infoCards.isEmpty ? 1 : infoCards.length,
169
+                    itemBuilder: (context, index) {
170
+                      // Show error widget if no data is available
171
+                      if (infoCards.isEmpty) {
172
+                        return Card(
173
+                          margin: const EdgeInsets.all(16),
174
+                          color: Colors.white,
175
+                          child: Padding(
176
+                            padding: const EdgeInsets.all(16),
177
+                            child: Column(
178
+                              children: [
179
+                                const Icon(Icons.warning_amber_rounded, 
180
+                                  size: 48, color: Colors.orange),
181
+                                const SizedBox(height: 16),
182
+                                const Text(
183
+                                  'No se pudo cargar la información',
184
+                                  style: TextStyle(
185
+                                    fontSize: 18,
186
+                                    fontWeight: FontWeight.bold,
187
+                                  ),
188
+                                ),
189
+                                const SizedBox(height: 8),
190
+                                const Text(
191
+                                  'Desliza hacia abajo para intentar de nuevo',
192
+                                  textAlign: TextAlign.center,
193
+                                ),
194
+                                const SizedBox(height: 16),
195
+                                ElevatedButton(
196
+                                  onPressed: () => _fetchUpdatedData(),
197
+                                  style: ElevatedButton.styleFrom(
198
+                                    backgroundColor: MyApp.primaryColor,
199
+                                  ),
200
+                                  child: const Text('Reintentar'),
201
+                                ),
202
+                              ],
203
+                            ),
204
+                          ),
205
+                        );
206
+                      }
207
+                      
208
+                      // Show data card
209
+                      final card = infoCards[index];
210
+                      return CustomInfoCard(
211
+                        imagePath: card['image'],
212
+                        title: card['title'],
213
+                        subtitle: card['subtitle'],
214
+                      );
215
+                    },
216
+                  ),
217
+                ),
218
+              ),
219
+            ],
220
+          ),
221
+        ),
222
+      ),
223
+    );
224
+  }
225
+}

+ 1
- 0
linux/.gitignore 查看文件

@@ -0,0 +1 @@
1
+flutter/ephemeral

+ 145
- 0
linux/CMakeLists.txt 查看文件

@@ -0,0 +1,145 @@
1
+# Project-level configuration.
2
+cmake_minimum_required(VERSION 3.10)
3
+project(runner LANGUAGES CXX)
4
+
5
+# The name of the executable created for the application. Change this to change
6
+# the on-disk name of your application.
7
+set(BINARY_NAME "siempre_informao")
8
+# The unique GTK application identifier for this application. See:
9
+# https://wiki.gnome.org/HowDoI/ChooseApplicationID
10
+set(APPLICATION_ID "com.example.siempre_informao")
11
+
12
+# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
13
+# versions of CMake.
14
+cmake_policy(SET CMP0063 NEW)
15
+
16
+# Load bundled libraries from the lib/ directory relative to the binary.
17
+set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
18
+
19
+# Root filesystem for cross-building.
20
+if(FLUTTER_TARGET_PLATFORM_SYSROOT)
21
+  set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})
22
+  set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
23
+  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
24
+  set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
25
+  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
26
+  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
27
+endif()
28
+
29
+# Define build configuration options.
30
+if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
31
+  set(CMAKE_BUILD_TYPE "Debug" CACHE
32
+    STRING "Flutter build mode" FORCE)
33
+  set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
34
+    "Debug" "Profile" "Release")
35
+endif()
36
+
37
+# Compilation settings that should be applied to most targets.
38
+#
39
+# Be cautious about adding new options here, as plugins use this function by
40
+# default. In most cases, you should add new options to specific targets instead
41
+# of modifying this function.
42
+function(APPLY_STANDARD_SETTINGS TARGET)
43
+  target_compile_features(${TARGET} PUBLIC cxx_std_14)
44
+  target_compile_options(${TARGET} PRIVATE -Wall -Werror)
45
+  target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
46
+  target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
47
+endfunction()
48
+
49
+# Flutter library and tool build rules.
50
+set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
51
+add_subdirectory(${FLUTTER_MANAGED_DIR})
52
+
53
+# System-level dependencies.
54
+find_package(PkgConfig REQUIRED)
55
+pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
56
+
57
+add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
58
+
59
+# Define the application target. To change its name, change BINARY_NAME above,
60
+# not the value here, or `flutter run` will no longer work.
61
+#
62
+# Any new source files that you add to the application should be added here.
63
+add_executable(${BINARY_NAME}
64
+  "main.cc"
65
+  "my_application.cc"
66
+  "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
67
+)
68
+
69
+# Apply the standard set of build settings. This can be removed for applications
70
+# that need different build settings.
71
+apply_standard_settings(${BINARY_NAME})
72
+
73
+# Add dependency libraries. Add any application-specific dependencies here.
74
+target_link_libraries(${BINARY_NAME} PRIVATE flutter)
75
+target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
76
+
77
+# Run the Flutter tool portions of the build. This must not be removed.
78
+add_dependencies(${BINARY_NAME} flutter_assemble)
79
+
80
+# Only the install-generated bundle's copy of the executable will launch
81
+# correctly, since the resources must in the right relative locations. To avoid
82
+# people trying to run the unbundled copy, put it in a subdirectory instead of
83
+# the default top-level location.
84
+set_target_properties(${BINARY_NAME}
85
+  PROPERTIES
86
+  RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
87
+)
88
+
89
+
90
+# Generated plugin build rules, which manage building the plugins and adding
91
+# them to the application.
92
+include(flutter/generated_plugins.cmake)
93
+
94
+
95
+# === Installation ===
96
+# By default, "installing" just makes a relocatable bundle in the build
97
+# directory.
98
+set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
99
+if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
100
+  set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
101
+endif()
102
+
103
+# Start with a clean build bundle directory every time.
104
+install(CODE "
105
+  file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
106
+  " COMPONENT Runtime)
107
+
108
+set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
109
+set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
110
+
111
+install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
112
+  COMPONENT Runtime)
113
+
114
+install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
115
+  COMPONENT Runtime)
116
+
117
+install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
118
+  COMPONENT Runtime)
119
+
120
+foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
121
+  install(FILES "${bundled_library}"
122
+    DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
123
+    COMPONENT Runtime)
124
+endforeach(bundled_library)
125
+
126
+# Copy the native assets provided by the build.dart from all packages.
127
+set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
128
+install(DIRECTORY "${NATIVE_ASSETS_DIR}"
129
+   DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
130
+   COMPONENT Runtime)
131
+
132
+# Fully re-copy the assets directory on each build to avoid having stale files
133
+# from a previous install.
134
+set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
135
+install(CODE "
136
+  file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
137
+  " COMPONENT Runtime)
138
+install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
139
+  DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
140
+
141
+# Install the AOT library on non-Debug builds only.
142
+if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
143
+  install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
144
+    COMPONENT Runtime)
145
+endif()

+ 88
- 0
linux/flutter/CMakeLists.txt 查看文件

@@ -0,0 +1,88 @@
1
+# This file controls Flutter-level build steps. It should not be edited.
2
+cmake_minimum_required(VERSION 3.10)
3
+
4
+set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
5
+
6
+# Configuration provided via flutter tool.
7
+include(${EPHEMERAL_DIR}/generated_config.cmake)
8
+
9
+# TODO: Move the rest of this into files in ephemeral. See
10
+# https://github.com/flutter/flutter/issues/57146.
11
+
12
+# Serves the same purpose as list(TRANSFORM ... PREPEND ...),
13
+# which isn't available in 3.10.
14
+function(list_prepend LIST_NAME PREFIX)
15
+    set(NEW_LIST "")
16
+    foreach(element ${${LIST_NAME}})
17
+        list(APPEND NEW_LIST "${PREFIX}${element}")
18
+    endforeach(element)
19
+    set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)
20
+endfunction()
21
+
22
+# === Flutter Library ===
23
+# System-level dependencies.
24
+find_package(PkgConfig REQUIRED)
25
+pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
26
+pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
27
+pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
28
+
29
+set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")
30
+
31
+# Published to parent scope for install step.
32
+set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
33
+set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
34
+set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
35
+set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)
36
+
37
+list(APPEND FLUTTER_LIBRARY_HEADERS
38
+  "fl_basic_message_channel.h"
39
+  "fl_binary_codec.h"
40
+  "fl_binary_messenger.h"
41
+  "fl_dart_project.h"
42
+  "fl_engine.h"
43
+  "fl_json_message_codec.h"
44
+  "fl_json_method_codec.h"
45
+  "fl_message_codec.h"
46
+  "fl_method_call.h"
47
+  "fl_method_channel.h"
48
+  "fl_method_codec.h"
49
+  "fl_method_response.h"
50
+  "fl_plugin_registrar.h"
51
+  "fl_plugin_registry.h"
52
+  "fl_standard_message_codec.h"
53
+  "fl_standard_method_codec.h"
54
+  "fl_string_codec.h"
55
+  "fl_value.h"
56
+  "fl_view.h"
57
+  "flutter_linux.h"
58
+)
59
+list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")
60
+add_library(flutter INTERFACE)
61
+target_include_directories(flutter INTERFACE
62
+  "${EPHEMERAL_DIR}"
63
+)
64
+target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")
65
+target_link_libraries(flutter INTERFACE
66
+  PkgConfig::GTK
67
+  PkgConfig::GLIB
68
+  PkgConfig::GIO
69
+)
70
+add_dependencies(flutter flutter_assemble)
71
+
72
+# === Flutter tool backend ===
73
+# _phony_ is a non-existent file to force this command to run every time,
74
+# since currently there's no way to get a full input/output list from the
75
+# flutter tool.
76
+add_custom_command(
77
+  OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
78
+    ${CMAKE_CURRENT_BINARY_DIR}/_phony_
79
+  COMMAND ${CMAKE_COMMAND} -E env
80
+    ${FLUTTER_TOOL_ENVIRONMENT}
81
+    "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"
82
+      ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE}
83
+  VERBATIM
84
+)
85
+add_custom_target(flutter_assemble DEPENDS
86
+  "${FLUTTER_LIBRARY}"
87
+  ${FLUTTER_LIBRARY_HEADERS}
88
+)

+ 11
- 0
linux/flutter/generated_plugin_registrant.cc 查看文件

@@ -0,0 +1,11 @@
1
+//
2
+//  Generated file. Do not edit.
3
+//
4
+
5
+// clang-format off
6
+
7
+#include "generated_plugin_registrant.h"
8
+
9
+
10
+void fl_register_plugins(FlPluginRegistry* registry) {
11
+}

+ 15
- 0
linux/flutter/generated_plugin_registrant.h 查看文件

@@ -0,0 +1,15 @@
1
+//
2
+//  Generated file. Do not edit.
3
+//
4
+
5
+// clang-format off
6
+
7
+#ifndef GENERATED_PLUGIN_REGISTRANT_
8
+#define GENERATED_PLUGIN_REGISTRANT_
9
+
10
+#include <flutter_linux/flutter_linux.h>
11
+
12
+// Registers Flutter plugins.
13
+void fl_register_plugins(FlPluginRegistry* registry);
14
+
15
+#endif  // GENERATED_PLUGIN_REGISTRANT_

+ 23
- 0
linux/flutter/generated_plugins.cmake 查看文件

@@ -0,0 +1,23 @@
1
+#
2
+# Generated file, do not edit.
3
+#
4
+
5
+list(APPEND FLUTTER_PLUGIN_LIST
6
+)
7
+
8
+list(APPEND FLUTTER_FFI_PLUGIN_LIST
9
+)
10
+
11
+set(PLUGIN_BUNDLED_LIBRARIES)
12
+
13
+foreach(plugin ${FLUTTER_PLUGIN_LIST})
14
+  add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
15
+  target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
16
+  list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
17
+  list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
18
+endforeach(plugin)
19
+
20
+foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
21
+  add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
22
+  list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
23
+endforeach(ffi_plugin)

+ 6
- 0
linux/main.cc 查看文件

@@ -0,0 +1,6 @@
1
+#include "my_application.h"
2
+
3
+int main(int argc, char** argv) {
4
+  g_autoptr(MyApplication) app = my_application_new();
5
+  return g_application_run(G_APPLICATION(app), argc, argv);
6
+}

+ 124
- 0
linux/my_application.cc 查看文件

@@ -0,0 +1,124 @@
1
+#include "my_application.h"
2
+
3
+#include <flutter_linux/flutter_linux.h>
4
+#ifdef GDK_WINDOWING_X11
5
+#include <gdk/gdkx.h>
6
+#endif
7
+
8
+#include "flutter/generated_plugin_registrant.h"
9
+
10
+struct _MyApplication {
11
+  GtkApplication parent_instance;
12
+  char** dart_entrypoint_arguments;
13
+};
14
+
15
+G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
16
+
17
+// Implements GApplication::activate.
18
+static void my_application_activate(GApplication* application) {
19
+  MyApplication* self = MY_APPLICATION(application);
20
+  GtkWindow* window =
21
+      GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
22
+
23
+  // Use a header bar when running in GNOME as this is the common style used
24
+  // by applications and is the setup most users will be using (e.g. Ubuntu
25
+  // desktop).
26
+  // If running on X and not using GNOME then just use a traditional title bar
27
+  // in case the window manager does more exotic layout, e.g. tiling.
28
+  // If running on Wayland assume the header bar will work (may need changing
29
+  // if future cases occur).
30
+  gboolean use_header_bar = TRUE;
31
+#ifdef GDK_WINDOWING_X11
32
+  GdkScreen* screen = gtk_window_get_screen(window);
33
+  if (GDK_IS_X11_SCREEN(screen)) {
34
+    const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen);
35
+    if (g_strcmp0(wm_name, "GNOME Shell") != 0) {
36
+      use_header_bar = FALSE;
37
+    }
38
+  }
39
+#endif
40
+  if (use_header_bar) {
41
+    GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
42
+    gtk_widget_show(GTK_WIDGET(header_bar));
43
+    gtk_header_bar_set_title(header_bar, "siempre_informao");
44
+    gtk_header_bar_set_show_close_button(header_bar, TRUE);
45
+    gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
46
+  } else {
47
+    gtk_window_set_title(window, "siempre_informao");
48
+  }
49
+
50
+  gtk_window_set_default_size(window, 1280, 720);
51
+  gtk_widget_show(GTK_WIDGET(window));
52
+
53
+  g_autoptr(FlDartProject) project = fl_dart_project_new();
54
+  fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);
55
+
56
+  FlView* view = fl_view_new(project);
57
+  gtk_widget_show(GTK_WIDGET(view));
58
+  gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
59
+
60
+  fl_register_plugins(FL_PLUGIN_REGISTRY(view));
61
+
62
+  gtk_widget_grab_focus(GTK_WIDGET(view));
63
+}
64
+
65
+// Implements GApplication::local_command_line.
66
+static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {
67
+  MyApplication* self = MY_APPLICATION(application);
68
+  // Strip out the first argument as it is the binary name.
69
+  self->dart_entrypoint_arguments = g_strdupv(*arguments + 1);
70
+
71
+  g_autoptr(GError) error = nullptr;
72
+  if (!g_application_register(application, nullptr, &error)) {
73
+     g_warning("Failed to register: %s", error->message);
74
+     *exit_status = 1;
75
+     return TRUE;
76
+  }
77
+
78
+  g_application_activate(application);
79
+  *exit_status = 0;
80
+
81
+  return TRUE;
82
+}
83
+
84
+// Implements GApplication::startup.
85
+static void my_application_startup(GApplication* application) {
86
+  //MyApplication* self = MY_APPLICATION(object);
87
+
88
+  // Perform any actions required at application startup.
89
+
90
+  G_APPLICATION_CLASS(my_application_parent_class)->startup(application);
91
+}
92
+
93
+// Implements GApplication::shutdown.
94
+static void my_application_shutdown(GApplication* application) {
95
+  //MyApplication* self = MY_APPLICATION(object);
96
+
97
+  // Perform any actions required at application shutdown.
98
+
99
+  G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application);
100
+}
101
+
102
+// Implements GObject::dispose.
103
+static void my_application_dispose(GObject* object) {
104
+  MyApplication* self = MY_APPLICATION(object);
105
+  g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev);
106
+  G_OBJECT_CLASS(my_application_parent_class)->dispose(object);
107
+}
108
+
109
+static void my_application_class_init(MyApplicationClass* klass) {
110
+  G_APPLICATION_CLASS(klass)->activate = my_application_activate;
111
+  G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line;
112
+  G_APPLICATION_CLASS(klass)->startup = my_application_startup;
113
+  G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown;
114
+  G_OBJECT_CLASS(klass)->dispose = my_application_dispose;
115
+}
116
+
117
+static void my_application_init(MyApplication* self) {}
118
+
119
+MyApplication* my_application_new() {
120
+  return MY_APPLICATION(g_object_new(my_application_get_type(),
121
+                                     "application-id", APPLICATION_ID,
122
+                                     "flags", G_APPLICATION_NON_UNIQUE,
123
+                                     nullptr));
124
+}

+ 18
- 0
linux/my_application.h 查看文件

@@ -0,0 +1,18 @@
1
+#ifndef FLUTTER_MY_APPLICATION_H_
2
+#define FLUTTER_MY_APPLICATION_H_
3
+
4
+#include <gtk/gtk.h>
5
+
6
+G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
7
+                     GtkApplication)
8
+
9
+/**
10
+ * my_application_new:
11
+ *
12
+ * Creates a new Flutter-based application.
13
+ *
14
+ * Returns: a new #MyApplication.
15
+ */
16
+MyApplication* my_application_new();
17
+
18
+#endif  // FLUTTER_MY_APPLICATION_H_

+ 7
- 0
macos/.gitignore 查看文件

@@ -0,0 +1,7 @@
1
+# Flutter-related
2
+**/Flutter/ephemeral/
3
+**/Pods/
4
+
5
+# Xcode-related
6
+**/dgph
7
+**/xcuserdata/

+ 2
- 0
macos/Flutter/Flutter-Debug.xcconfig 查看文件

@@ -0,0 +1,2 @@
1
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2
+#include "ephemeral/Flutter-Generated.xcconfig"

+ 2
- 0
macos/Flutter/Flutter-Release.xcconfig 查看文件

@@ -0,0 +1,2 @@
1
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2
+#include "ephemeral/Flutter-Generated.xcconfig"

+ 12
- 0
macos/Flutter/GeneratedPluginRegistrant.swift 查看文件

@@ -0,0 +1,12 @@
1
+//
2
+//  Generated file. Do not edit.
3
+//
4
+
5
+import FlutterMacOS
6
+import Foundation
7
+
8
+import shared_preferences_foundation
9
+
10
+func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
11
+  SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
12
+}

+ 43
- 0
macos/Podfile 查看文件

@@ -0,0 +1,43 @@
1
+platform :osx, '10.14'
2
+
3
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
4
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
5
+
6
+project 'Runner', {
7
+  'Debug' => :debug,
8
+  'Profile' => :release,
9
+  'Release' => :release,
10
+}
11
+
12
+def flutter_root
13
+  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
14
+  unless File.exist?(generated_xcode_build_settings_path)
15
+    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
16
+  end
17
+
18
+  File.foreach(generated_xcode_build_settings_path) do |line|
19
+    matches = line.match(/FLUTTER_ROOT\=(.*)/)
20
+    return matches[1].strip if matches
21
+  end
22
+  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
23
+end
24
+
25
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
26
+
27
+flutter_macos_podfile_setup
28
+
29
+target 'Runner' do
30
+  use_frameworks!
31
+  use_modular_headers!
32
+
33
+  flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
34
+  target 'RunnerTests' do
35
+    inherit! :search_paths
36
+  end
37
+end
38
+
39
+post_install do |installer|
40
+  installer.pods_project.targets.each do |target|
41
+    flutter_additional_macos_build_settings(target)
42
+  end
43
+end

+ 23
- 0
macos/Podfile.lock 查看文件

@@ -0,0 +1,23 @@
1
+PODS:
2
+  - FlutterMacOS (1.0.0)
3
+  - shared_preferences_foundation (0.0.1):
4
+    - Flutter
5
+    - FlutterMacOS
6
+
7
+DEPENDENCIES:
8
+  - FlutterMacOS (from `Flutter/ephemeral`)
9
+  - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
10
+
11
+EXTERNAL SOURCES:
12
+  FlutterMacOS:
13
+    :path: Flutter/ephemeral
14
+  shared_preferences_foundation:
15
+    :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
16
+
17
+SPEC CHECKSUMS:
18
+  FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
19
+  shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
20
+
21
+PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
22
+
23
+COCOAPODS: 1.16.2

+ 801
- 0
macos/Runner.xcodeproj/project.pbxproj 查看文件

@@ -0,0 +1,801 @@
1
+// !$*UTF8*$!
2
+{
3
+	archiveVersion = 1;
4
+	classes = {
5
+	};
6
+	objectVersion = 54;
7
+	objects = {
8
+
9
+/* Begin PBXAggregateTarget section */
10
+		33CC111A2044C6BA0003C045 /* Flutter Assemble */ = {
11
+			isa = PBXAggregateTarget;
12
+			buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */;
13
+			buildPhases = (
14
+				33CC111E2044C6BF0003C045 /* ShellScript */,
15
+			);
16
+			dependencies = (
17
+			);
18
+			name = "Flutter Assemble";
19
+			productName = FLX;
20
+		};
21
+/* End PBXAggregateTarget section */
22
+
23
+/* Begin PBXBuildFile section */
24
+		24BDB0B04E314EA93EE8A241 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8311C1BCE754341C2BB0F3DA /* Pods_RunnerTests.framework */; };
25
+		331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; };
26
+		335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
27
+		33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
28
+		33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
29
+		33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
30
+		33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
31
+		E05781659FE5392C38F54EB0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C5E0BDB7BCB7C18F089FB4C8 /* Pods_Runner.framework */; };
32
+/* End PBXBuildFile section */
33
+
34
+/* Begin PBXContainerItemProxy section */
35
+		331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = {
36
+			isa = PBXContainerItemProxy;
37
+			containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
38
+			proxyType = 1;
39
+			remoteGlobalIDString = 33CC10EC2044A3C60003C045;
40
+			remoteInfo = Runner;
41
+		};
42
+		33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = {
43
+			isa = PBXContainerItemProxy;
44
+			containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
45
+			proxyType = 1;
46
+			remoteGlobalIDString = 33CC111A2044C6BA0003C045;
47
+			remoteInfo = FLX;
48
+		};
49
+/* End PBXContainerItemProxy section */
50
+
51
+/* Begin PBXCopyFilesBuildPhase section */
52
+		33CC110E2044A8840003C045 /* Bundle Framework */ = {
53
+			isa = PBXCopyFilesBuildPhase;
54
+			buildActionMask = 2147483647;
55
+			dstPath = "";
56
+			dstSubfolderSpec = 10;
57
+			files = (
58
+			);
59
+			name = "Bundle Framework";
60
+			runOnlyForDeploymentPostprocessing = 0;
61
+		};
62
+/* End PBXCopyFilesBuildPhase section */
63
+
64
+/* Begin PBXFileReference section */
65
+		08DDB6F70B7DB9C054014CA3 /* 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 = "<group>"; };
66
+		331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
67
+		331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
68
+		333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
69
+		335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
70
+		33CC10ED2044A3C60003C045 /* siempre_informao.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = siempre_informao.app; sourceTree = BUILT_PRODUCTS_DIR; };
71
+		33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
72
+		33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
73
+		33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
74
+		33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = "<group>"; };
75
+		33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = "<group>"; };
76
+		33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = "<group>"; };
77
+		33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = "<group>"; };
78
+		33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = "<group>"; };
79
+		33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
80
+		33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
81
+		33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
82
+		5734A411A37670AFC3D23599 /* 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 = "<group>"; };
83
+		6157116594D7A1A94977E7A4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
84
+		6F5E6773E5BF6DA0CA608B7A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
85
+		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
86
+		7B544D42DB8C9A26B9DDA97D /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
87
+		8311C1BCE754341C2BB0F3DA /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
88
+		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
89
+		A879DA2FF39A7F3628F9793C /* 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 = "<group>"; };
90
+		C5E0BDB7BCB7C18F089FB4C8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
91
+/* End PBXFileReference section */
92
+
93
+/* Begin PBXFrameworksBuildPhase section */
94
+		331C80D2294CF70F00263BE5 /* Frameworks */ = {
95
+			isa = PBXFrameworksBuildPhase;
96
+			buildActionMask = 2147483647;
97
+			files = (
98
+				24BDB0B04E314EA93EE8A241 /* Pods_RunnerTests.framework in Frameworks */,
99
+			);
100
+			runOnlyForDeploymentPostprocessing = 0;
101
+		};
102
+		33CC10EA2044A3C60003C045 /* Frameworks */ = {
103
+			isa = PBXFrameworksBuildPhase;
104
+			buildActionMask = 2147483647;
105
+			files = (
106
+				E05781659FE5392C38F54EB0 /* Pods_Runner.framework in Frameworks */,
107
+			);
108
+			runOnlyForDeploymentPostprocessing = 0;
109
+		};
110
+/* End PBXFrameworksBuildPhase section */
111
+
112
+/* Begin PBXGroup section */
113
+		331C80D6294CF71000263BE5 /* RunnerTests */ = {
114
+			isa = PBXGroup;
115
+			children = (
116
+				331C80D7294CF71000263BE5 /* RunnerTests.swift */,
117
+			);
118
+			path = RunnerTests;
119
+			sourceTree = "<group>";
120
+		};
121
+		33BA886A226E78AF003329D5 /* Configs */ = {
122
+			isa = PBXGroup;
123
+			children = (
124
+				33E5194F232828860026EE4D /* AppInfo.xcconfig */,
125
+				9740EEB21CF90195004384FC /* Debug.xcconfig */,
126
+				7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
127
+				333000ED22D3DE5D00554162 /* Warnings.xcconfig */,
128
+			);
129
+			path = Configs;
130
+			sourceTree = "<group>";
131
+		};
132
+		33CC10E42044A3C60003C045 = {
133
+			isa = PBXGroup;
134
+			children = (
135
+				33FAB671232836740065AC1E /* Runner */,
136
+				33CEB47122A05771004F2AC0 /* Flutter */,
137
+				331C80D6294CF71000263BE5 /* RunnerTests */,
138
+				33CC10EE2044A3C60003C045 /* Products */,
139
+				D73912EC22F37F3D000D13A0 /* Frameworks */,
140
+				B5B17BE9C25FBA1369FF13D8 /* Pods */,
141
+			);
142
+			sourceTree = "<group>";
143
+		};
144
+		33CC10EE2044A3C60003C045 /* Products */ = {
145
+			isa = PBXGroup;
146
+			children = (
147
+				33CC10ED2044A3C60003C045 /* siempre_informao.app */,
148
+				331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
149
+			);
150
+			name = Products;
151
+			sourceTree = "<group>";
152
+		};
153
+		33CC11242044D66E0003C045 /* Resources */ = {
154
+			isa = PBXGroup;
155
+			children = (
156
+				33CC10F22044A3C60003C045 /* Assets.xcassets */,
157
+				33CC10F42044A3C60003C045 /* MainMenu.xib */,
158
+				33CC10F72044A3C60003C045 /* Info.plist */,
159
+			);
160
+			name = Resources;
161
+			path = ..;
162
+			sourceTree = "<group>";
163
+		};
164
+		33CEB47122A05771004F2AC0 /* Flutter */ = {
165
+			isa = PBXGroup;
166
+			children = (
167
+				335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,
168
+				33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,
169
+				33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,
170
+				33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */,
171
+			);
172
+			path = Flutter;
173
+			sourceTree = "<group>";
174
+		};
175
+		33FAB671232836740065AC1E /* Runner */ = {
176
+			isa = PBXGroup;
177
+			children = (
178
+				33CC10F02044A3C60003C045 /* AppDelegate.swift */,
179
+				33CC11122044BFA00003C045 /* MainFlutterWindow.swift */,
180
+				33E51913231747F40026EE4D /* DebugProfile.entitlements */,
181
+				33E51914231749380026EE4D /* Release.entitlements */,
182
+				33CC11242044D66E0003C045 /* Resources */,
183
+				33BA886A226E78AF003329D5 /* Configs */,
184
+			);
185
+			path = Runner;
186
+			sourceTree = "<group>";
187
+		};
188
+		B5B17BE9C25FBA1369FF13D8 /* Pods */ = {
189
+			isa = PBXGroup;
190
+			children = (
191
+				5734A411A37670AFC3D23599 /* Pods-Runner.debug.xcconfig */,
192
+				A879DA2FF39A7F3628F9793C /* Pods-Runner.release.xcconfig */,
193
+				08DDB6F70B7DB9C054014CA3 /* Pods-Runner.profile.xcconfig */,
194
+				7B544D42DB8C9A26B9DDA97D /* Pods-RunnerTests.debug.xcconfig */,
195
+				6F5E6773E5BF6DA0CA608B7A /* Pods-RunnerTests.release.xcconfig */,
196
+				6157116594D7A1A94977E7A4 /* Pods-RunnerTests.profile.xcconfig */,
197
+			);
198
+			name = Pods;
199
+			path = Pods;
200
+			sourceTree = "<group>";
201
+		};
202
+		D73912EC22F37F3D000D13A0 /* Frameworks */ = {
203
+			isa = PBXGroup;
204
+			children = (
205
+				C5E0BDB7BCB7C18F089FB4C8 /* Pods_Runner.framework */,
206
+				8311C1BCE754341C2BB0F3DA /* Pods_RunnerTests.framework */,
207
+			);
208
+			name = Frameworks;
209
+			sourceTree = "<group>";
210
+		};
211
+/* End PBXGroup section */
212
+
213
+/* Begin PBXNativeTarget section */
214
+		331C80D4294CF70F00263BE5 /* RunnerTests */ = {
215
+			isa = PBXNativeTarget;
216
+			buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
217
+			buildPhases = (
218
+				ED911C452EC247C5046F7BB0 /* [CP] Check Pods Manifest.lock */,
219
+				331C80D1294CF70F00263BE5 /* Sources */,
220
+				331C80D2294CF70F00263BE5 /* Frameworks */,
221
+				331C80D3294CF70F00263BE5 /* Resources */,
222
+			);
223
+			buildRules = (
224
+			);
225
+			dependencies = (
226
+				331C80DA294CF71000263BE5 /* PBXTargetDependency */,
227
+			);
228
+			name = RunnerTests;
229
+			productName = RunnerTests;
230
+			productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */;
231
+			productType = "com.apple.product-type.bundle.unit-test";
232
+		};
233
+		33CC10EC2044A3C60003C045 /* Runner */ = {
234
+			isa = PBXNativeTarget;
235
+			buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
236
+			buildPhases = (
237
+				F3C4D5B7ED556D7F885736A5 /* [CP] Check Pods Manifest.lock */,
238
+				33CC10E92044A3C60003C045 /* Sources */,
239
+				33CC10EA2044A3C60003C045 /* Frameworks */,
240
+				33CC10EB2044A3C60003C045 /* Resources */,
241
+				33CC110E2044A8840003C045 /* Bundle Framework */,
242
+				3399D490228B24CF009A79C7 /* ShellScript */,
243
+				6DEEDB75684D91AEAAB11B71 /* [CP] Embed Pods Frameworks */,
244
+			);
245
+			buildRules = (
246
+			);
247
+			dependencies = (
248
+				33CC11202044C79F0003C045 /* PBXTargetDependency */,
249
+			);
250
+			name = Runner;
251
+			productName = Runner;
252
+			productReference = 33CC10ED2044A3C60003C045 /* siempre_informao.app */;
253
+			productType = "com.apple.product-type.application";
254
+		};
255
+/* End PBXNativeTarget section */
256
+
257
+/* Begin PBXProject section */
258
+		33CC10E52044A3C60003C045 /* Project object */ = {
259
+			isa = PBXProject;
260
+			attributes = {
261
+				BuildIndependentTargetsInParallel = YES;
262
+				LastSwiftUpdateCheck = 0920;
263
+				LastUpgradeCheck = 1510;
264
+				ORGANIZATIONNAME = "";
265
+				TargetAttributes = {
266
+					331C80D4294CF70F00263BE5 = {
267
+						CreatedOnToolsVersion = 14.0;
268
+						TestTargetID = 33CC10EC2044A3C60003C045;
269
+					};
270
+					33CC10EC2044A3C60003C045 = {
271
+						CreatedOnToolsVersion = 9.2;
272
+						LastSwiftMigration = 1100;
273
+						ProvisioningStyle = Automatic;
274
+						SystemCapabilities = {
275
+							com.apple.Sandbox = {
276
+								enabled = 1;
277
+							};
278
+						};
279
+					};
280
+					33CC111A2044C6BA0003C045 = {
281
+						CreatedOnToolsVersion = 9.2;
282
+						ProvisioningStyle = Manual;
283
+					};
284
+				};
285
+			};
286
+			buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */;
287
+			compatibilityVersion = "Xcode 9.3";
288
+			developmentRegion = en;
289
+			hasScannedForEncodings = 0;
290
+			knownRegions = (
291
+				en,
292
+				Base,
293
+			);
294
+			mainGroup = 33CC10E42044A3C60003C045;
295
+			productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
296
+			projectDirPath = "";
297
+			projectRoot = "";
298
+			targets = (
299
+				33CC10EC2044A3C60003C045 /* Runner */,
300
+				331C80D4294CF70F00263BE5 /* RunnerTests */,
301
+				33CC111A2044C6BA0003C045 /* Flutter Assemble */,
302
+			);
303
+		};
304
+/* End PBXProject section */
305
+
306
+/* Begin PBXResourcesBuildPhase section */
307
+		331C80D3294CF70F00263BE5 /* Resources */ = {
308
+			isa = PBXResourcesBuildPhase;
309
+			buildActionMask = 2147483647;
310
+			files = (
311
+			);
312
+			runOnlyForDeploymentPostprocessing = 0;
313
+		};
314
+		33CC10EB2044A3C60003C045 /* Resources */ = {
315
+			isa = PBXResourcesBuildPhase;
316
+			buildActionMask = 2147483647;
317
+			files = (
318
+				33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */,
319
+				33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */,
320
+			);
321
+			runOnlyForDeploymentPostprocessing = 0;
322
+		};
323
+/* End PBXResourcesBuildPhase section */
324
+
325
+/* Begin PBXShellScriptBuildPhase section */
326
+		3399D490228B24CF009A79C7 /* ShellScript */ = {
327
+			isa = PBXShellScriptBuildPhase;
328
+			alwaysOutOfDate = 1;
329
+			buildActionMask = 2147483647;
330
+			files = (
331
+			);
332
+			inputFileListPaths = (
333
+			);
334
+			inputPaths = (
335
+			);
336
+			outputFileListPaths = (
337
+			);
338
+			outputPaths = (
339
+			);
340
+			runOnlyForDeploymentPostprocessing = 0;
341
+			shellPath = /bin/sh;
342
+			shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";
343
+		};
344
+		33CC111E2044C6BF0003C045 /* ShellScript */ = {
345
+			isa = PBXShellScriptBuildPhase;
346
+			buildActionMask = 2147483647;
347
+			files = (
348
+			);
349
+			inputFileListPaths = (
350
+				Flutter/ephemeral/FlutterInputs.xcfilelist,
351
+			);
352
+			inputPaths = (
353
+				Flutter/ephemeral/tripwire,
354
+			);
355
+			outputFileListPaths = (
356
+				Flutter/ephemeral/FlutterOutputs.xcfilelist,
357
+			);
358
+			outputPaths = (
359
+			);
360
+			runOnlyForDeploymentPostprocessing = 0;
361
+			shellPath = /bin/sh;
362
+			shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
363
+		};
364
+		6DEEDB75684D91AEAAB11B71 /* [CP] Embed Pods Frameworks */ = {
365
+			isa = PBXShellScriptBuildPhase;
366
+			buildActionMask = 2147483647;
367
+			files = (
368
+			);
369
+			inputFileListPaths = (
370
+				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
371
+			);
372
+			name = "[CP] Embed Pods Frameworks";
373
+			outputFileListPaths = (
374
+				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
375
+			);
376
+			runOnlyForDeploymentPostprocessing = 0;
377
+			shellPath = /bin/sh;
378
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
379
+			showEnvVarsInLog = 0;
380
+		};
381
+		ED911C452EC247C5046F7BB0 /* [CP] Check Pods Manifest.lock */ = {
382
+			isa = PBXShellScriptBuildPhase;
383
+			buildActionMask = 2147483647;
384
+			files = (
385
+			);
386
+			inputFileListPaths = (
387
+			);
388
+			inputPaths = (
389
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
390
+				"${PODS_ROOT}/Manifest.lock",
391
+			);
392
+			name = "[CP] Check Pods Manifest.lock";
393
+			outputFileListPaths = (
394
+			);
395
+			outputPaths = (
396
+				"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
397
+			);
398
+			runOnlyForDeploymentPostprocessing = 0;
399
+			shellPath = /bin/sh;
400
+			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";
401
+			showEnvVarsInLog = 0;
402
+		};
403
+		F3C4D5B7ED556D7F885736A5 /* [CP] Check Pods Manifest.lock */ = {
404
+			isa = PBXShellScriptBuildPhase;
405
+			buildActionMask = 2147483647;
406
+			files = (
407
+			);
408
+			inputFileListPaths = (
409
+			);
410
+			inputPaths = (
411
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
412
+				"${PODS_ROOT}/Manifest.lock",
413
+			);
414
+			name = "[CP] Check Pods Manifest.lock";
415
+			outputFileListPaths = (
416
+			);
417
+			outputPaths = (
418
+				"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
419
+			);
420
+			runOnlyForDeploymentPostprocessing = 0;
421
+			shellPath = /bin/sh;
422
+			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";
423
+			showEnvVarsInLog = 0;
424
+		};
425
+/* End PBXShellScriptBuildPhase section */
426
+
427
+/* Begin PBXSourcesBuildPhase section */
428
+		331C80D1294CF70F00263BE5 /* Sources */ = {
429
+			isa = PBXSourcesBuildPhase;
430
+			buildActionMask = 2147483647;
431
+			files = (
432
+				331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */,
433
+			);
434
+			runOnlyForDeploymentPostprocessing = 0;
435
+		};
436
+		33CC10E92044A3C60003C045 /* Sources */ = {
437
+			isa = PBXSourcesBuildPhase;
438
+			buildActionMask = 2147483647;
439
+			files = (
440
+				33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */,
441
+				33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */,
442
+				335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */,
443
+			);
444
+			runOnlyForDeploymentPostprocessing = 0;
445
+		};
446
+/* End PBXSourcesBuildPhase section */
447
+
448
+/* Begin PBXTargetDependency section */
449
+		331C80DA294CF71000263BE5 /* PBXTargetDependency */ = {
450
+			isa = PBXTargetDependency;
451
+			target = 33CC10EC2044A3C60003C045 /* Runner */;
452
+			targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */;
453
+		};
454
+		33CC11202044C79F0003C045 /* PBXTargetDependency */ = {
455
+			isa = PBXTargetDependency;
456
+			target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */;
457
+			targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */;
458
+		};
459
+/* End PBXTargetDependency section */
460
+
461
+/* Begin PBXVariantGroup section */
462
+		33CC10F42044A3C60003C045 /* MainMenu.xib */ = {
463
+			isa = PBXVariantGroup;
464
+			children = (
465
+				33CC10F52044A3C60003C045 /* Base */,
466
+			);
467
+			name = MainMenu.xib;
468
+			path = Runner;
469
+			sourceTree = "<group>";
470
+		};
471
+/* End PBXVariantGroup section */
472
+
473
+/* Begin XCBuildConfiguration section */
474
+		331C80DB294CF71000263BE5 /* Debug */ = {
475
+			isa = XCBuildConfiguration;
476
+			baseConfigurationReference = 7B544D42DB8C9A26B9DDA97D /* Pods-RunnerTests.debug.xcconfig */;
477
+			buildSettings = {
478
+				BUNDLE_LOADER = "$(TEST_HOST)";
479
+				CURRENT_PROJECT_VERSION = 1;
480
+				GENERATE_INFOPLIST_FILE = YES;
481
+				MARKETING_VERSION = 1.0;
482
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.siempreInformao.RunnerTests;
483
+				PRODUCT_NAME = "$(TARGET_NAME)";
484
+				SWIFT_VERSION = 5.0;
485
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/siempre_informao.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/siempre_informao";
486
+			};
487
+			name = Debug;
488
+		};
489
+		331C80DC294CF71000263BE5 /* Release */ = {
490
+			isa = XCBuildConfiguration;
491
+			baseConfigurationReference = 6F5E6773E5BF6DA0CA608B7A /* Pods-RunnerTests.release.xcconfig */;
492
+			buildSettings = {
493
+				BUNDLE_LOADER = "$(TEST_HOST)";
494
+				CURRENT_PROJECT_VERSION = 1;
495
+				GENERATE_INFOPLIST_FILE = YES;
496
+				MARKETING_VERSION = 1.0;
497
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.siempreInformao.RunnerTests;
498
+				PRODUCT_NAME = "$(TARGET_NAME)";
499
+				SWIFT_VERSION = 5.0;
500
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/siempre_informao.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/siempre_informao";
501
+			};
502
+			name = Release;
503
+		};
504
+		331C80DD294CF71000263BE5 /* Profile */ = {
505
+			isa = XCBuildConfiguration;
506
+			baseConfigurationReference = 6157116594D7A1A94977E7A4 /* Pods-RunnerTests.profile.xcconfig */;
507
+			buildSettings = {
508
+				BUNDLE_LOADER = "$(TEST_HOST)";
509
+				CURRENT_PROJECT_VERSION = 1;
510
+				GENERATE_INFOPLIST_FILE = YES;
511
+				MARKETING_VERSION = 1.0;
512
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.siempreInformao.RunnerTests;
513
+				PRODUCT_NAME = "$(TARGET_NAME)";
514
+				SWIFT_VERSION = 5.0;
515
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/siempre_informao.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/siempre_informao";
516
+			};
517
+			name = Profile;
518
+		};
519
+		338D0CE9231458BD00FA5F75 /* Profile */ = {
520
+			isa = XCBuildConfiguration;
521
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
522
+			buildSettings = {
523
+				ALWAYS_SEARCH_USER_PATHS = NO;
524
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
525
+				CLANG_ANALYZER_NONNULL = YES;
526
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
527
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
528
+				CLANG_CXX_LIBRARY = "libc++";
529
+				CLANG_ENABLE_MODULES = YES;
530
+				CLANG_ENABLE_OBJC_ARC = YES;
531
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
532
+				CLANG_WARN_BOOL_CONVERSION = YES;
533
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
534
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
535
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
536
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
537
+				CLANG_WARN_EMPTY_BODY = YES;
538
+				CLANG_WARN_ENUM_CONVERSION = YES;
539
+				CLANG_WARN_INFINITE_RECURSION = YES;
540
+				CLANG_WARN_INT_CONVERSION = YES;
541
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
542
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
543
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
544
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
545
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
546
+				CODE_SIGN_IDENTITY = "-";
547
+				COPY_PHASE_STRIP = NO;
548
+				DEAD_CODE_STRIPPING = YES;
549
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
550
+				ENABLE_NS_ASSERTIONS = NO;
551
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
552
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
553
+				GCC_C_LANGUAGE_STANDARD = gnu11;
554
+				GCC_NO_COMMON_BLOCKS = YES;
555
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
556
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
557
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
558
+				GCC_WARN_UNUSED_FUNCTION = YES;
559
+				GCC_WARN_UNUSED_VARIABLE = YES;
560
+				MACOSX_DEPLOYMENT_TARGET = 10.14;
561
+				MTL_ENABLE_DEBUG_INFO = NO;
562
+				SDKROOT = macosx;
563
+				SWIFT_COMPILATION_MODE = wholemodule;
564
+				SWIFT_OPTIMIZATION_LEVEL = "-O";
565
+			};
566
+			name = Profile;
567
+		};
568
+		338D0CEA231458BD00FA5F75 /* Profile */ = {
569
+			isa = XCBuildConfiguration;
570
+			baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
571
+			buildSettings = {
572
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
573
+				CLANG_ENABLE_MODULES = YES;
574
+				CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
575
+				CODE_SIGN_STYLE = Automatic;
576
+				COMBINE_HIDPI_IMAGES = YES;
577
+				INFOPLIST_FILE = Runner/Info.plist;
578
+				LD_RUNPATH_SEARCH_PATHS = (
579
+					"$(inherited)",
580
+					"@executable_path/../Frameworks",
581
+				);
582
+				PROVISIONING_PROFILE_SPECIFIER = "";
583
+				SWIFT_VERSION = 5.0;
584
+			};
585
+			name = Profile;
586
+		};
587
+		338D0CEB231458BD00FA5F75 /* Profile */ = {
588
+			isa = XCBuildConfiguration;
589
+			buildSettings = {
590
+				CODE_SIGN_STYLE = Manual;
591
+				PRODUCT_NAME = "$(TARGET_NAME)";
592
+			};
593
+			name = Profile;
594
+		};
595
+		33CC10F92044A3C60003C045 /* Debug */ = {
596
+			isa = XCBuildConfiguration;
597
+			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
598
+			buildSettings = {
599
+				ALWAYS_SEARCH_USER_PATHS = NO;
600
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
601
+				CLANG_ANALYZER_NONNULL = YES;
602
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
603
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
604
+				CLANG_CXX_LIBRARY = "libc++";
605
+				CLANG_ENABLE_MODULES = YES;
606
+				CLANG_ENABLE_OBJC_ARC = YES;
607
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
608
+				CLANG_WARN_BOOL_CONVERSION = YES;
609
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
610
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
611
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
612
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
613
+				CLANG_WARN_EMPTY_BODY = YES;
614
+				CLANG_WARN_ENUM_CONVERSION = YES;
615
+				CLANG_WARN_INFINITE_RECURSION = YES;
616
+				CLANG_WARN_INT_CONVERSION = YES;
617
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
618
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
619
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
620
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
621
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
622
+				CODE_SIGN_IDENTITY = "-";
623
+				COPY_PHASE_STRIP = NO;
624
+				DEAD_CODE_STRIPPING = YES;
625
+				DEBUG_INFORMATION_FORMAT = dwarf;
626
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
627
+				ENABLE_TESTABILITY = YES;
628
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
629
+				GCC_C_LANGUAGE_STANDARD = gnu11;
630
+				GCC_DYNAMIC_NO_PIC = NO;
631
+				GCC_NO_COMMON_BLOCKS = YES;
632
+				GCC_OPTIMIZATION_LEVEL = 0;
633
+				GCC_PREPROCESSOR_DEFINITIONS = (
634
+					"DEBUG=1",
635
+					"$(inherited)",
636
+				);
637
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
638
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
639
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
640
+				GCC_WARN_UNUSED_FUNCTION = YES;
641
+				GCC_WARN_UNUSED_VARIABLE = YES;
642
+				MACOSX_DEPLOYMENT_TARGET = 10.14;
643
+				MTL_ENABLE_DEBUG_INFO = YES;
644
+				ONLY_ACTIVE_ARCH = YES;
645
+				SDKROOT = macosx;
646
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
647
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
648
+			};
649
+			name = Debug;
650
+		};
651
+		33CC10FA2044A3C60003C045 /* Release */ = {
652
+			isa = XCBuildConfiguration;
653
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
654
+			buildSettings = {
655
+				ALWAYS_SEARCH_USER_PATHS = NO;
656
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
657
+				CLANG_ANALYZER_NONNULL = YES;
658
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
659
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
660
+				CLANG_CXX_LIBRARY = "libc++";
661
+				CLANG_ENABLE_MODULES = YES;
662
+				CLANG_ENABLE_OBJC_ARC = YES;
663
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
664
+				CLANG_WARN_BOOL_CONVERSION = YES;
665
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
666
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
667
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
668
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
669
+				CLANG_WARN_EMPTY_BODY = YES;
670
+				CLANG_WARN_ENUM_CONVERSION = YES;
671
+				CLANG_WARN_INFINITE_RECURSION = YES;
672
+				CLANG_WARN_INT_CONVERSION = YES;
673
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
674
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
675
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
676
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
677
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
678
+				CODE_SIGN_IDENTITY = "-";
679
+				COPY_PHASE_STRIP = NO;
680
+				DEAD_CODE_STRIPPING = YES;
681
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
682
+				ENABLE_NS_ASSERTIONS = NO;
683
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
684
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
685
+				GCC_C_LANGUAGE_STANDARD = gnu11;
686
+				GCC_NO_COMMON_BLOCKS = YES;
687
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
688
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
689
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
690
+				GCC_WARN_UNUSED_FUNCTION = YES;
691
+				GCC_WARN_UNUSED_VARIABLE = YES;
692
+				MACOSX_DEPLOYMENT_TARGET = 10.14;
693
+				MTL_ENABLE_DEBUG_INFO = NO;
694
+				SDKROOT = macosx;
695
+				SWIFT_COMPILATION_MODE = wholemodule;
696
+				SWIFT_OPTIMIZATION_LEVEL = "-O";
697
+			};
698
+			name = Release;
699
+		};
700
+		33CC10FC2044A3C60003C045 /* Debug */ = {
701
+			isa = XCBuildConfiguration;
702
+			baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
703
+			buildSettings = {
704
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
705
+				CLANG_ENABLE_MODULES = YES;
706
+				CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
707
+				CODE_SIGN_STYLE = Automatic;
708
+				COMBINE_HIDPI_IMAGES = YES;
709
+				INFOPLIST_FILE = Runner/Info.plist;
710
+				LD_RUNPATH_SEARCH_PATHS = (
711
+					"$(inherited)",
712
+					"@executable_path/../Frameworks",
713
+				);
714
+				PROVISIONING_PROFILE_SPECIFIER = "";
715
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
716
+				SWIFT_VERSION = 5.0;
717
+			};
718
+			name = Debug;
719
+		};
720
+		33CC10FD2044A3C60003C045 /* Release */ = {
721
+			isa = XCBuildConfiguration;
722
+			baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
723
+			buildSettings = {
724
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
725
+				CLANG_ENABLE_MODULES = YES;
726
+				CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
727
+				CODE_SIGN_STYLE = Automatic;
728
+				COMBINE_HIDPI_IMAGES = YES;
729
+				INFOPLIST_FILE = Runner/Info.plist;
730
+				LD_RUNPATH_SEARCH_PATHS = (
731
+					"$(inherited)",
732
+					"@executable_path/../Frameworks",
733
+				);
734
+				PROVISIONING_PROFILE_SPECIFIER = "";
735
+				SWIFT_VERSION = 5.0;
736
+			};
737
+			name = Release;
738
+		};
739
+		33CC111C2044C6BA0003C045 /* Debug */ = {
740
+			isa = XCBuildConfiguration;
741
+			buildSettings = {
742
+				CODE_SIGN_STYLE = Manual;
743
+				PRODUCT_NAME = "$(TARGET_NAME)";
744
+			};
745
+			name = Debug;
746
+		};
747
+		33CC111D2044C6BA0003C045 /* Release */ = {
748
+			isa = XCBuildConfiguration;
749
+			buildSettings = {
750
+				CODE_SIGN_STYLE = Automatic;
751
+				PRODUCT_NAME = "$(TARGET_NAME)";
752
+			};
753
+			name = Release;
754
+		};
755
+/* End XCBuildConfiguration section */
756
+
757
+/* Begin XCConfigurationList section */
758
+		331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
759
+			isa = XCConfigurationList;
760
+			buildConfigurations = (
761
+				331C80DB294CF71000263BE5 /* Debug */,
762
+				331C80DC294CF71000263BE5 /* Release */,
763
+				331C80DD294CF71000263BE5 /* Profile */,
764
+			);
765
+			defaultConfigurationIsVisible = 0;
766
+			defaultConfigurationName = Release;
767
+		};
768
+		33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = {
769
+			isa = XCConfigurationList;
770
+			buildConfigurations = (
771
+				33CC10F92044A3C60003C045 /* Debug */,
772
+				33CC10FA2044A3C60003C045 /* Release */,
773
+				338D0CE9231458BD00FA5F75 /* Profile */,
774
+			);
775
+			defaultConfigurationIsVisible = 0;
776
+			defaultConfigurationName = Release;
777
+		};
778
+		33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = {
779
+			isa = XCConfigurationList;
780
+			buildConfigurations = (
781
+				33CC10FC2044A3C60003C045 /* Debug */,
782
+				33CC10FD2044A3C60003C045 /* Release */,
783
+				338D0CEA231458BD00FA5F75 /* Profile */,
784
+			);
785
+			defaultConfigurationIsVisible = 0;
786
+			defaultConfigurationName = Release;
787
+		};
788
+		33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = {
789
+			isa = XCConfigurationList;
790
+			buildConfigurations = (
791
+				33CC111C2044C6BA0003C045 /* Debug */,
792
+				33CC111D2044C6BA0003C045 /* Release */,
793
+				338D0CEB231458BD00FA5F75 /* Profile */,
794
+			);
795
+			defaultConfigurationIsVisible = 0;
796
+			defaultConfigurationName = Release;
797
+		};
798
+/* End XCConfigurationList section */
799
+	};
800
+	rootObject = 33CC10E52044A3C60003C045 /* Project object */;
801
+}

+ 8
- 0
macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 查看文件

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>IDEDidComputeMac32BitWarning</key>
6
+	<true/>
7
+</dict>
8
+</plist>

+ 0
- 0
macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme 查看文件


部分文件因文件數量過多而無法顯示