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")