Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions packages/geolocator_watchos/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@
filter, as geolocator_apple's does: a reduced-accuracy fix can
legitimately be old.

**Example**

* `geolocator`'s own example app, the Baseflow demo, replaces a hand-written
demo (`AUTHORING.md` §3). Its code is unchanged; the example adds
`url_launcher_watchos`, so the template's links open on the watch, and
scales its content by 0.6 so the phone layout fits the watch screen.

**Docs**

* README and PORTING_REPORT: the three members move out of "Not supported on
Expand Down
12 changes: 11 additions & 1 deletion packages/geolocator_watchos/PORTING_REPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
| Implementation | ✅ Working (CoreLocation FFI) |
| watchOS capability | Full — query, permission, accuracy, service status, and position stream. Accuracy, service status and the `AppleSettings` fields are checked by host tests; the temporary full-accuracy prompt and background updates are not yet checked on a physical watch |
| Host unit tests (`flutter-watchos test`) | ✅ pass |
| Upstream integration test | ○ none upstream (Baseflow manual demo) — verified by building + running the example on-sim |
| Upstream integration test | ○ none upstream (Baseflow manual demo) — verified by building + running the example on-sim (watchOS 27.0 Simulator, 2026-10-24) |
| Internal unified demo | ✅ included |

Marking: ✅ full / passes · ◐ partial — reason given · ○ not applicable (no upstream test) · ✗ unsupported on watchOS.
Expand All @@ -21,6 +21,16 @@ Source: `geolocator_apple` 2.3.14
Base platform: ios (Objective-C)
Output: `./geolocator_watchos`

## Example

`geolocator`'s own example app, the Baseflow demo, ported with
`flutter-watchos plugin port --include-example`. It replaces a hand-written
demo (`AUTHORING.md` §3). Its code is unchanged; the README lists its two
watchOS deviations: `url_launcher_watchos` in the example's pubspec, so the
template's links open on the watch, and `FlutterWatchOSContentScale` 0.6 in
the runner's `Info.plist`, so the phone layout fits the watch screen. The
package's `LICENSE` is Baseflow's MIT licence, which covers the demo.

## This is an FFI scaffold

Method-channel plugins are not supported on watchOS — a `pluginClass:`-only implementation builds, but its channel calls throw `MissingPluginException`. The supported plugin model is **dart:ffi**, so this package is an FFI scaffold, not a copy of the source plugin's native code:
Expand Down
21 changes: 17 additions & 4 deletions packages/geolocator_watchos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,23 @@ updates with the wrist down.
| Apple Watch (`watchos`) | yes |
| Watch simulator (`watchsimulator`) | query methods verified; live fixes need a simulated location |

The example is geolocator's own upstream Baseflow demo, ported verbatim. That
demo ships no `integration_test/`, so this package is verified by building and
running the example on the watch simulator; the interactive permission prompt
and live position updates are verified on a physical Apple Watch.
The interactive permission prompt and live position updates were verified on
a physical Apple Watch with 0.1.x. 0.2.0 has run only on the Simulator so far
([#16](https://github.com/flutterwatch/plugins/issues/16)).

## Example

The example is `geolocator`'s own example app, the Baseflow demo, ported with
`flutter-watchos plugin port --include-example`. Its code is unchanged; these
are its watchOS deviations:

| Where | Change | Why |
|---|---|---|
| `example/pubspec.yaml` | adds `url_launcher_watchos: ^0.1.1` | the Baseflow template opens its links with `url_launcher`, which needs it to open them on the watch |
| `example/watchos/Runner/Info.plist` | sets `FlutterWatchOSContentScale` to `0.6` | the demo is designed for a phone and overflowed the watch screen by 106 pixels on a 46 mm Simulator; the scale lays it out in a logical space 1.67 times the screen's size and draws it smaller, without touching the Dart code |

The demo ships no `integration_test/`, so this package is verified by building
and running the example on the watch simulator.

## Not supported on watchOS

Expand Down
Loading
Loading