BuySellAds.com

Our DNA is written in Objective-C
Jump

Peer Reviews

Several people have followed my call for peer reviewing each others apps. With a US iTunes account you can take part in this networking activity yourself. You might get much more valuable feedback then from regular customers.

Here are all the apps I had a look at so far. Sorry guys for taking so long, but my US iTunes account is on my Windows PC which I avoid to turn on whenever possible. ;-)

Read more

My App Rejected While Similar App Approved AND Featured

Several people contacted me today about this matter, for example Eknath:

Apple has been unjust to Oliver.

They just approved this app. “Sales Tracker” and not only did they approve it, they put it in featured apps. Very unfair.

I think we should make the noise in dev forums about his.

Eknath

While I had known about “Sales Tracker” since it made it into the store today we made the heart-wrenching discovery that this competiting app also was made a featured app. Being on the front page of the app store is in all likelyhood a very lucrative stroke of luck for it’s maker.

Of course I resubmitted MyAppSales right after Sales Tracker appeared on the store. Only to get rejected once again a week thereafter.

I called the US landline of Apple Developer Support to find out that I have two avenues of progressing. I could either write to the Review Team to aiming to get my own app passed, or I could write to the App Store Notices Team to get the other apps pulled. I chose the former, read my e-mail to learn why I think this is better.

Read more

MyAppSales 1.0.3

Two minor fixes make out version 1.0.3 of MyAppSales.

  • Removed all NSLog statements
  • Revampted calculation of ¬†sums as to make them match with the detail lines

The latter bug was caused by using old currency exchange data to pre-calculate sums but using newer exchange rates for detail lines. This would sometimes cause a difference of a couple of cents which was more than a rounding error. There might still be a difference of one cent but that is because MyAppSales calculates all amounts in floating point without limit of decimal places, but only two rounded decimal places are show on the reports regardless of currency.

Get the new version from the customer-only SVN. UPDATE: I had forgotten to bump the version in info.plist. That’s fixed now.

PS: Dylan Prozenak of AppViz contacted me earlier, regarding my call to action for an open report downloading API:

I had contacted Apple directly about this a while ago and received a reply indicating that they were looking at it. I just filed a bug report as suggested. Probably should have done that first thing.

Hopefully it will make a difference; I’d love to make an AppViz for the App Store and hearing both your story and some friends of mine who developed a similar product makes me shudder. I know how much time goes into these things and then not being able to sell it is like getting slapped in the face; particularly since there seem to be a couple that made it in. Competition can only be good for this space; it keeps us all on our toes and innovating.¬†

How to Fix Code Signing Errors

Andreas asks:

With Device | Debug and Code Sign “iPhone Developer” I have no problems getting my app onto the device, but with all other configurations I get this strange error message in XCode Organizer.
Unexpected Error

That’s a weird error that most of us have encountered one time or the other. Here are my hints how to get it fixed.

Read more

MyAppSales 1.0.2

This update of MyAppSales brings two cosmetic fixes plus on fix for a bug that I accidentially introduced in 1.0.1.

  • Added UTF-8 encoding header for import/export web server
  • Reduced tab bar icons in size, removed text from the splash screen
  • Fixed: On the reports root table the icons would not reflect that there are new reports in the daily/weekly category.

The last one was embarrassing enough to immediately release this version. I am updating the icons from an app-wide notification, but I did not consider that notifications only work if the Nib has already been loaded.

The new version can be checked out from the customer-only SVN.

The Importance of Method Naming

Recently Oliver’s blog post ‘Shuffling an NSArray‘ came across my twitter feed. I’m not sure I followed the link with the intention of being critical, but after reading, I felt the need to make a couple of points. Namely, a fairly staunch opinion that in it’s current form, Oliver’s -(NSArray *)shuffled method is an example of poor naming choice. I realize that the original post was intended to showcase the ability to extend existing classes with categories (a powerful and worthwhile concept to understand). However, take into consideration that many developers new to a language will copy and paste code snippets without fully understanding them, and the importance of using proper convention in code examples becomes very clear.

Read more

Shorter Back Buttons

Today, on the train to the big city, I watched the seventh Standford iPhone Programming lecture and got an answer to a question I’ve been having for a long time.

Can I make the back button shorter in a UINavigationView? I like long titles, but it looks ugly on the back button!

The back button of a view that you pushed on the the navigation stack defaults to the previous view controller’s title. You want to make the title explanatory so a long one is good. But if you push another view controller onto the navigation stack you want the space to have an explanatory title on this one, or you need the space for something else.

Read more

MyAppSales 1.0.1

With so many people using MyAppSales regularly I figured I’d spend a couple of hours working off tickets on the bug tracker. The most important one was causing an app crash if you had sales in one of the newly opened up app store countries.

  • Fixed link for country icon retrieval
  • Added 3 letter country names below country flags in report view
  • Fixed incorrect target name and replaced all code signing identities with the auto-matching ones
  • Implemented lazy loading of the 4 main view controllers to speed up startup
  • Now all country codes are loaded from the database but only icons are loaded if the country occurs in a report

The new version 1.0.1 can be downloaded from the customer-only Subversion Repository. Source Code licenses are still available here if you’d like to join all those happy customers. ;-)

Apple’s double standard was shown to me once more, spoiling an otherwise beautiful Sunday. CXI Gaming was able to sneak iSales Tracker past Apples SDK Agreement and got approved within 2 weeks. How unfair is that?! I mailed Apple the link and and also resubmitted 1.0.1 just to nudge them once again. I also mailed CSI Gaming congratulating them on their luck and advising them to enjoy it while it lasts. The author of Sales Report told me that his first big update got rejected. Most likely the same will happen with iSales Tracker. So customers who first shell out 15 Euros might never get any updates.

As opposed to MyAppSales, where I will continue to provide free source-level support for customers…

XIB Lazy Loading – Part 1

3 Months ago, when I started developing MyAppSales I felt confused by multiple XIB files, so I decided to put all view controllers into the MainWindow.xib. Not only does this not really gain you more overview, but this practise slows down application launch. On the iPhone you should defer work whenever possible.

That’s why I revisited my XIB files for version 1.0.1 and moved parts to external files wherever possible. Here are all the steps.

Read more

Contacting the App Delegate

Remover asks:

How to send a message from a view controller to app delegate?

That’s a question that everybody asks who is trying to follow the model-view-controller paradigm. There is an easy way to access your app delegate from anywhere in your app.

Read more