Adds new flutter module, reconfigures Android/iOS sample ()

pull/145/head
Andrew Brogdon 6 years ago committed by GitHub
parent 0f3721f696
commit 22ca7f462b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,7 +5,7 @@ and the latest version of CocoaPods. See the [README](../README.md) in the
`experimental` directory for details.***
This directory contains a bunch of Android and iOS projects that each import
a standalone Flutter module called `example_module`.
a standalone Flutter module called `flutter_module`.
## Goals for this sample
@ -13,42 +13,63 @@ a standalone Flutter module called `example_module`.
## The important bits
### `example_module`
### Flutter modules
This is the Flutter module that'll be added to all the individual projects
in the `add_to_app` folder.
There are two Flutter modules included in the codebase:
The first time you download this repo, you need to first resolve this
module's dependencies by running:
* `flutter_module` displays the dimensions of the screen, a button that
increments a simple counter, and an optional exit button.
* `flutter_module_using_plugin` does everything `flutter_module` does, and adds
another button that will save the counter's value to a file using the
[`path_provider`](https://pub.dev/packages/path_povider) Flutter plugin.
Before running any of the Android or iOS apps included in this sample project,
you first need to resolve the Flutter modules' depencies. Do so by running this
command from within the `flutter_module` and `flutter_module_using_plugin`
directories:
```bash
cd example_module
flutter packages get
```
### `SimpleAndroidApp`
An Android application that imports `example_module` and uses it to display
a `FlutterActivity` containing widgets from the module. This project brings
in the Flutter module's Android host wrapper as a gradle sub-module.
### Android and iOS applications
To run, open the SimpleAndroidApp folder in Android Studio and press the run
button.
In addition to the Flutter modules, this repo also includes a number of
Android and iOS applications that demonstrate different ways of importing
them.
### `SimpleIOSExample`
The Android apps are ready to run once you've completed the
`flutter packages get` commands listed above. The iOS apps use CocoaPods,
so you need to run this command to install the dependencies listed in their
Podfiles prior to running them the first time.
An iOS application that imports `example_module` and uses it to display
a `FlutterViewController` containing widgets from the module. This project
uses CocoaPods, so prior to running it for the first time, use this command
to set up the workspace file:
This should be done in the individual project directories themselves. For
example, prior to running `ios_fullscreen` for the first time, you need to run
these commands:
```bash
cd ../SimpleIOSExample
cd ios_fullscreen
pod install
```
Then open SimpleIOSExample/SimpleIOSExample.xcworkspace with Xcode. This
workspace will have the Flutter module linked in as a dependent CocoaPod.
Once that command is complete, you'll find an `xcworkspace` file in the project
directories with the correct Flutter module (and any other dependencies)
included. Open that workspace file, and the app is ready to build and run.
### `android_fullscreen` and `ios_fullscreen`
These apps showcase a relatively straightforward integration of
`flutter_module`:
* The Flutter module is built along with the app when the app is built.
* The Flutter engine is warmed up at app launch.
* The Flutter view is presented with a full-screen Activity or
UIViewController.
* The Flutter view is a navigational leaf node; it does not launch any new,
native Activities or UIViewControllers in response to user actions.
If you are new to Flutter's add-to-app APIs, these projects are a great place
to begin learning how to use them.
## Questions/issues

@ -1,24 +0,0 @@
package com.example.simpleandroidapp
import android.support.test.InstrumentationRegistry
import android.support.test.runner.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getTargetContext()
assertEquals("com.example.simpleandroidapp", appContext.packageName)
}
}

@ -1,34 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeColor="#00000000"
android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0"/>
<item
android:color="#00000000"
android:offset="1.0"/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeColor="#00000000"
android:strokeWidth="1"/>
</vector>

@ -1,74 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<path android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
</vector>

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/launch_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Launch Flutter Activity!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>

@ -1,3 +0,0 @@
<resources>
<string name="app_name">SimpleAndroidApp</string>
</resources>

@ -1,28 +0,0 @@
PODS:
- example_module (0.0.1):
- Flutter
- Flutter (1.0.0)
- FlutterPluginRegistrant (0.0.1):
- Flutter
DEPENDENCIES:
- example_module (from `../example_module/.ios/Flutter`)
- Flutter (from `../example_module/.ios/Flutter/engine`)
- FlutterPluginRegistrant (from `../example_module/.ios/Flutter/FlutterPluginRegistrant`)
EXTERNAL SOURCES:
example_module:
:path: "../example_module/.ios/Flutter"
Flutter:
:path: "../example_module/.ios/Flutter/engine"
FlutterPluginRegistrant:
:path: "../example_module/.ios/Flutter/FlutterPluginRegistrant"
SPEC CHECKSUMS:
example_module: 9b3ae62667af6b748c59e68774be3d4760f9749b
Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a
FlutterPluginRegistrant: 8855ca2b426d228cb41aa6c26c0c83b8c49e3593
PODFILE CHECKSUM: b7560f9a15a01771cb2ffbac185d4fd57e3250cc
COCOAPODS: 1.7.2

