cmd/gomobile: add a dummy Info.plist for happy manual codesign.
Fixes golang/go#12604.
Change-Id: I94e94c32ce42022b58097c349fcbb90edb0a2f13
Reviewed-on: https://go-review.googlesource.com/14543
Reviewed-by: David Crawshaw <crawshaw@golang.org>
diff --git a/cmd/gomobile/bind_iosapp.go b/cmd/gomobile/bind_iosapp.go
index e2702f0..b905aec 100644
--- a/cmd/gomobile/bind_iosapp.go
+++ b/cmd/gomobile/bind_iosapp.go
@@ -8,6 +8,7 @@
"fmt"
"go/build"
"io"
+ "io/ioutil"
"os/exec"
"path/filepath"
"strings"
@@ -77,12 +78,32 @@
}
// Copy header file next to output archive.
- return copyFile(
+ err = copyFile(
headers+"/"+strings.Title(name)+".h",
tmpdir+"/objc/Go"+strings.Title(name)+".h",
)
+ if err != nil {
+ return err
+ }
+
+ resources := buildO + "/Versions/A/Resources"
+ if err := mkdir(resources); err != nil {
+ return err
+ }
+ if err := symlink("Versions/Current/Resources", buildO+"/Resources"); err != nil {
+ return err
+ }
+ return ioutil.WriteFile(buildO+"/Resources/Info.plist", []byte(iosBindInfoPlist), 0666)
}
+const iosBindInfoPlist = `<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+ <plist version="1.0">
+ <dict>
+ </dict>
+ </plist>
+`
+
func goIOSBindArchive(name, path string, env []string) (string, error) {
arch := getenv(env, "GOARCH")
archive := filepath.Join(tmpdir, name+"-"+arch+".a")