README.md: use the -buildmode=exe flag for running demos

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-06-09 15:41:28 +02:00
parent aad2fee36e
commit 821862b4c6
2 changed files with 20 additions and 20 deletions
+19 -19
View File
@@ -60,16 +60,17 @@ To build a Gio program as an .aar package, use the gio tool. For example,
$ go run gioui.org/cmd/gio -target android gioui.org/apps/gophers $ go run gioui.org/cmd/gio -target android gioui.org/apps/gophers
produces gophers.aar, ready to use in an Android project. To run produces gophers.aar, ready to use in an Android project. To run
the demo on an Android device: the demo on an Android device, use -buildmode=exe:
$ git clone https://git.sr.ht/~eliasnaur/gio $ go run gioui.org/cmd/gio -buildmode exe -target android gioui.org/apps/gophers
$ cd gio/apps/gophers/android
$ go run gioui.org/cmd/gio -target android .. Install the apk to a running emulator or attached device with adb:
$ ./gradlew installDebug # gradlew.bat on Windows
$ adb install gophers.apk
The gio tool passes command line arguments to os.Args at runtime: The gio tool passes command line arguments to os.Args at runtime:
$ go run gioui.org/cmd/gio -target android .. -token <github token> $ go run gioui.org/cmd/gio -buildmode exe -target android gioui.org/apps/gophers -token <github token>
## iOS/tvOS ## iOS/tvOS
@@ -85,28 +86,27 @@ outputs Gophers.framework with the demo program built for iOS. For tvOS, use `-t
Building for tvOS requires (the not yet released) Go 1.13. Building for tvOS requires (the not yet released) Go 1.13.
To run the demo on an iOS device, use the sample Xcode project: To run the demo on an iOS device, use -buildmode=exe:
$ git clone https://git.sr.ht/~eliasnaur/gio $ go run gioui.org/cmd/gio -buildmode exe -target ios -appid <bundle-id> gioui.org/apps/gophers
$ cd gio/apps
$ go run gioui.org/cmd/gio -target ios -o gophers/ios/gophers/Gophers.framework ./gophers
$ open gophers/ios/gophers.xcodeproj/
You need to provide a valid bundle identifier and set up code signing in Xcode to run the demo where <bundle-id> is a valid bundle identifier previously provisioned in Xcode for your device.
on a device. If you're using Go 1.12 or older, you also need to disable bitcode. Use the Window=>Devices and Simulators to install the ipa file to the device or use
[ideviceinstaller](https://github.com/libimobiledevice/ideviceinstaller):
$ ideviceinstaller -i gophers.ipa
## Webassembly/WebGL ## Webassembly/WebGL
To run a Gio program in a browser with WebAssembly and WebGL support, use the Go webassembly To run a Gio program in a browser with WebAssembly and WebGL support, use the Go webassembly
driver and add a <div id="giowindow"> element to a HTML page. To run the Gio demo: driver and add a <div id="giowindow"> element to a HTML page. The gio tool can also output
a directory ready to view in a browser:
$ go get github.com/shurcooL/goexec $ go get github.com/shurcooL/goexec
$ git clone https://git.sr.ht/~eliasnaur/gio $ go run gioui.org/cmd/gio -target js gioui.org/apps/gophers
$ cd gio/apps/ $ goexec 'http.ListenAndServe(":8080", http.FileServer(http.Dir("gophers")))'
$ GOOS=js GOARCH=wasm go build -o gophers/web/main.wasm ./gophers/
$ goexec 'http.ListenAndServe(":8080", http.FileServer(http.Dir("gophers/web")))'
and then open http://localhost:8080 in a browser. Open http://localhost:8080 in a browser to run the app.
## Issues ## Issues
+1 -1
View File
@@ -30,7 +30,7 @@ type buildInfo struct {
func main() { func main() {
flag.Usage = func() { flag.Usage = func() {
fmt.Fprintf(os.Stderr, "Gio is a tool for building and running gio programs.\n\n") fmt.Fprintf(os.Stderr, "Gio is a tool for building gio programs.\n\n")
fmt.Fprintf(os.Stderr, "Usage:\n\n\tgio [flags] <pkg>\n\n") fmt.Fprintf(os.Stderr, "Usage:\n\n\tgio [flags] <pkg>\n\n")
flag.PrintDefaults() flag.PrintDefaults()
os.Exit(2) os.Exit(2)