@ -1,737 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
089B0A49B5CDAC5BEB582783 /* Pods_SimpleIOSExampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B32A0D5514AB7569E79A7AC /* Pods_SimpleIOSExampleTests.framework */; };
269398B622FE040B00D983E5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398B522FE040B00D983E5 /* AppDelegate.swift */; };
269398B822FE040B00D983E5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398B722FE040B00D983E5 /* ViewController.swift */; };
269398BB22FE040B00D983E5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 269398B922FE040B00D983E5 /* Main.storyboard */; };
269398BD22FE040C00D983E5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 269398BC22FE040C00D983E5 /* Assets.xcassets */; };
269398C022FE040C00D983E5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 269398BE22FE040C00D983E5 /* LaunchScreen.storyboard */; };
269398CB22FE040C00D983E5 /* SimpleIOSExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398CA22FE040C00D983E5 /* SimpleIOSExampleTests.swift */; };
269398D622FE040C00D983E5 /* SimpleIOSExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398D522FE040C00D983E5 /* SimpleIOSExampleUITests.swift */; };
3BAF4B0BB21D52A8C5B43F0D /* Pods_SimpleIOSExampleUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 187D00DA4A16A93EC89D3156 /* Pods_SimpleIOSExampleUITests.framework */; };
E0A2B399B1D9D1C350372AA4 /* Pods_SimpleIOSExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 420E4B6E1B9E8603BA732F4C /* Pods_SimpleIOSExample.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
269398C722FE040C00D983E5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 269398AA22FE040B00D983E5 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 269398B122FE040B00D983E5;
remoteInfo = SimpleIOSExample;
};
269398D222FE040C00D983E5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 269398AA22FE040B00D983E5 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 269398B122FE040B00D983E5;
remoteInfo = SimpleIOSExample;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
187D00DA4A16A93EC89D3156 /* Pods_SimpleIOSExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SimpleIOSExampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
269398B222FE040B00D983E5 /* SimpleIOSExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleIOSExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
269398B522FE040B00D983E5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
269398B722FE040B00D983E5 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
269398BA22FE040B00D983E5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
269398BC22FE040C00D983E5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
269398BF22FE040C00D983E5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
269398C122FE040C00D983E5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
269398C622FE040C00D983E5 /* SimpleIOSExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimpleIOSExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
269398CA22FE040C00D983E5 /* SimpleIOSExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleIOSExampleTests.swift; sourceTree = "<group>"; };
269398CC22FE040C00D983E5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
269398D122FE040C00D983E5 /* SimpleIOSExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimpleIOSExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
269398D522FE040C00D983E5 /* SimpleIOSExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleIOSExampleUITests.swift; sourceTree = "<group>"; };
269398D722FE040C00D983E5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
363E426B1171FEC2C23089B1 /* Pods-SimpleIOSExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleUITests.debug.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleUITests/Pods-SimpleIOSExampleUITests.debug.xcconfig"; sourceTree = "<group>"; };
420E4B6E1B9E8603BA732F4C /* Pods_SimpleIOSExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SimpleIOSExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
512008183DD83798F184EB14 /* Pods-SimpleIOSExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleTests.release.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleTests/Pods-SimpleIOSExampleTests.release.xcconfig"; sourceTree = "<group>"; };
632513CDC364778478B972A7 /* Pods-SimpleIOSExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleTests/Pods-SimpleIOSExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
63EEDB1909622120399C9B01 /* Pods-SimpleIOSExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleUITests.release.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleUITests/Pods-SimpleIOSExampleUITests.release.xcconfig"; sourceTree = "<group>"; };
8B32A0D5514AB7569E79A7AC /* Pods_SimpleIOSExampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SimpleIOSExampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A8146A98489E12B59C33EF6F /* Pods-SimpleIOSExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExample.release.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample.release.xcconfig"; sourceTree = "<group>"; };
CD23F887F52055643A503855 /* Pods-SimpleIOSExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExample.debug.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
269398AF22FE040B00D983E5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
E0A2B399B1D9D1C350372AA4 /* Pods_SimpleIOSExample.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
269398C322FE040C00D983E5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
089B0A49B5CDAC5BEB582783 /* Pods_SimpleIOSExampleTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
269398CE22FE040C00D983E5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3BAF4B0BB21D52A8C5B43F0D /* Pods_SimpleIOSExampleUITests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
269398A922FE040B00D983E5 = {
isa = PBXGroup;
children = (
269398B422FE040B00D983E5 /* SimpleIOSExample */,
269398C922FE040C00D983E5 /* SimpleIOSExampleTests */,
269398D422FE040C00D983E5 /* SimpleIOSExampleUITests */,
269398B322FE040B00D983E5 /* Products */,
62E8A3E08E9FD326CA7480FA /* Pods */,
6A6CC3DA2402FC8ADB407559 /* Frameworks */,
);
sourceTree = "<group>";
};
269398B322FE040B00D983E5 /* Products */ = {
isa = PBXGroup;
children = (
269398B222FE040B00D983E5 /* SimpleIOSExample.app */,
269398C622FE040C00D983E5 /* SimpleIOSExampleTests.xctest */,
269398D122FE040C00D983E5 /* SimpleIOSExampleUITests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
269398B422FE040B00D983E5 /* SimpleIOSExample */ = {
isa = PBXGroup;
children = (
269398B522FE040B00D983E5 /* AppDelegate.swift */,
269398B722FE040B00D983E5 /* ViewController.swift */,
269398B922FE040B00D983E5 /* Main.storyboard */,
269398BC22FE040C00D983E5 /* Assets.xcassets */,
269398BE22FE040C00D983E5 /* LaunchScreen.storyboard */,
269398C122FE040C00D983E5 /* Info.plist */,
);
path = SimpleIOSExample;
sourceTree = "<group>";
};
269398C922FE040C00D983E5 /* SimpleIOSExampleTests */ = {
isa = PBXGroup;
children = (
269398CA22FE040C00D983E5 /* SimpleIOSExampleTests.swift */,
269398CC22FE040C00D983E5 /* Info.plist */,
);
path = SimpleIOSExampleTests;
sourceTree = "<group>";
};
269398D422FE040C00D983E5 /* SimpleIOSExampleUITests */ = {
isa = PBXGroup;
children = (
269398D522FE040C00D983E5 /* SimpleIOSExampleUITests.swift */,
269398D722FE040C00D983E5 /* Info.plist */,
);
path = SimpleIOSExampleUITests;
sourceTree = "<group>";
};
62E8A3E08E9FD326CA7480FA /* Pods */ = {
isa = PBXGroup;
children = (
CD23F887F52055643A503855 /* Pods-SimpleIOSExample.debug.xcconfig */,
A8146A98489E12B59C33EF6F /* Pods-SimpleIOSExample.release.xcconfig */,
632513CDC364778478B972A7 /* Pods-SimpleIOSExampleTests.debug.xcconfig */,
512008183DD83798F184EB14 /* Pods-SimpleIOSExampleTests.release.xcconfig */,
363E426B1171FEC2C23089B1 /* Pods-SimpleIOSExampleUITests.debug.xcconfig */,
63EEDB1909622120399C9B01 /* Pods-SimpleIOSExampleUITests.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
6A6CC3DA2402FC8ADB407559 /* Frameworks */ = {
isa = PBXGroup;
children = (
420E4B6E1B9E8603BA732F4C /* Pods_SimpleIOSExample.framework */,
8B32A0D5514AB7569E79A7AC /* Pods_SimpleIOSExampleTests.framework */,
187D00DA4A16A93EC89D3156 /* Pods_SimpleIOSExampleUITests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
269398B122FE040B00D983E5 /* SimpleIOSExample */ = {
isa = PBXNativeTarget;
buildConfigurationList = 269398DA22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExample" */;
buildPhases = (
264AE55B6B867B61BC2CB1E8 /* [CP] Check Pods Manifest.lock */,
6509A41456CCA1E3DEE35AC2 /* [CP-User] Run Flutter Build Script */,
269398AE22FE040B00D983E5 /* Sources */,
269398AF22FE040B00D983E5 /* Frameworks */,
269398B022FE040B00D983E5 /* Resources */,
57352AFF53A3C19AB9928E36 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = SimpleIOSExample;
productName = SimpleIOSExample;
productReference = 269398B222FE040B00D983E5 /* SimpleIOSExample.app */;
productType = "com.apple.product-type.application";
};
269398C522FE040C00D983E5 /* SimpleIOSExampleTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 269398DD22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleTests" */;
buildPhases = (
80BDF3ACB9840F729397FA74 /* [CP] Check Pods Manifest.lock */,
269398C222FE040C00D983E5 /* Sources */,
269398C322FE040C00D983E5 /* Frameworks */,
269398C422FE040C00D983E5 /* Resources */,
);
buildRules = (
);
dependencies = (
269398C822FE040C00D983E5 /* PBXTargetDependency */,
);
name = SimpleIOSExampleTests;
productName = SimpleIOSExampleTests;
productReference = 269398C622FE040C00D983E5 /* SimpleIOSExampleTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
269398D022FE040C00D983E5 /* SimpleIOSExampleUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 269398E022FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleUITests" */;
buildPhases = (
88A5719093C973643BCB1F37 /* [CP] Check Pods Manifest.lock */,
269398CD22FE040C00D983E5 /* Sources */,
269398CE22FE040C00D983E5 /* Frameworks */,
269398CF22FE040C00D983E5 /* Resources */,
);
buildRules = (
);
dependencies = (
269398D322FE040C00D983E5 /* PBXTargetDependency */,
);
name = SimpleIOSExampleUITests;
productName = SimpleIOSExampleUITests;
productReference = 269398D122FE040C00D983E5 /* SimpleIOSExampleUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
269398AA22FE040B00D983E5 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1020;
LastUpgradeCheck = 1020;
TargetAttributes = {
269398B122FE040B00D983E5 = {
CreatedOnToolsVersion = 10.2.1;
};
269398C522FE040C00D983E5 = {
CreatedOnToolsVersion = 10.2.1;
TestTargetID = 269398B122FE040B00D983E5;
};
269398D022FE040C00D983E5 = {
CreatedOnToolsVersion = 10.2.1;
TestTargetID = 269398B122FE040B00D983E5;
};
};
};
buildConfigurationList = 269398AD22FE040B00D983E5 /* Build configuration list for PBXProject "SimpleIOSExample" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 269398A922FE040B00D983E5;
productRefGroup = 269398B322FE040B00D983E5 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
269398B122FE040B00D983E5 /* SimpleIOSExample */,
269398C522FE040C00D983E5 /* SimpleIOSExampleTests */,
269398D022FE040C00D983E5 /* SimpleIOSExampleUITests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
269398B022FE040B00D983E5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
269398C022FE040C00D983E5 /* LaunchScreen.storyboard in Resources */,
269398BD22FE040C00D983E5 /* Assets.xcassets in Resources */,
269398BB22FE040B00D983E5 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
269398C422FE040C00D983E5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
269398CF22FE040C00D983E5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
264AE55B6B867B61BC2CB1E8 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-SimpleIOSExample-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
57352AFF53A3C19AB9928E36 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
6509A41456CCA1E3DEE35AC2 /* [CP-User] Run Flutter Build Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/../example_module/.metadata",
"${SRCROOT}/../example_module/.ios/Flutter/App.framework/App",
"${SRCROOT}/../example_module/.ios/Flutter/engine/Flutter.framework/Flutter",
"${SRCROOT}/../example_module/.ios/Flutter/flutter_export_environment.sh",
);
name = "[CP-User] Run Flutter Build Script";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -e\nset -u\nsource \"${SRCROOT}/../example_module/.ios/Flutter/flutter_export_environment.sh\"\n\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh build";
};
80BDF3ACB9840F729397FA74 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-SimpleIOSExampleTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
88A5719093C973643BCB1F37 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-SimpleIOSExampleUITests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
269398AE22FE040B00D983E5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
269398B822FE040B00D983E5 /* ViewController.swift in Sources */,
269398B622FE040B00D983E5 /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
269398C222FE040C00D983E5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
269398CB22FE040C00D983E5 /* SimpleIOSExampleTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
269398CD22FE040C00D983E5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
269398D622FE040C00D983E5 /* SimpleIOSExampleUITests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
269398C822FE040C00D983E5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 269398B122FE040B00D983E5 /* SimpleIOSExample */;
targetProxy = 269398C722FE040C00D983E5 /* PBXContainerItemProxy */;
};
269398D322FE040C00D983E5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 269398B122FE040B00D983E5 /* SimpleIOSExample */;
targetProxy = 269398D222FE040C00D983E5 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
269398B922FE040B00D983E5 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
269398BA22FE040B00D983E5 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
269398BE22FE040C00D983E5 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
269398BF22FE040C00D983E5 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
269398D822FE040C00D983E5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
269398D922FE040C00D983E5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
269398DB22FE040C00D983E5 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = CD23F887F52055643A503855 /* Pods-SimpleIOSExample.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = SimpleIOSExample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExample;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
269398DC22FE040C00D983E5 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A8146A98489E12B59C33EF6F /* Pods-SimpleIOSExample.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = SimpleIOSExample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExample;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
269398DE22FE040C00D983E5 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 632513CDC364778478B972A7 /* Pods-SimpleIOSExampleTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = SimpleIOSExampleTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SimpleIOSExample.app/SimpleIOSExample";
};
name = Debug;
};
269398DF22FE040C00D983E5 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 512008183DD83798F184EB14 /* Pods-SimpleIOSExampleTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = SimpleIOSExampleTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SimpleIOSExample.app/SimpleIOSExample";
};
name = Release;
};
269398E122FE040C00D983E5 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 363E426B1171FEC2C23089B1 /* Pods-SimpleIOSExampleUITests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = SimpleIOSExampleUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = SimpleIOSExample;
};
name = Debug;
};
269398E222FE040C00D983E5 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 63EEDB1909622120399C9B01 /* Pods-SimpleIOSExampleUITests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = SimpleIOSExampleUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = SimpleIOSExample;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
269398AD22FE040B00D983E5 /* Build configuration list for PBXProject "SimpleIOSExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
269398D822FE040C00D983E5 /* Debug */,
269398D922FE040C00D983E5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
269398DA22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
269398DB22FE040C00D983E5 /* Debug */,
269398DC22FE040C00D983E5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
269398DD22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
269398DE22FE040C00D983E5 /* Debug */,
269398DF22FE040C00D983E5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
269398E022FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
269398E122FE040C00D983E5 /* Debug */,
269398E222FE040C00D983E5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 269398AA22FE040B00D983E5 /* Project object */;
}

@ -5,18 +5,15 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
compileSdkVersion 28
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.simpleandroidapp"
applicationId "dev.flutter.example.androidfullscreen"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
@ -24,16 +21,20 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
dependencies {
implementation 'android.arch.lifecycle:common-java8:1.1.1'
implementation project(':flutter')
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation project(':flutter')
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

@ -0,0 +1,28 @@
// Copyright 2019 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package dev.flutter.example.androidfullscreen
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("dev.flutter.example.androidfullscreen", appContext.packageName)
}
}

@ -1,28 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.simpleandroidapp">
package="dev.flutter.example.androidfullscreen">
<application
android:name="io.flutter.app.FlutterApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name="io.flutter.app.FlutterApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="io.flutter.embedding.android.FlutterActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize"
/>
android:exported="true"
/>
</application>
</manifest>

@ -1,11 +1,16 @@
package com.example.simpleandroidapp
// Copyright 2019 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package dev.flutter.example.androidfullscreen
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import io.flutter.embedding.android.FlutterActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeWidth="1"
android:strokeColor="#00000000">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/launch_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Launch Flutter Activity"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

@ -0,0 +1,3 @@
<resources>
<string name="app_name">AndroidFullScreen</string>
</resources>

@ -1,4 +1,8 @@
package com.example.simpleandroidapp
// Copyright 2019 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package dev.flutter.example.androidfullscreen
import org.junit.Test

@ -1,15 +1,17 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.3.41'
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
@ -17,7 +19,6 @@ allprojects {
repositories {
google()
jcenter()
}
}

@ -11,5 +11,11 @@ org.gradle.jvmargs=-Xmx1536m
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official

@ -1,6 +1,6 @@
#Wed Aug 28 13:36:43 PDT 2019
#Tue Sep 17 09:33:13 PDT 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

@ -1,6 +1,7 @@
include ':app'
rootProject.name='AndroidFullScreen'
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
'example_module/.android/include_flutter.groovy'
))
'flutter_module/.android/include_flutter.groovy'
))

