Last week, Emoji on the iPhone was all the rage with some people in my circle of friends (/followers). By default, usage of the Emoji keyboard is only available on iPhones purchased and used in Japan. However, some hacks exist that can allow your non-Japanese iPhone to access the Emoji keyboard. The first version of the hack requires that you jailbreak your phone (too complicated for most); the second requires loading of special Vcards into your address book (messy); the last method is to download an app from the App Store that enables this setting on the handset (easy, but for a small price).
We were talking about these different methods a few days ago and found the easiest way to enable this was to use the App Store method. There are a few apps currently in the store that can do the trick but I wanted to build my own for three reasons:
1. I was interested to see how quickly I could build such an application. It didn’t take long to code.
2. I thought the price of $4.99 for such an app was too much; and I was curious to see if I could get a similar app approved for much lower.
3. I wondered whether the App Store would actually let me submit an application that changes a low-level user preference (outside the application “sandbox”, as Apple describes it).
I submitted my application (Emojicon) five days ago. Earlier today, I got news that it was rejected. Hah! I half-expected it. The best case I could have hoped for would have been that the App Store accepted it, but then rendered it useless by enabling it in a future iPhone update. The reason given for the rejection:
“An Application may write data on a device only to the Application’s designated container area, except as otherwise specified by Apple. [...] For security reasons, iPhone OS restricts an application (including its preferences and data) to a unique location in the file system. This restriction is part of the security feature known as the application’s “sandbox.” The sandbox is a set of fine-grained controls limiting an application’s access to files, preferences, network resources, hardware, and so on.” [Taken from the iPhone OS Programming Guide].
It was a good experiment: I got to challenge myself on how quickly I could go from idea to submitted app. And I got to test the acceptance process – particularly when working with shared preferences.
The question I have now though: How did the other Emoji-enabling apps make it into the App Store? :)
Emojicon is open-source (all four lines of code – ha!). Get it at /code/emojicon.