Commit Graph

7 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
9adf1bf1b6 Open storyboard documents in Xcode 7 format (#8946) 2017-03-22 10:38:00 +01: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
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
Sarah Zakarias
63b9f56c55 Update platform_services to query battery level instead of location. (#8554) 2017-03-06 11:52:31 +01:00
szakarias
93c6dbb9f7 Add platform_services sample (#8058)
* Add platform_services sample

* update build.gradle to use latest scripts

* use FlutterActivity

* Updated ExampleInstrumentedTest.java and deleted FlutterPlugin.groovy

* Remove getRandom code from main.dart

* remove unused import
2017-02-13 11:14:34 +01:00