Re:Keybase is out for iPhone, Android
by tkfu on Thursday May 11, 2017 @04:40PM
(#14319308)
How did you manage to get something written in Go into the iOS app store? I was under the impression that foreign binaries weren't allowed.
[ Parent
| on HN ]
There was a brief period where they seemed to be insisting on Objective-C, but it didn't last long. Now they don't care what language you use as long as your functionality follows their guidelines.
This was brought up a couple days ago during discussion of a game built in Rust on the app store. A comment there[0] claims that the restriction on languages is no longer in the guidelines.
In fact, it was only in the guidelines for a few months back in 2010. I can only quote the response to the comment you linked:
> This rule got so much press 7 years ago that it will be one of those "truths" about a platform that never dies on internet forums, that and the Playstation platforms using OpenGL as their primary API...
Google has had a Go app, "Ivy," on the app store since 2015. I think it was just an experiment at getting Go to build for the App Store and getting it approved, but it was in fact approved.
https://itunes.apple.com/us/app/ivy-big-number-calculator/id...
It's true that fork() isn't allowed on non-jailbroken phones, so you can't shell out to a Go binary (you can on Android if you want). But you can build a static library in Go and link it and call into it with cgo from Objective-C or something.
The bigger problem with go is if/when Apple requires bitcode on iOS.
For those who don't know what "bitcode" refers to and why the "if/when":
https://medium.com/@FredericJacobs/why-i-m-not-enabling-bitc...