golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
124.06k stars 17.68k forks source link

x/mobile: Failed to upload app to the appstore when using SDK generated by gomobile #16288

Closed dcu closed 8 years ago

dcu commented 8 years ago

This issue is related to #15657

When trying to archive https://github.com/AdrianaPineda/iOSGOMobileSampleApp to upload it to the app store we are getting errors related to missing keys in the Info.plist file.

The following screenshot shows the errors we're getting:

gomobile-archive-fails

To reproduce the issue follow the instructions in the repository, archive and upload to the appstore. You should get an error in the middle of the process.

dcu commented 8 years ago

@crawshaw @eliasnaur hi, any chance to look at this? I know you are busy with the 1.7 release but I'd be nice if you could take a look at this since is blocking our release.

Thanks in advance

eliasnaur commented 8 years ago

Is this a problem with all gomobile (bind?) apps or just the ones that use "super" frameworks as described in #15657 ? In other words, can you reproduce this issue with the gomobile examples?

dcu commented 8 years ago

yes this is for bind and frameworks, gomobile apps (and examples) work fine.

eliasnaur commented 8 years ago

So just to be perfectly clear, the gomobile bind example "golang.org/x/mobile/example/bind/ios/bind.xcodeproj" works and can be archived and uploaded without errors? In that case, what makes adding a gomobile bind framework to an application different from adding it to another framework? In other words, why are Info.plist suddenly needed and why is it a problem that x86_64 is included?

dcu commented 8 years ago

no, wait, I know that the examples of apps work, we haven't tried the bind example. We will test it and report results later.

dcu commented 8 years ago

@eliasnaur we tested the bind example and it works (except for some issues with the icons but we don't believe that's gonna be a problem). So yes the problem happens when you have a framework embedded.

eliasnaur commented 8 years ago

Thank you for testing. I don't have time myself in the near future to dig into what is necessary from the gomobile side to make this use case work. If you or someone else are up for the challenge, a good first step is comparing a working sub-framework with a framework generated by gomobile bind and work out what additional work gomobile needs to do. The Info.plist errors seem easy, but I'm still puzzled by why the x86_64 architecture is a problem. x86_64 is not supported by iOS hardware, but is needed for the emulator. In other words: how do other sub-frameworks work on the emulator?

AdrianaPineda commented 8 years ago

@eliasnaur I'm going to look at this with @dcu About the unsupported arch x86_64, I've seen this with other frameworks when I try to upload to the app store. I can remove the arch from the framework with a script (when generating the archive) with no problem.

crawshaw commented 8 years ago

Thanks @AdrianaPineda! I'm sorry for my absence on this, it has been busy around here, and I'm out on vacation until the end of July. But @eliasnaur can review any CLs you have.

dcu commented 8 years ago

As an update, we are trying a different approach to generate our umbrella framework. We will let you know if it works

dcu commented 8 years ago

after generating the umbrella framework in a different way the issue is gone. Thanks @eliasnaur your input was very helpful