This pach fixes a total of 6 issues caused by gogio,
when uploading .ipa to Apple Connect/Apple Store.
1. Asset validation failed (90474), caused by not set
"UIInterfaceOrientationPortraitUpside" in plist.
2. Asset validation failed (90482), the executable contains
bitcode. Now, gogio will use "bitcode_strip" to remove such
bitcode.
3. Asset validation failed (90060), the version can only have
three non-negative numbers. Using values from semVer is
invalid (such as 1.2.3.4), it must be either 1.2.3 or
1.2.34. Now, gogio uses the later one.
4. Asset validation failed (90476), supporting multitask on
iPad requires UILaunchScreen. That is tricky to solve, instead
gogio will NOT support multitask on iPad.
5. Asset validation failed (90208), version mismatch between
plist and binary. Now, gogio will use compile flags to set
the version AND will use the proper minSdk on plist.
6. Asset validation failed (90023), missing 152x152 icon for
iPad. Now, gogio will create such icon.
Signed-off-by: inkeliz <inkeliz@inkeliz.com>
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This patch enables `-signkey` to load provisioning profiles.
Signed-off-by: inkeliz <inkeliz@inkeliz.com>
Signed-off-by: Elias Naur <mail@eliasnaur.com>
Using buildmode exe directly is faster to build, avoids the runMain
linker mode hack, and leaves more control to Gio instead of gogio's
synthetic main function.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
As suggested in review, explicitly specifying the version code with
-version major.minor.patch.versioncode provides more flexibility than
the a version code implied from the major, minor, patch fields.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
Since Go 1.20 c-shared object files may lack a reference to the resolv
library and it must be added manually to the linking step.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
Go 1.16 is already old, and the GOOS detection code fails for me on
Nix:
$ go run gioui.org/cmd/gogio -target ios ../gio-example/kitchen
gogio: go tool dist list failed: go tool dist: FAILED: not a Git repo; must put a VERSION file in $GOROOT
The error message points to a Nix packaging issue, but removing the
fallback is easier to fix.
Signed-off-by: Elias Naur <mail@eliasnaur.com>