@ -1,4 +0,0 @@
# example_module
A simple module to be embedded in other host apps, used to demo Flutter's
add-to-app process.

@ -1,30 +0,0 @@
include: package:pedantic/analysis_options.1.7.0.yaml
analyzer:
strong-mode:
implicit-casts: false
implicit-dynamic: false
linter:
rules:
- avoid_types_on_closure_parameters
- avoid_void_async
- await_only_futures
- camel_case_types
- cancel_subscriptions
- close_sinks
- constant_identifier_names
- control_flow_in_finally
- empty_statements
- hash_and_equals
- implementation_imports
- non_constant_identifier_names
- package_api_docs
- package_names
- package_prefixed_library_names
- test_types_in_equals
- throw_in_finally
- unnecessary_brace_in_string_interps
- unnecessary_getters_setters
- unnecessary_new
- unnecessary_statements

@ -1,12 +0,0 @@
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('This test always passes', (tester) async {});
}

@ -4,7 +4,7 @@
# This file should be version controlled and should not be manually edited.
version:
revision: 92ef2b9ce1d4e54d5efb3e6a962e9e724dc7efeb
channel: master
revision: 2d2a1ffec95cc70a3218872a2cd3f8de4933c42f
channel: stable
project_type: module

@ -0,0 +1,10 @@
# flutter_module
An example Flutter module used in the Flutter add-to-app samples.
## Getting Started
For more information, see the Add-to-App guide at
[flutter.dev](https://flutter.dev):
https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

@ -14,7 +14,7 @@ class MyApp extends StatelessWidget {
title: 'Flutter Module Title',
routes: {
'/': (context) => FullScreenView(),
'/mini': (context) => MiniView(),
'/mini': (context) => Contents(),
},
);
}
@ -25,23 +25,23 @@ class FullScreenView extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('A Full-screen Flutter View'),
title: Text('Full-screen Flutter'),
),
body: const MiniView(showExit: true),
body: const Contents(showExit: true),
);
}
}
class MiniView extends StatefulWidget {
class Contents extends StatefulWidget {
final bool showExit;
const MiniView({this.showExit = false});
const Contents({this.showExit = false});
@override
_MiniViewState createState() => _MiniViewState();
_ContentsState createState() => _ContentsState();
}
class _MiniViewState extends State<MiniView> {
class _ContentsState extends State<Contents> {
int count = 0;
@override
@ -72,8 +72,8 @@ class _MiniViewState extends State<MiniView> {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Window is ${mediaInfo.size.width} x '
'${mediaInfo.size.height}.',
'Window is ${mediaInfo.size.width.toStringAsFixed(1)} x '
'${mediaInfo.size.height.toStringAsFixed(1)}',
style: Theme.of(context).textTheme.headline,
),
SizedBox(height: 16),

@ -56,7 +56,7 @@ packages:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
version: "2.1.3"
flutter:
dependency: "direct main"
description: flutter
@ -96,7 +96,7 @@ packages:
source: hosted
version: "1.6.4"
pedantic:
dependency: "direct dev"
dependency: transitive
description:
name: pedantic
url: "https://pub.dartlang.org"
@ -185,4 +185,4 @@ packages:
source: hosted
version: "3.5.0"
sdks:
dart: ">=2.4.0 <3.0.0"
dart: ">=2.5.0 <3.0.0"

@ -1,7 +1,7 @@
name: example_module
description: A simple module used to demo Flutter's Add-to-App features
name: flutter_module
description: An example Flutter module.
version: 1.0.0
version: 1.0.0+1
environment:
sdk: ">=2.5.0 <3.0.0"
@ -13,7 +13,6 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
pedantic: ^1.8.0+1
flutter:
uses-material-design: true
@ -25,6 +24,6 @@ flutter:
# They also do not have any bearing on your native host application's
# identifiers, which may be completely independent or the same as these.
module:
androidX: false
androidPackage: com.example.example_module
iosBundleIdentifier: com.example.exampleModule
androidX: true
androidPackage: dev.flutter.example.flutter_module
iosBundleIdentifier: dev.flutter.example.flutterModule

@ -0,0 +1,34 @@
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_module/main.dart';
void main() {
testWidgets('MiniView smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(
MaterialApp(
home: Contents(),
),
);
// Verify that our counter starts at 0.
expect(find.text('Taps: 0'), findsOneWidget);
expect(find.text('Taps: 1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.text('Tap me!'));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('Taps: 0'), findsNothing);
expect(find.text('Taps: 1'), findsOneWidget);
});
}

@ -0,0 +1,41 @@
.DS_Store
.dart_tool/
.packages
.pub/
.idea/
.vagrant/
.sconsign.dblite
.svn/
*.swp
profile
DerivedData/
.generated/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3
xcuserdata
*.moved-aside
*.pyc
*sync/
Icon?
.tags*
build/
.android/
.ios/
.flutter-plugins

@ -0,0 +1,10 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: 2d2a1ffec95cc70a3218872a2cd3f8de4933c42f
channel: stable
project_type: module

@ -0,0 +1,11 @@
# flutter_module_using_plugin
An example Flutter module that uses a plugin and is consumed by native apps
in the Flutter add-to-app samples.
## Getting Started
For more information, see the Add-to-App guide at
[flutter.dev](https://flutter.dev):
https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

@ -0,0 +1,134 @@
// Copyright 2019 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:path_provider/path_provider.dart' as paths;
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Module Title',
routes: {
'/': (context) => FullScreenView(),
'/mini': (context) => Contents(),
},
);
}
}
class FullScreenView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Full-screen Flutter with plugin'),
),
body: const Contents(showExit: true),
);
}
}
class Contents extends StatefulWidget {
final bool showExit;
const Contents({this.showExit = false});
@override
_ContentsState createState() => _ContentsState();
}
class _ContentsState extends State<Contents> {
int count = 0;
// Start off with a completed future so the FutureBuilder code below doesn't
// need to worry about null.
Future<void> saveFuture = Future.value(null);
Future<void> _saveCount() async {
final dir = await paths.getApplicationDocumentsDirectory();
final file = File('${dir.path}/count.txt');
setState(() {
saveFuture = file.writeAsString('$count\n');
});
}
@override
Widget build(BuildContext context) {
final mediaInfo = MediaQuery.of(context);
return SizedBox.expand(
child: Stack(
children: [
Positioned.fill(
child: DecoratedBox(
decoration: BoxDecoration(
color: Theme.of(context).scaffoldBackgroundColor,
),
),
),
Positioned.fill(
child: Opacity(
opacity: .25,
child: FittedBox(
fit: BoxFit.cover,
child: FlutterLogo(),
),
),
),
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Window is ${mediaInfo.size.width.toStringAsFixed(1)} x '
'${mediaInfo.size.height.toStringAsFixed(1)}',
style: Theme.of(context).textTheme.headline,
),
SizedBox(height: 16),
Text(
'Taps: $count',
style: Theme.of(context).textTheme.headline,
),
SizedBox(height: 16),
RaisedButton(
onPressed: () => setState(() => count++),
child: Text('Tap me!'),
),
FutureBuilder(
future: saveFuture,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return RaisedButton(
onPressed: _saveCount,
child: Text('Save count'),
);
} else {
return RaisedButton(
onPressed: null,
child: Text('Save count'),
);
}
},
),
if (widget.showExit) ...[
SizedBox(height: 16),
RaisedButton(
onPressed: () => SystemNavigator.pop(),
child: Text('Exit this screen'),
),
],
],
),
),
],
),
);
}
}

