Mac App Store dealings with Gravit

The Mac App Store gave me an excuse to try to make money out of my Open Source gravity simulator, Gravit.

I signed up to the Mac Developer Program, packaged Gravit, and uploaded it. Soon after, I got an email mentioning:

2.5 Apps that use non-public APIs will be rejected

The following non-public APIs are included in your application:
CPSSetFrontProcess, CPSGetCurrentProcess and CPSEnableForegroundOperation from the ApplicationServices.framework

After a quick search on the net, and some investigation of the code, it turns out that SDLMain.m (which is the entry point for Cocoa SDL apps) included these functions. It was trivial to fix, just by commenting out a define:

#define SDL_USE_CPS 1

Resubmitting the app worked fine, and it *just* made it into the Mac App Store for opening day. It was even ranked 35th in top downloads in Australia!

Aftermath
There were a few bugs in Gravit, and some problems with using the function keys. I quickly fixed up a few things then tried to resubmit to the Mac App Store. It failed to upload. Something happened with either my computer, Gravit or their servers:

An error occurred on the Apple server while trying to authenticate the package: 411594302.itmsp
An exception has occurred: Error invoking operation:
java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl cannot be cast to org.apache.axis.attachments.Attachments: Exception trying to invoke operation: validateMetadata
Could not connect to Apple’s web service.
Unable to authenticate the package: 411594302.itmsp

I tried asking on Stack Overflow, the Apple Developer Forums and attempted to use the “Apple Developer Technical Support (DTS) team”. No responses from Apple, after two weeks.

So now Gravit in limbo and won’t be receiving updates until this problem is fixed.

One thought on “Mac App Store dealings with Gravit”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>