<p dir="auto">I have a change to the gomobile tool that appears to make .app bundles produced with Xcode 7. It needs a bit more testing.</p>
<p dir="auto">The gist of it is that the DevelopmentTeam ID needs to be in the project file. Unfortunately this requires a bit of machinery to detect, and I fear on complex setups we will have to guess which is the correct ID. We probably already were taking the first team ID, so that's not a new problem.</p>
<p dir="auto">Please answer these questions before submitting your issue. Thanks!</p>
<h3 dir="auto">What version of Go are you using (<code class="notranslate">go version</code>)?</h3>
<p dir="auto">go 1.8<br>
gomobile version +0f31740 Wed Apr 19 17:20:05 2017 +0000 (android,ios); androidSDK=</p>
<h3 dir="auto">What operating system and processor architecture are you using (<code class="notranslate">go env</code>)?</h3>
<p dir="auto">macos<br>
xcode 8.1</p>
<h3 dir="auto">What did you do?</h3>
<p dir="auto">build example flappy and upload it to itunesconnect<br>
edit below and go install gomobile<br>
--- a/cmd/gomobile/build_iosapp.go<br>
+++ b/cmd/gomobile/build_iosapp.go<br>
@@ -31,7 +31,8 @@ func goIOSBuild(pkg *build.Package) (map[string]bool, error) {<br>
infoplist := new(bytes.Buffer)<br>
if err := infoplistTmpl.Execute(infoplist, infoplistTmplData{<br>
// TODO: better bundle id.</p>
<ul dir="auto">
<li>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="          BundleID: &quot;org.golang.todo.&quot; + productName,"><pre class="notranslate"><code class="notranslate">          BundleID: "org.golang.todo." + productName,
</code></pre></div>
</li>
</ul>
<ul dir="auto">
<li>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="          BundleID: &quot;org.xxxx.mug&quot;,
          Name:     strings.Title(path.Base(pkg.ImportPath)),
  }); err != nil {
          return nil, err"><pre class="notranslate"><code class="notranslate">          BundleID: "org.xxxx.mug",
          Name:     strings.Title(path.Base(pkg.ImportPath)),
  }); err != nil {
          return nil, err
</code></pre></div>
</li>
</ul>
<p dir="auto">@@ -366,6 +367,7 @@ const projPbxproj = `// !$<em>UTF8</em>$!<br>
CLANG_WARN_UNREACHABLE_CODE = YES;<br>
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;<br>
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";</p>
<ul dir="auto">
<li>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  DEVELOPMENT_TEAM = xxxxxxxxx;//
   COPY_PHASE_STRIP = NO;
   DEBUG_INFORMATION_FORMAT = &quot;dwarf-with-dsym&quot;;"><pre class="notranslate"><code class="notranslate">  DEVELOPMENT_TEAM = xxxxxxxxx;//
   COPY_PHASE_STRIP = NO;
   DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
</code></pre></div>
</li>
</ul>
<p dir="auto">gomobile build  -target=ios golang.org/x/mobile/example/flappy<br>
flappy.app   --itunes--&gt;   flappy.ipa<br>
xcode Application Loader Upload.</p>
<h3 dir="auto">What did you expect to see?</h3>
<p dir="auto">go build app upload success</p>
<h3 dir="auto">What did you see instead?</h3>
<p dir="auto">Application Loader  Reports<br>
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle org.xxxx.mug [Payload/flappy.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."</p>
<p dir="auto">Bundle id is correct.  Provision profile exist.</p>