@ -0,0 +1,203 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
archive:
dependency: transitive
description:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.10"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.2"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.11"
convert:
dependency: transitive
description:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
flutter:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
image:
dependency: transitive
description:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.4"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.5"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.7"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.4"
path_provider:
dependency: "direct main"
description:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
pedantic:
dependency: transitive
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0+1"
petitparser:
dependency: transitive
description:
name: petitparser
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.0"
platform:
dependency: transitive
description:
name: platform
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
source_span:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.5"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.3"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.5"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.6"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.8"
xml:
dependency: transitive
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "3.5.0"
sdks:
dart: ">=2.5.0 <3.0.0"
flutter: ">=0.1.4 <2.0.0"

@ -0,0 +1,30 @@
name: flutter_module_using_plugin
description: An example Flutter module that uses a plugin.
version: 1.0.0+1
environment:
sdk: ">=2.5.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
path_provider: ^1.3.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
# This section identifies your Flutter project as a module meant for
# embedding in a native host app. These identifiers should _not_ ordinarily
# be changed after generation - they are used to ensure that the tooling can
# maintain consistency when adding or modifying assets and plugins.
# They also do not have any bearing on your native host application's
# identifiers, which may be completely independent or the same as these.
module:
androidX: true
androidPackage: dev.flutter.example.flutter_module_using_plugin
iosBundleIdentifier: dev.flutter.example.flutterModuleUsingPlugin

