From 5ac1b6ea3c1f32456481e4df7902b0cbc345204f Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Wed, 14 Aug 2019 14:58:28 +0200 Subject: [PATCH] cmd/gio: set DTPlatformName, DTPlatformVersion, UIRequiredDeviceCapabilities Signed-off-by: Elias Naur --- cmd/gio/gio.go | 8 ++++++-- cmd/gio/iosbuild.go | 37 +++++++++++++++++++++++++++---------- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/cmd/gio/gio.go b/cmd/gio/gio.go index 4c44e820..e8e05b27 100644 --- a/cmd/gio/gio.go +++ b/cmd/gio/gio.go @@ -28,6 +28,8 @@ type buildInfo struct { name string pkg string ldflags string + target string + appID string archs []string } @@ -65,8 +67,10 @@ func main() { } name = filepath.Base(name) bi := &buildInfo{ - name: name, - pkg: pkg, + name: name, + pkg: pkg, + target: *target, + appID: *appID, } switch *target { case "js": diff --git a/cmd/gio/iosbuild.go b/cmd/gio/iosbuild.go index bc454731..eb5be1e6 100644 --- a/cmd/gio/iosbuild.go +++ b/cmd/gio/iosbuild.go @@ -179,8 +179,27 @@ int main(int argc, char * argv[]) { if _, err := runCmd(lipo); err != nil { return err } + infoPlist := buildInfoPlist(bi) + plistFile := filepath.Join(app, "Info.plist") + if err := ioutil.WriteFile(plistFile, []byte(infoPlist), 0660); err != nil { + return err + } + if _, err := runCmd(exec.Command("plutil", "-convert", "binary1", plistFile)); err != nil { + return err + } + return nil +} + +func buildInfoPlist(bi *buildInfo) string { appName := strings.Title(bi.name) - infoPlistSrc := fmt.Sprintf(` + var platform string + switch bi.target { + case "ios": + platform = "iphoneos" + case "tvos": + platform = "appletvos" + } + return fmt.Sprintf(` @@ -202,16 +221,14 @@ int main(int argc, char * argv[]) { 1 UILaunchStoryboardName LaunchScreen + UIRequiredDeviceCapabilities + arm64 + DTPlatformName + %s + DTPlatformVersion + 9.0 -`, *appID, appName) - infoPlist := filepath.Join(app, "Info.plist") - if err := ioutil.WriteFile(infoPlist, []byte(infoPlistSrc), 0660); err != nil { - return err - } - if _, err := runCmd(exec.Command("plutil", "-convert", "binary1", infoPlist)); err != nil { - return err - } - return nil +`, bi.appID, appName, platform) } func archiveIOS(tmpDir, target, frameworkRoot string, bi *buildInfo) error {