1870 Commits

Author SHA1 Message Date
Chris Bracken
0ee3f57a10 Build Flutter app as a framework on iOS (#8971)
**THIS IS A BREAKING CHANGE.** See below for migration steps for
existing projects.

Previously, Flutter app code was built as a raw dylib on iOS.  Dynamic
libraries outside of a framework bundle are not supported on iOS, except
for the system Swift libraries provided by Xcode.

See:
https://developer.apple.com/library/content/technotes/tn2435/_index.html#//apple_ref/doc/uid/DTS40017543-CH1-TROUBLESHOOTING_BUNDLE_ERRORS-EMBEDDED__DYLIB_FILES

* Migrates Xcode build from app.dylib to App.framework
* Migrates flutter create template
* Migrates example projects

Migration steps for existing projects
=====================================

The following steps should be taken from the root of your Flutter
project:

1. Edit `ios/.gitignore`: add `/Flutter/App.framework` on a new line.
2. In the Xcode project navigator, remove `app.dylib` from the Flutter
   folder. Delete this file from the `ios/Flutter` directory in your project.
3. Run a build to generate `ios/Flutter/App.framework`. From the command
   line, run `flutter build ios`. If you have not configured app signing
   in Xcode, an alternative method is to open the simulator, then run
   `flutter run -d iP`.
4. In the Xcode project navigator, select the `Runner` project. In the
   project settings that are displayed in the main view, ensure that the
   `Runner` target is selected. You can verify this by exposing the
   sidebar using the [| ] icon in the upper-left corner of the main
   view.
5. Select the *General* tab in the project settings. Under the
   *Embedded Binaries* section, click '+' to add `App.framework`. In the
   sheet that drops down, click the *Add Other...* button. Navigate to
   the `ios/Flutter` directory and select `App.framework`. Click *Open*.
   In the sheet that drops down, select *Create folder references*, then
   click *Finish*.
6. In the project settings, verify that `App.framework` has been added to the
   *Embedded Binaries* and *Linked Frameworks and Libraries* lists.
7. In the Xcode project navigator, drag `App.framework` under the
   Flutter folder.
8. In the Xcode project navigator, select `Flutter` then from the
   *File* menu, select *Add Files to "Runner"...*. Navigate to the
   `ios/Flutter` directory, select `AppFrameworkInfo.plist` and click
   the *Add* button.
9. From the command line, in your project directory, run
   `flutter build clean`, then `flutter run`.

At this point your project should be fully migrated.
2017-03-22 17:41:49 -07:00
Sarah Zakarias
972da54320 Refactor platform_services sample (#8949)
* Refactor platform_services sample

* removed exception
2017-03-22 13:18:38 +01:00
Sarah Zakarias
9adf1bf1b6 Open storyboard documents in Xcode 7 format (#8946) 2017-03-22 10:38:00 +01:00
Alexandre Ardhuin
578ca0a295 use color.shadeXxx instead of color[Xxx] (#8932)
* use color.shadeXxx instead of color[Xxx]

* remove calls to .shade500 on MaterialColor

* remove calls to .shade200 on MaterialAccentColor

* fix test
2017-03-21 23:14:55 +01:00
Adam Barth
269538df58 Add a constant for padding in a Material ListView (#8918)
Fixes #8235
2017-03-20 16:18:41 -07:00
Adam Barth
97816e1571 Rename Dismissable to Dismissible (#8919)
The latter is the proper spelling.

Fixes #8883
2017-03-20 16:17:08 -07:00
Sarah Zakarias
d1f73fd0ad Add integration test for the Platform Services app (#8826) 2017-03-20 22:19:03 +01:00
Hans Muller
031e042eee Now each Colors.foo constant is-a Color and a color swatch (#8833) 2017-03-17 15:24:54 -07:00
Adam Barth
5cf04b6141 Rename ImageFit to BoxFit (#8871)
This machinery is useful for arbitrary boxes (e.g., with FittedBox).

Fixes #6463
2017-03-17 15:21:55 -07:00
Mikkel Nygaard Ravn
dce4bf8599 Remove old platform messaging API (#8837)
Breaking change: removed deprecated methods of PlatformMessages, leaving only binary messaging there. All other use of platform communication now goes through PlatformMessageChannel and PlatformMethodChannels. Retained use of String and JSON codecs for now.

Companion engine PR: flutter/engine#3482
2017-03-17 11:56:50 +01:00
Alexandre Ardhuin
a0769f2488 apply the upcoming rule unnecessary_this (#8838) 2017-03-17 08:05:42 +01:00
Sarah Zakarias
6314a6c091 Update iOS part of flutter_view to use the new platform message channel (#8762)
* Update iOS part of flutter_view to use the new platform message channel

* remove newline

* comments
2017-03-16 09:32:19 +01:00
Alexandre Ardhuin
2166ea5b7f apply partially the upcoming unnecessary_lambdas (#8810) 2017-03-15 23:09:58 +01:00
Alexandre Ardhuin
a9ba0e2f88 prefer_initializing_formals (#8797) 2017-03-15 18:30:55 +01:00
Adam Barth
fd51093146 Rename SliverPadding.child to SliverPadding.sliver (#8757)
The new name follows the pattern of the name suggesting which layout
protocol the parent expects the child to speak.

Fixes #8664
2017-03-14 14:07:13 -07:00
Hans Muller
859da8d28b Rename ListItem to ListTile, document ListTile fixed height geometry (#8769) 2017-03-14 11:46:30 -07:00
Adam Barth
6b75ac3fde Rename dependenciesChanged to didChangeDependencies (#8767)
The new name matches the style guide. (The old name was just old and predated
the style guide.)

Fixes #8000
2017-03-14 11:21:53 -07:00
Sarah Zakarias
616a7bed0f Update Android part of flutter_view to use the new platform message c… (#8729)
* update Android part of flutter_view to use the new platform message channel.

* addressed comments

* addressed comments
2017-03-14 09:38:09 +01:00
Ian Hickson
8eac6cd0da Test API improvements: pumpAndSettle, autogenerate pointer IDs (#8751) 2017-03-13 16:27:15 -07:00
Mikkel Nygaard Ravn
898b6f8549 Enable iOS use of platform channels (#8695)
Changed standard encoding to use host endianness. Engine roll.
2017-03-14 00:24:41 +01:00
Alexandre Ardhuin
16d800b204 normalize setter format (#8708) 2017-03-10 21:52:30 +01:00
Yegor
9f020d6104 upgrade package:http so we no longer need custom MultipartRequest (#8715) 2017-03-10 11:05:06 -08:00
Sarah Zakarias
43281de36b Add flutter_view sample (#8486)
* Add flutter_view sample

* Removed platform_services files

* Addressed comments

* update README.md

* Addressed comments.
2017-03-09 12:53:01 +01:00
Sarah Zakarias
f0e71cb15c Add support for earlier Android versions in platform_services example (#8621)
* Add support for earlier Android versions

* Addressed comments
2017-03-09 10:41:39 +01:00
Alexandre Ardhuin
6a2148dde9 prefer const constructors (#8594)
* prefer const constructors

* fix double throw
2017-03-08 14:58:14 -08:00
Alexandre Ardhuin
ce734e8f24 apply the upcoming rule : directives_ordering (#8582) 2017-03-08 14:58:09 -08:00
Alexandre Ardhuin
329e52c02c apply upcoming rule use_collection_literals_when_possible (#8649) 2017-03-08 14:57:31 -08:00
Chris Bracken
53daa55f93 Rollback example Xcode project changes (#8645)
* Revert "Update Hello World to latest iOS project template (#8634)"

This reverts commit 6dc6ed4e977fc9b80325fffbce6c12aadc9de82e.

* Revert "Update Gallery to latest iOS project template (#8637)"

This reverts commit 84c42aac0ed8298bfcdf88bcf8f97a94520fa321.

* Revert "Update Stocks to latest iOS project template (#8640)"

This reverts commit 90774c188ad6a519a192338c2c26e1f5737c8001.
2017-03-07 21:16:34 -08:00
Ian Hickson
68fb3e4868 Farewell, local fork of the http package. (#8642) 2017-03-07 18:08:36 -08:00
Chris Bracken
90774c188a Update Stocks to latest iOS project template (#8640) 2017-03-07 17:42:31 -08:00
Chris Bracken
19ad3ea456 Enable landscape mode in Flutter Gallery (iOS) (#8638)
Already enabled on Android.
2017-03-07 17:13:20 -08:00
Chris Bracken
84c42aac0e Update Gallery to latest iOS project template (#8637) 2017-03-07 17:13:10 -08:00
Chris Bracken
6dc6ed4e97 Update Hello World to latest iOS project template (#8634) 2017-03-07 16:36:07 -08:00
Chris Bracken
a4125f3b0e Declare Xcode 8.3.x compatibility in project files (#8622)
Update templates and example Xcode project files to indicate they've
been tested for Xcode 8.3 compatibility.
2017-03-07 13:11:41 -08:00
Chris Bracken
3b4f6b1ae0 Update Example iOS icon assets for Xcode 8.2.x (#8616)
Gallery and stocks:
* Add 20x20 notification icons.
* Remove unused 76x76 (3x scale) icon.

Other examples: update JSON to Xcode 8.2.1 defaults

Fixes warnings for missing/unused icon assets in Xcode 8.2.x
2017-03-07 12:29:08 -08:00
Hans Muller
44dbecc6be Animation Demo performance tweaks (#8586) 2017-03-06 11:06:05 -08:00
Sarah Zakarias
63b9f56c55 Update platform_services to query battery level instead of location. (#8554) 2017-03-06 11:52:31 +01:00
Chris Bracken
33ef949efc Declare locals as final where not reassigned (#8576)
Fix a few regressions.
2017-03-03 18:40:19 -08:00
Chris Bracken
7a52fb6772 Declare locals final where not reassigned (stocks) (#8573) 2017-03-03 18:05:27 -08:00
Chris Bracken
4c8c420e0b Declare locals final where not reassigned (layers) (#8572) 2017-03-03 18:04:27 -08:00
Chris Bracken
96eea437b2 Declare locals final where not reassigned (gallery) (#8571) 2017-03-03 17:51:21 -08:00
Hans Muller
54d9541638 Added a gallery animation demo (#8547) 2017-03-03 11:38:19 -08:00
Chris Bracken
c54cc96905 Default contacts demo to pinned AppBar (#8445) 2017-03-02 14:40:13 -08:00
xster
e55c7239ec Fix test (#8536) 2017-03-02 12:46:43 -08:00
Michael Thomsen
55e10a6630 Add exception handling (#8528) 2017-03-02 16:15:52 +01:00
Alexandre Ardhuin
69b6bb87d1 prefer_is_empty and prefer_is_not_empty (#8474) 2017-03-01 22:17:30 -08:00
Ian Hickson
2f002885cc Allow two shrine order pages to be on the screen at the same time. (#8507)
This happens when, for instance, you go back then forward quickly.
2017-03-01 22:07:37 -08:00
xster
a76c352d57 Add Cupertino to gallery and add CupertinoButton and many yak friends (#8411)
* Add cupertino to gallery and add CupertinoButto

* Use single quotes

* Add disabled state

* Some review notes

* Make button animation more responsive and tweak timing

* Renamed things Cupertino

* Button with background, move cupertino demos, move material demos

* Move 2 level list too

* Refactor various demo route names

* Some review notes

* More reviews and add test

* Linter as

* Move private constant up
2017-03-01 16:06:48 -08:00
Michael Thomsen
34c63aff84 Update platform-services to new APIs (#8488) 2017-03-01 17:36:07 +01:00
Michael Thomsen
1b52d46b0e Add missing IntelliJ metadata files to platform_services (#8487) 2017-03-01 15:43:47 +01:00