I reproduced the problem using the gomobile bind example with the following 
code changes.

diff --git a/cmd/gomobile/build_iosapp.go b/cmd/gomobile/build_iosapp.go

index 0b2a923..8480790 100644

--- a/cmd/gomobile/build_iosapp.go

+++ b/cmd/gomobile/build_iosapp.go

@@ -31,7 +31,7 @@ func goIOSBuild(pkg *build.Package) (map[string]bool, 
error) {

        infoplist := new(bytes.Buffer)

        if err := infoplistTmpl.Execute(infoplist, infoplistTmplData{

                // TODO: better bundle id.

-               BundleID: "org.golang.todo." + productName,

+               BundleID: "com.galvanizedlogic.bios",

                Name:     strings.Title(path.Base(pkg.ImportPath)),

        }); err != nil {

                return nil, err

@@ -97,7 +97,7 @@ func goIOSBuild(pkg *build.Package) (map[string]bool, 
error) {

        // Build and move the release build to the output directory.

        cmd = exec.Command(

                "xcrun", "xcodebuild",

-               "-configuration", "Release",

+               "-configuration", "Release", "-allowProvisioningUpdates",

                "-project", tmpdir+"/main.xcodeproj",

        )

        if err := runCmd(cmd); err != nil {

@@ -312,12 +312,14 @@ const projPbxproj = `// !$*UTF8*$!

         ORGANIZATIONNAME = Developer;

         TargetAttributes = {

           254BB83D1B1FD08900C56DE9 = {

-            CreatedOnToolsVersion = 6.3.1;

+            CreatedOnToolsVersion = 9.0;

+            DevelopmentTeam = 9829M3WGFP;

+            ProvisioningStyle = Automatic;

           };

         };

       };

       buildConfigurationList = 254BB8391B1FD08900C56DE9 /* Build 
configuration list for PBXProject "main" */;

-      compatibilityVersion = "Xcode 3.2";

+      compatibilityVersion = "Xcode 8.0";

       developmentRegion = English;

       hasScannedForEncodings = 0;

       knownRegions = (

Then repackaged bios.app and bios.ipa using the binary from the gomobile 
basic.app (avoids a bunch of invalid or missing icon errors). Validated 
that the app runs on an iphone 7. The upload ipa resulted in the following 
errors:


The "Invalid Bundle" is because gomobile builds a binary with both 32 and 
64 bit executables.
I can't explain the PIE error. I did not get this error in the bios build 
even though I saw the "-nopie" when looking at a previous bios linker debug 
output.

Off to try tip now.

On Sunday, October 22, 2017 at 4:32:44 AM UTC-4, Elias Naur wrote:
>
> Another thing: Is the problem present in go tip (to become 1.10) as well? 
> And finally, can you reproduce the problem with the simple 
> golang.org/x/mobile/example/bind example?
>
>  - elias
>
> On Sunday, October 22, 2017 at 10:26:15 AM UTC+2, Elias Naur wrote:
>>
>> Hi Paul,
>>
>> What version of Go, Xcode an macOS are you using? I'd like to help you 
>> debug the problem, but Xcode doesn't seem to allow me to run the validation 
>> of an archived build without a developer account.
>>
>>  - elias
>>
>> On Sunday, October 22, 2017 at 6:34:15 AM UTC+2, pru...@gmail.com wrote:
>>>
>>> I'm getting the following error when trying to publish a go app to the 
>>> itunes connect app store.
>>>
>>> ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 
>>> 'bios.app/bios' does not have proper segment alignment. Try rebuilding the 
>>> app with the latest Xcode version."
>>>
>>> Please: Can anyone tell me what this error means and how to debug it?
>>> I need help to determine if its just a matter of adding some external 
>>> linker flags,
>>> or if Apple has changed their ios binary requirements, or its something 
>>> else entirely. 
>>> I've created a test project at github.com/gazed/bios that can be used 
>>> to recreate the error.
>>>
>>> Background:
>>>
>>>    - Similar to 
>>>    https://groups.google.com/forum/#!topic/golang-nuts/7TyYy5OIqD0
>>>    - I've duplicated this error using the above github project, and 
>>>    also by submitting from xcode directly, and also by using a generated 
>>> xcode 
>>>    project and the command line xcodebuild.
>>>    - The above basic ios app works in developer mode. Its been run it 
>>>    on iphones 6S, 7, an ipad mini, and an ipad pro (great job on the go 
>>> arm64 
>>>    support!).
>>>    - I have submitted an ios developer support ticket asking apple for 
>>>    more details regarding the apple error from the apple Application Loader 
>>>    tool. Apple replied:
>>>    
>>> "Thank you for contacting Apple Developer Technical Support (DTS). 
>>> We’ve determined that your question should be addressed by the support 
>>> channel for Go - the third-party resource you are using.  DTS supports 
>>> developers using Apple-authored tools and frameworks only.".
>>>
>>>
>>> Does the go development team have better access to apple support 
>>> regarding details on apple errors? 
>>>
>>>
>>>    - The google info on this error is sketchy. It is sometimes raised 
>>>    by those using ios framework tools and the problems are resolved by the 
>>>    framework developers, but I've not yet located a detailed description of 
>>>    the problem or how to debug it.
>>>
>>> Thank you,
>>> Paul
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to