Google’s Mobile App for the iPhone is breaking some App Store rules. By tapping into private API’s the application is utilizing technology that should be off limits to developers using the iPhone SDK.
According to research done by John Gruber
One clear way they found Google was violating the SDK was with the use of the iPhone’s proximity sensor. Aside from manipulating the sensor to turn on and off when near your face (as is permitted in the SDK), nothing else is allowed. However, Google is activating the proximity sensor for other commands, such as speaking into the application, as well as delivering an audible prompt to your search terms. The only way this is possible, according to Gruber, is with the use of private API’s that Apple has not offered in the iPhone SDK.
So, (a) Google Mobile is using a private API, and (b) to my knowledge, there is no way to duplicate the behavior of Google Mobile’s “just lift the phone to your ear to trigger the voice prompt” feature using only the public APIs in the iPhone SDK. Needless to say, using private APIs violates the iPhone SDK Guidelines. A developer that plays by the rules cannot do what Google is doing, Gruber explains.
If this were any other company or development group, there is a fair chance Apple would have never approved the application to begin with. Although it seemed like Google’s app was initially being treated like all the others, the use unpublished API’s and private frameworks proves otherwise.
Surprisingly enough, Google appears to use both dynamic linking and calling unpublished APIs…As you’ll see with unpublished APIs, using private APIs can mean that your code may break without notice as Apple updates its libraries. Worse, should your application be found to be using said libraries, it can be kicked out of the App Store without recourse; you will not be able to update that application and resubmit it…If linking to private frameworks is unacceptable, unpublished APIs play the role of a minor jaywalking, Sadun explains.
It’s not shocking that this application got approved. Apple can do whatever it pleases with the App Store. As we’ve harshly seen in the past, the App Store is not very consistent with what makes the cut or not. It’s important to remember that this application was developed for users and to enhance the search experience for users. The application is free for download and has been a joy to use, so it’s difficult to say whether Google is doing anything Apple will find “against the rules.” As we’ve mentioned in the past, until Apple releases a clear set of App Store Development Guidelines (which could be the best holiday gift this year), the App Store will remain inconsistent, and prove to be a gamble in getting applications approved.
3 Comments to “Google’s iPhone App Is Cheating, Breaks App Store Rules”
WOW. Only because this is Google can they get away with this. I am kinda frustrated at this.
Reply
I don’t it’s a problem that it’s using private API’s or what not. I think it’s a problem that this solidifies the fact that other companies may have a better/easier time getting their applications approved then, let’s say a smaller one person or two person team. And that’s gotta just be unnerving for most.
Reply
umm… actually it doesn’t use the proximity sensor. it uses the accelerometer. i’m sure if it used the proximity sensor it would work BETTER. to prove it, put your ear to your iphone without changing it’s physical orientation— nothing happens. in fact there is a preference where if you want the google app to use the accelerometer for landscape mode, it disables the “motion sensing for voice search” — so sorry, google played by the rules, and this article is bogus.
Reply