@ -0,0 +1,34 @@
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_module_using_plugin/main.dart';
void main() {
testWidgets('MiniView smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(
MaterialApp(
home: Contents(),
),
);
// Verify that our counter starts at 0.
expect(find.text('Taps: 0'), findsOneWidget);
expect(find.text('Taps: 1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.text('Tap me!'));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('Taps: 0'), findsNothing);
expect(find.text('Taps: 1'), findsOneWidget);
});
}

@ -0,0 +1,738 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
26DF66D8233136460076ACA6 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66D7233136460076ACA6 /* AppDelegate.swift */; };
26DF66DA233136460076ACA6 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66D9233136460076ACA6 /* ViewController.swift */; };
26DF66DD233136460076ACA6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 26DF66DB233136460076ACA6 /* Main.storyboard */; };
26DF66DF233136470076ACA6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 26DF66DE233136470076ACA6 /* Assets.xcassets */; };
26DF66E2233136470076ACA6 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 26DF66E0233136470076ACA6 /* LaunchScreen.storyboard */; };
26DF66ED233136470076ACA6 /* IOSFullScreenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66EC233136470076ACA6 /* IOSFullScreenTests.swift */; };
26DF66F8233136470076ACA6 /* IOSFullScreenUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66F7233136470076ACA6 /* IOSFullScreenUITests.swift */; };
42C8EE420484E88D28837503 /* Pods_IOSFullScreen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 85CA70120AD0D203471CB7F5 /* Pods_IOSFullScreen.framework */; };
64FAE13E1550BFFAED130B07 /* Pods_IOSFullScreenTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 937908EB34261AC01440B337 /* Pods_IOSFullScreenTests.framework */; };
AE49A30D776B0238C3AF442D /* Pods_IOSFullScreenUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81170F2DD642E89CFA65F6B0 /* Pods_IOSFullScreenUITests.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
26DF66E9233136470076ACA6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 26DF66CC233136450076ACA6 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 26DF66D3233136460076ACA6;
remoteInfo = IOSFullScreen;
};
26DF66F4233136470076ACA6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 26DF66CC233136450076ACA6 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 26DF66D3233136460076ACA6;
remoteInfo = IOSFullScreen;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
17D7E4C45A10187E410660B5 /* Pods-IOSFullScreenUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenUITests.debug.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenUITests/Pods-IOSFullScreenUITests.debug.xcconfig"; sourceTree = "<group>"; };
26DF66D4233136460076ACA6 /* IOSFullScreen.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IOSFullScreen.app; sourceTree = BUILT_PRODUCTS_DIR; };
26DF66D7233136460076ACA6 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
26DF66D9233136460076ACA6 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
26DF66DC233136460076ACA6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
26DF66DE233136470076ACA6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
26DF66E1233136470076ACA6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
26DF66E3233136470076ACA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
26DF66E8233136470076ACA6 /* IOSFullScreenTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IOSFullScreenTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
26DF66EC233136470076ACA6 /* IOSFullScreenTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IOSFullScreenTests.swift; sourceTree = "<group>"; };
26DF66EE233136470076ACA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
26DF66F3233136470076ACA6 /* IOSFullScreenUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IOSFullScreenUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
26DF66F7233136470076ACA6 /* IOSFullScreenUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IOSFullScreenUITests.swift; sourceTree = "<group>"; };
26DF66F9233136470076ACA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
50F0D2063E957E2CFB3FC613 /* Pods-IOSFullScreenTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenTests.release.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenTests/Pods-IOSFullScreenTests.release.xcconfig"; sourceTree = "<group>"; };
7030247FF147F5595C8471BF /* Pods-IOSFullScreenUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenUITests.release.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenUITests/Pods-IOSFullScreenUITests.release.xcconfig"; sourceTree = "<group>"; };
750B863A0BD89C42022775B7 /* Pods-IOSFullScreen.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreen.release.xcconfig"; path = "Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen.release.xcconfig"; sourceTree = "<group>"; };
81170F2DD642E89CFA65F6B0 /* Pods_IOSFullScreenUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IOSFullScreenUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
85CA70120AD0D203471CB7F5 /* Pods_IOSFullScreen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IOSFullScreen.framework; sourceTree = BUILT_PRODUCTS_DIR; };
937908EB34261AC01440B337 /* Pods_IOSFullScreenTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IOSFullScreenTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AEC2707B63771A7B5BCBA3BA /* Pods-IOSFullScreenTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenTests.debug.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenTests/Pods-IOSFullScreenTests.debug.xcconfig"; sourceTree = "<group>"; };
F3E00AFDA1215B19C1529F65 /* Pods-IOSFullScreen.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreen.debug.xcconfig"; path = "Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
26DF66D1233136460076ACA6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
42C8EE420484E88D28837503 /* Pods_IOSFullScreen.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
26DF66E5233136470076ACA6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
64FAE13E1550BFFAED130B07 /* Pods_IOSFullScreenTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
26DF66F0233136470076ACA6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
AE49A30D776B0238C3AF442D /* Pods_IOSFullScreenUITests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
26DF66CB233136450076ACA6 = {
isa = PBXGroup;
children = (
26DF66D6233136460076ACA6 /* IOSFullScreen */,
26DF66EB233136470076ACA6 /* IOSFullScreenTests */,
26DF66F6233136470076ACA6 /* IOSFullScreenUITests */,
26DF66D5233136460076ACA6 /* Products */,
43C5451D39DA3D51EFD818D6 /* Pods */,
E918EB8D6DBF7EF69C9948FE /* Frameworks */,
);
sourceTree = "<group>";
};
26DF66D5233136460076ACA6 /* Products */ = {
isa = PBXGroup;
children = (
26DF66D4233136460076ACA6 /* IOSFullScreen.app */,
26DF66E8233136470076ACA6 /* IOSFullScreenTests.xctest */,
26DF66F3233136470076ACA6 /* IOSFullScreenUITests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
26DF66D6233136460076ACA6 /* IOSFullScreen */ = {
isa = PBXGroup;
children = (
26DF66D7233136460076ACA6 /* AppDelegate.swift */,
26DF66D9233136460076ACA6 /* ViewController.swift */,
26DF66DB233136460076ACA6 /* Main.storyboard */,
26DF66DE233136470076ACA6 /* Assets.xcassets */,
26DF66E0233136470076ACA6 /* LaunchScreen.storyboard */,
26DF66E3233136470076ACA6 /* Info.plist */,
);
path = IOSFullScreen;
sourceTree = "<group>";
};
26DF66EB233136470076ACA6 /* IOSFullScreenTests */ = {
isa = PBXGroup;
children = (
26DF66EC233136470076ACA6 /* IOSFullScreenTests.swift */,
26DF66EE233136470076ACA6 /* Info.plist */,
);
path = IOSFullScreenTests;
sourceTree = "<group>";
};
26DF66F6233136470076ACA6 /* IOSFullScreenUITests */ = {
isa = PBXGroup;
children = (
26DF66F7233136470076ACA6 /* IOSFullScreenUITests.swift */,
26DF66F9233136470076ACA6 /* Info.plist */,
);
path = IOSFullScreenUITests;
sourceTree = "<group>";
};
43C5451D39DA3D51EFD818D6 /* Pods */ = {
isa = PBXGroup;
children = (
F3E00AFDA1215B19C1529F65 /* Pods-IOSFullScreen.debug.xcconfig */,
750B863A0BD89C42022775B7 /* Pods-IOSFullScreen.release.xcconfig */,
AEC2707B63771A7B5BCBA3BA /* Pods-IOSFullScreenTests.debug.xcconfig */,
50F0D2063E957E2CFB3FC613 /* Pods-IOSFullScreenTests.release.xcconfig */,
17D7E4C45A10187E410660B5 /* Pods-IOSFullScreenUITests.debug.xcconfig */,
7030247FF147F5595C8471BF /* Pods-IOSFullScreenUITests.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
E918EB8D6DBF7EF69C9948FE /* Frameworks */ = {
isa = PBXGroup;
children = (
85CA70120AD0D203471CB7F5 /* Pods_IOSFullScreen.framework */,
937908EB34261AC01440B337 /* Pods_IOSFullScreenTests.framework */,
81170F2DD642E89CFA65F6B0 /* Pods_IOSFullScreenUITests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
26DF66D3233136460076ACA6 /* IOSFullScreen */ = {
isa = PBXNativeTarget;
buildConfigurationList = 26DF66FC233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreen" */;
buildPhases = (
9AB0355F19DEFA7A4ECCC777 /* [CP] Check Pods Manifest.lock */,
0BF3AED57F87BA9DB9D32908 /* [CP-User] Run Flutter Build Script */,
26DF66D0233136460076ACA6 /* Sources */,
26DF66D1233136460076ACA6 /* Frameworks */,
26DF66D2233136460076ACA6 /* Resources */,
D1C2795C35803D65EBC8B371 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = IOSFullScreen;
productName = IOSFullScreen;
productReference = 26DF66D4233136460076ACA6 /* IOSFullScreen.app */;
productType = "com.apple.product-type.application";
};
26DF66E7233136470076ACA6 /* IOSFullScreenTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 26DF66FF233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenTests" */;
buildPhases = (
06E395B0ACB759F609260858 /* [CP] Check Pods Manifest.lock */,
26DF66E4233136470076ACA6 /* Sources */,
26DF66E5233136470076ACA6 /* Frameworks */,
26DF66E6233136470076ACA6 /* Resources */,
);
buildRules = (
);
dependencies = (
26DF66EA233136470076ACA6 /* PBXTargetDependency */,
);
name = IOSFullScreenTests;
productName = IOSFullScreenTests;
productReference = 26DF66E8233136470076ACA6 /* IOSFullScreenTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
26DF66F2233136470076ACA6 /* IOSFullScreenUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 26DF6702233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenUITests" */;
buildPhases = (
C73209EF6AC199B8584ED9E2 /* [CP] Check Pods Manifest.lock */,
26DF66EF233136470076ACA6 /* Sources */,
26DF66F0233136470076ACA6 /* Frameworks */,
26DF66F1233136470076ACA6 /* Resources */,
);
buildRules = (
);
dependencies = (
26DF66F5233136470076ACA6 /* PBXTargetDependency */,
);
name = IOSFullScreenUITests;
productName = IOSFullScreenUITests;
productReference = 26DF66F3233136470076ACA6 /* IOSFullScreenUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
26DF66CC233136450076ACA6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1030;
LastUpgradeCheck = 1030;
ORGANIZATIONNAME = "Andrew Brogdon";
TargetAttributes = {
26DF66D3233136460076ACA6 = {
CreatedOnToolsVersion = 10.3;
};
26DF66E7233136470076ACA6 = {
CreatedOnToolsVersion = 10.3;
TestTargetID = 26DF66D3233136460076ACA6;
};
26DF66F2233136470076ACA6 = {
CreatedOnToolsVersion = 10.3;
TestTargetID = 26DF66D3233136460076ACA6;
};
};
};
buildConfigurationList = 26DF66CF233136460076ACA6 /* Build configuration list for PBXProject "IOSFullScreen" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 26DF66CB233136450076ACA6;
productRefGroup = 26DF66D5233136460076ACA6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
26DF66D3233136460076ACA6 /* IOSFullScreen */,
26DF66E7233136470076ACA6 /* IOSFullScreenTests */,
26DF66F2233136470076ACA6 /* IOSFullScreenUITests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
26DF66D2233136460076ACA6 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
26DF66E2233136470076ACA6 /* LaunchScreen.storyboard in Resources */,
26DF66DF233136470076ACA6 /* Assets.xcassets in Resources */,
26DF66DD233136460076ACA6 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
26DF66E6233136470076ACA6 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
26DF66F1233136470076ACA6 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
06E395B0ACB759F609260858 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-IOSFullScreenTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
0BF3AED57F87BA9DB9D32908 /* [CP-User] Run Flutter Build Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/../flutter_module/.metadata",
"${SRCROOT}/../flutter_module/.ios/Flutter/App.framework/App",
"${SRCROOT}/../flutter_module/.ios/Flutter/engine/Flutter.framework/Flutter",
"${SRCROOT}/../flutter_module/.ios/Flutter/flutter_export_environment.sh",
);
name = "[CP-User] Run Flutter Build Script";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -e\nset -u\nsource \"${SRCROOT}/../flutter_module/.ios/Flutter/flutter_export_environment.sh\"\n\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh build";
};
9AB0355F19DEFA7A4ECCC777 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-IOSFullScreen-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
C73209EF6AC199B8584ED9E2 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-IOSFullScreenUITests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
D1C2795C35803D65EBC8B371 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
26DF66D0233136460076ACA6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
26DF66DA233136460076ACA6 /* ViewController.swift in Sources */,
26DF66D8233136460076ACA6 /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
26DF66E4233136470076ACA6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
26DF66ED233136470076ACA6 /* IOSFullScreenTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
26DF66EF233136470076ACA6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
26DF66F8233136470076ACA6 /* IOSFullScreenUITests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
26DF66EA233136470076ACA6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 26DF66D3233136460076ACA6 /* IOSFullScreen */;
targetProxy = 26DF66E9233136470076ACA6 /* PBXContainerItemProxy */;
};
26DF66F5233136470076ACA6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 26DF66D3233136460076ACA6 /* IOSFullScreen */;
targetProxy = 26DF66F4233136470076ACA6 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
26DF66DB233136460076ACA6 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
26DF66DC233136460076ACA6 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
26DF66E0233136470076ACA6 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
26DF66E1233136470076ACA6 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
26DF66FA233136470076ACA6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
26DF66FB233136470076ACA6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
26DF66FD233136470076ACA6 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F3E00AFDA1215B19C1529F65 /* Pods-IOSFullScreen.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = IOSFullScreen/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreen;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
26DF66FE233136470076ACA6 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 750B863A0BD89C42022775B7 /* Pods-IOSFullScreen.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = IOSFullScreen/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreen;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
26DF6700233136470076ACA6 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AEC2707B63771A7B5BCBA3BA /* Pods-IOSFullScreenTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = IOSFullScreenTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IOSFullScreen.app/IOSFullScreen";
};
name = Debug;
};
26DF6701233136470076ACA6 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 50F0D2063E957E2CFB3FC613 /* Pods-IOSFullScreenTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = IOSFullScreenTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IOSFullScreen.app/IOSFullScreen";
};
name = Release;
};
26DF6703233136470076ACA6 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 17D7E4C45A10187E410660B5 /* Pods-IOSFullScreenUITests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = IOSFullScreenUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = IOSFullScreen;
};
name = Debug;
};
26DF6704233136470076ACA6 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7030247FF147F5595C8471BF /* Pods-IOSFullScreenUITests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = IOSFullScreenUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = IOSFullScreen;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
26DF66CF233136460076ACA6 /* Build configuration list for PBXProject "IOSFullScreen" */ = {
isa = XCConfigurationList;
buildConfigurations = (
26DF66FA233136470076ACA6 /* Debug */,
26DF66FB233136470076ACA6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
26DF66FC233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreen" */ = {
isa = XCConfigurationList;
buildConfigurations = (
26DF66FD233136470076ACA6 /* Debug */,
26DF66FE233136470076ACA6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
26DF66FF233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
26DF6700233136470076ACA6 /* Debug */,
26DF6701233136470076ACA6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
26DF6702233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
26DF6703233136470076ACA6 /* Debug */,
26DF6704233136470076ACA6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 26DF66CC233136450076ACA6 /* Project object */;
}

@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:SimpleIOSExample.xcodeproj">
location = "self:IOSFullScreen.xcodeproj">
</FileRef>
</Workspace>

@ -2,7 +2,7 @@
<Workspace
version = "1.0">
<FileRef
location = "group:SimpleIOSExample.xcodeproj">
location = "group:IOSFullScreen.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">

@ -7,15 +7,15 @@ import Flutter
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var flutterEngine : FlutterEngine?;
var flutterEngine : FlutterEngine?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
self.flutterEngine = FlutterEngine(name: "io.flutter", project: nil);
self.flutterEngine?.run(withEntrypoint: nil);
// Instantiate Flutter engine
self.flutterEngine = FlutterEngine(name: "io.flutter", project: nil)
self.flutterEngine?.run(withEntrypoint: nil)
return true
}
}

@ -13,23 +13,23 @@
<!--View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="ViewController" customModule="SimpleIOSExample" customModuleProvider="target" sceneMemberID="viewController">
<viewController id="BYZ-38-t0r" customClass="ViewController" customModule="IOSFullScreen" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cha-dF-ymy">
<rect key="frame" x="63.5" y="433" width="287" height="30"/>
<state key="normal" title="Tap me to launch a Flutter View Controller"/>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cnf-d3-wlx">
<rect key="frame" x="105" y="432" width="204" height="30"/>
<state key="normal" title="Launch Flutter ViewController"/>
<connections>
<action selector="buttonWasTapped:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="GLf-oY-4ya"/>
<action selector="buttonWasTapped:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="yLP-26-wPf"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Cha-dF-ymy" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="uZ5-CP-pGV"/>
<constraint firstItem="Cha-dF-ymy" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="znS-vE-sO1"/>
<constraint firstItem="Cnf-d3-wlx" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="IZY-8s-o5L"/>
<constraint firstItem="Cnf-d3-wlx" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="ofh-fr-CHR"/>
</constraints>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>

@ -6,10 +6,10 @@ import UIKit
import Flutter
class ViewController: UIViewController {
@IBAction func buttonWasTapped(_ sender: Any) {
let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine;
let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)!;
let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine
let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)!
self.present(flutterViewController, animated: false, completion: nil)
}
}

@ -3,9 +3,9 @@
// found in the LICENSE file.
import XCTest
@testable import SimpleIOSExample
@testable import IOSFullScreen
class SimpleIOSExampleTests: XCTestCase {
class IOSFullScreenTests: XCTestCase {
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.

@ -4,7 +4,7 @@
import XCTest
class SimpleIOSExampleUITests: XCTestCase {
class IOSFullScreenUITests: XCTestCase {
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.

@ -1,25 +1,22 @@
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
# These three lines add the dependencies for example_module to the workspace
# for the project:
flutter_application_path = '../example_module'
`pushd "#{flutter_application_path}" && flutter create . && popd`
flutter_application_path = '../flutter_module'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
target 'SimpleIOSExample' do
target 'IOSFullScreen' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for SimpleIOSExample
# Pods for IOSFullScreen
install_all_flutter_pods(flutter_application_path)
target 'SimpleIOSExampleTests' do
target 'IOSFullScreenTests' do
inherit! :search_paths
# Pods for testing
end
target 'SimpleIOSExampleUITests' do
target 'IOSFullScreenUITests' do
inherit! :search_paths
# Pods for testing
end

@ -0,0 +1,28 @@
PODS:
- Flutter (1.0.0)
- flutter_module (0.0.1):
- Flutter
- FlutterPluginRegistrant (0.0.1):
- Flutter
DEPENDENCIES:
- Flutter (from `../flutter_module/.ios/Flutter/engine`)
- flutter_module (from `../flutter_module/.ios/Flutter`)
- FlutterPluginRegistrant (from `../flutter_module/.ios/Flutter/FlutterPluginRegistrant`)
EXTERNAL SOURCES:
Flutter:
:path: "../flutter_module/.ios/Flutter/engine"
flutter_module:
:path: "../flutter_module/.ios/Flutter"
FlutterPluginRegistrant:
:path: "../flutter_module/.ios/Flutter/FlutterPluginRegistrant"
SPEC CHECKSUMS:
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
flutter_module: 37f078337caf8acad3074374a49bf81442fd3e07
FlutterPluginRegistrant: d59dd07dd90e9c6430996073575a5bd1ea19677e
PODFILE CHECKSUM: 3a2cacb59163f4a25654a84fcd92b179f682c008
COCOAPODS: 1.7.5
Loading…
Cancel
Save