Journey (take the first app) to my Apple Store

The 3-month story about Apple Review Rejections.

Last year, I took a big step forward in my career: I bought a Macbook, started learning Swift, and programming iOS apps.

After 3 months *, I submitted the first application to the App Store: Can't be more proud!

* Disclaimer: I am a software engineer

Swift is an impressive language and, after understanding the fact that I can't know everything about Cocoa Touch, I've been constantly programming and launching my application.

But I was wrong.

The App

Here is a brief description of the Stream for Twitter application I submitted:

Stream for Twitter will bring you new LIVE Tweets from around the world: just enter anything you care about and Stream will do it all! ( You can see the 50s video about the application here ).

The first time was rejected

Can you see the short email above? This is how Apple kindly tells you the answer. No, the app hasn't reached the App Store yet.

My application is quite simple so I was quite surprised when I woke up with such a refusal in the mailbox.

Turns out, the App Review Team didn't even test the app, but declined it for a silly reason that in the app introduction, among other Twitter comparison examples, I left the phrase "iOS vs.." Android ”

3.1 Applications or metadata referring to the names of any other mobile platforms will be rejected

App Store Review 3.1 Guideline also explicitly states that this rejection is entirely my fault. Fortunately, I don't need to change the application's binary (just edit the description and submit the app!)

The second time was rejected

This time, the App Review Team has "summoned" the App Store Review 14.3 Guideline (under Personal attacks chapter):

14.3 Applications that display user generated content (applications that allow users to produce content themselves) must have 1 method to refine the content against, 1 mechanism for users to report objectionable content and ability to block users from cheating the service.

My application does not allow users to produce any content: it only allows you to enjoy Twitter content (you can report / bookmark / block any person / content you want )

Although I have to do what I'm asked for, but if Stream only uses each real time data, it will be useless.

If a user has to report 1 Tweet, the tweet is already old : it will never appear on Stream again!

I have a feeling that Guideline 14.3 did not apply to my application, so I wrote an appeal with the reasons below:

Lesson learned: if your application uses content that users can produce, follow the moderator / block (block) mechanism, whether that content created in your application.

Luckily for me, the Twitter API has provided everything I need:

  1. Report / Flag mechanism ;
  2. Filter content accordingly;
Time to submit again!

3rd refusal

While waiting for the review, I added more features, even in-App Purchases that are not non-consumable.

Bad is the in-App Purchases that make the application rejected again.

All Stream in-App Purchases are not sold: when a user buys once, this transaction can be "bought" for free (again) unlimited, depending on the user's needs.

For my part, I always want to have as few UI elements as possible: because these in-App Purchase can be " redeemed" for free, I didn't use the Restore button.

After explaining the logic above, App Review responded like this:

Lesson learned: It is the Restore button!

This time, it was regrettable that the reviewer proposed I request an urgent review (according to the Expedited Review Request form) after I submitted binary (binary system) with the Restore button.

The implementation of the restore button is the fastest change I've ever made: I just need to drag a button into the storyboard and write 3 lines of code, connecting UIButton to the related UIViewController class.

It seems that Expedited Review Team has not been as compassionate as the previous reviewer. I have to wait another round of App Reviews.

The fourth refusal

I actually witnessed my application being included in the preview before going to bed, even with a good feeling that when I wake up I will see the application approved. But, I can only dream …

This time, Reviewer thinks he / she needs some special authentication from Twitter to use the application, so he / she has mailed this:

After explaining Twitter's account, the app was reviewed again and … it was accepted!

An annoyance is that I changed my opinion on the application name. The only way to change the current name is:

Application name has been changed. Submit it!

5th refusal

The reviewer (I think is only recruited by Apple) is using the iPad and he was unable to switch the Twitter authentication screen: that is the screen that appears when you start Stream for the first time.

The problem is not obvious because the screenshots that Reviewer cut out are not accurate and the message is very vague.

After some exchange messages, I started using Stream in iPad: the app was reviewed again and then accepted!

Lesson learned: Don't assume everyone in the App Review Team understands what they're doing.

Conclude

After programming the application in just 3 months, I enjoyed another 3 months of rejection before officially launching the app on Apple Store.

During those months, I learned a lot, about the feeling of discomfort and passion that accompanied me throughout this journey.

If you can get to this step, I would like to send you a few tips for the next submission (after all, it's ironic that I became an expert on this):

  • Sometimes, read the App Store Review Guidelines : it takes a lot of time but will help you avoid several rejects
  • When submitting a new application, use the App Review Information fields to guide the reviewers and let them know what has been changed / edited / updated compared to the previous version.

  • In case you are submitting a new application after 1 reject, use the Notes field to specify what you did to bypass the previous reject.
  • Be courteous: when the reviewers reject your app, thank them and politely ask for more information (if needed) or they tell you you're solving the problem (s) with a new submission. I worked with the reviewers very polite and friendly, they were happy to help me solve the problems
  • Patience: launching an app will become a burden to you because Apple sets very high standards and this is why Apple Store is not as cramped as other competitors.

Good luck with the next time you submit the app!

Source: IDE Academy via Medium

Share the news now