Our DNA is written in Swift

Category Archive for ‘Apple’ rss

Which OS Version to Target?

Now that OS 3.0 has been released and we know that the 3.1 bugfix release is on rails we have to re-evaluate the question which platforms we need to be able to support. On the one hand it might be nice to use all the new 3.0 bells and whistles. One the other hand though this could mean we risk losing half of our potential customers who are still on “old software”.

Besides simple disinterest or negligence the main reason for sticking with old software is that people are always waiting to hear from the iPhone Dev Team that a new version can be jailbroken and sim-unlocked. If you are using your iPhone in the network of your own choosing, you would not want to give this up even for the greatest new update.

From the developer’s point of view there are a couple of features (even before version 3.0) where you had to bump up the minimum OS version. I for one implemented the CLLocation properties course and speed in iFR Cockpit which only became available as of 2.2.

Just today Applyzer released an analysis of the required OS version for all apps on the store. Also AdMob frequently publishes metrics on OS versions in use. Let’s check those to get some guidance for our own apps.

Read more

Help Us get an iTunes Connect API!

Apple to create API … if enough people want it!

Ever since my app MyAppSales got rejected I have been lobbying for an official and secure API which would permit us developers or creators of tools like AppViz to interface with iTunes Connect. The current situation, as you are probably well aware, is a real pain in the backside.

According to Apple this is the “expected mechanism for retrieving that data”. So they really expect developers to go to the report site every day and download daily reports manually. Apple makes great software and devices, but I keep asking myself how they can be so far away from the truth of the facts of real developer life?
Read more

All That Can Go Wrong … All The Rejection Reasons

This is an overview of reasons why Apple has rejected apps temporarily or permanently. Not some theoretic reasons that might be construed from the SDK Agreement, but real instances of passed judgement. For each rejection reason the original paragraph written by Apple is included. I made it as non-judgemental as possible.

Originally this article was written for the Cocoapedia but I am publisizing it here for added exposure because I am hoping for comments informing me of missing reasons. For a reason to be included it must be documented on your blog or website and the link given. There is a website that seems to be dedicating to collecting such rejection reasons, but there is no way to contact the owner and the list seems to be lacking specific citing of sources and order.

This list may serve as a checklist to help guide the general design principles such that fellow developers can avoid the temporary pitfalls which might delay their apps for two weeks. Also you might check your “killer app ideas” against this list to save you from wasting precious time on ideas that according to this list would in all likelyhood never be permitted into the store.

Read more

A signing identity matching this profile could not be found in your keychain

NOTE: You might want to check out my guide to fix code signing problems.

I am getting tons of reports of developers who had to renew their expired certificates and who now find their new profiles unusable. Also affected a developers who had to add new devices to their ad-hoc profile.

Even though everything is done by the book, they are  get a “A signing identity matching this profile could not be found in your keychain”.

Yellow Bar

I experienced certificate expiration first hand, but that was some time before WWDC and so I had no problem creating new certificates and provisioning profiles. But last week, right after WWDC, Apple amended the online process to accommodate new provisioning profiles for push-enabled apps. You have to create a new app id and thus provisioning profile for each and every push-enabled app you want to distribute.

It currently seems as if this change to the process causes non-push-enabled profiles to be faulty in a way that even though the poor developers do everything right they still wind up with the above error message and no way to fix it. Not even my handy guide on how to fix code signing errors helps. I know because I went through it together with several affected developers.

Read more


I’ve been watching the WWDC Keynote presentation together with a couple of friends and one other iPhone developer and here’s the general consenus: We are disappointed. But are we righteously so?

Most of the otherwise exciting news was leaked to the public in the weeks preceding the event which unfortunately caused expectations to be way too high. Apple can do magic, but some things just take time. Like a fully recovered Steve Jobs or even a 10″ Mac Tablet we have been lusting for.

These where the biggest surprises that where met with a certain degree of enthusiasm:

MacBook Line Refresh

  • All Unibody MacBooks are now called “Pro”, dropped in price and get better CPUs
  • SD-Card Slot is now standard
  • The return of the Firewire port
  • The new “7 hour battery” technology not found in all Macs

Safari 4

I’ve been using Safari 4 for a while now but I had a problem where I would not be able to insert links into articles on my WordPress dashboard. But since I updated to the release version of Safari 4 I am happy to report that this problem is gone.

Safari is the fastest and most standard-compliant browser currently available. There is a strict benchmark called the Acid 3 which gives Safari 4 a whopping 100 out of 100 points. Safari 3 scored 76 and the new Internet Explorer 8 even less.

Also the performance of Safari when it comes to rendering and JavaScript is way ahead of the competition. Ah, and btw there are 150 new features. I especially like the new coverflow search of your browsing history. A great method to quickly find a page you recently looked at by typing a few words.

Snow Leopard

The name similarity might be meant as a hint as to the similar 64-bit underpinnings of OSX between the current version Leopard and the soon to be released Snow Leopard. The general theme is to squeeze every additional drop of performance out of the hardware. In Leopard the built-in apps still where 32-bit, but now they are recompiled with 64-bit causing a slightly better performance.

So there is special support with a new technology built into the core named “Grand Central Dispatch” which cares to more efficiently distribute loads between multiple cores. And with OpenCL it is possible for the first time to also use the graphic processing unit (GPU) to offload specific processing tasks.

Quicktime X is the newest version of Quicktime, the video playing and recording infrastructure in OSX. Again, the focus is on additional performance. Many people got annoyed that they needed to pay extra for Quicktime Pro, but this is now a thing of the past.

What I list most, personally, is that now Exchange-compatibility is complete. In Leopard you need Entourage to access your Exchange calendar and contacts. With Snow Leopard no longer. This is great news for people like me who has the family on Exchange as well as people would take their Mac to work because now they can work as an equal without having to install Microsoft Office.

There are also a couple of additional new things related to Exposé and Stacks.

But the greatest thing is Apple’s impeccable timing and pricing. Existing Leopard users get the update for just $29 in September, one month before Windows 7 is being released. The family license will cost an enormous $49.

iPhone 3GS

A great video tour on the iPhone is available on the Apple website.

  • Faster
  • Better Battery
  • Better 3 Megapixel Camera with Auto-Focus, or tap-to-focus for close-ups
  • Video Recording, Editing, Sending (MMS, E-Mail or direct to YouTube)
  • Voice Control (Press-and-hold Home) for dialling or controlling music playback with voice synthesis feedback
  • Magnetic Compass, Google Map now orients in correct direction you are facing
  • Digital Compass

OS3-specific (i.e. for all iPhones)

  • Copy&Paste
  • Voice Memos
  • MMS (finally, but who needs it?)


So in summary we CAN be happy with Apple, we’ll got a free new Safari and will get the new iPhone OS in the next two weeks. It’s again a good time to buy a new Mac right now because for $29 it does not pay to wait to get Snow Leopard with a new machine. And the new iPhone 3GS is just compelling enough to nudge speed and feature freaks to shell out.

On the minus side there are a couple of things that still take some time. I am phrasing it like that because we still want to see: Steve Jobs’ return, a Mac Tablet or Mac Netbook and maybe something really mindblowing.

Right now Apple does what every smart dealer of drugs for the technophile is doing: Give a little more every time there is a Keynote presentation. Up the dosage without overloading the audience. And on this strategy they have delivered once again.

This Certificate Has Expired

Has it been 6 months already?

My development and distribution certificates expired much to my surprise while I was sitting on the train. Well actually it had expired the previous night, but it only transpired to me the first time I wanted to Build&Go while en route to Vienna. Which mildly annoyed me at first, but then I found that I can backdate my computers clock two days and restart XCode to allow for temporary continuation of some on-device testing.
Certificate has expired

To renew my certificates I logged into the program portal which already knew that I “currently do not have a valid certificate”. I used the keychain’s certificate assistant to generate the requests saved to disk and submitted them to apple for countersigning.

One thing that confused me was that now the name of the development certificate contains some additional string. I thought that maybe that was appended because I did not remove the expired certificates first, but even when I redid the whole process I did not get rid of it. Another surprise courtesy of Apple.

Read more

Don't mention SDK/OS 3.0!

If you have any kind of updates that you are publishing right now, please don’t make the mistake of mentioning something like “made compatible with OS 3.0”. A developer friend of mine had his application update rejected because of this.

If Apple Reviewers see such a statement you will get rejected with a lengthy reply stating that the next version is confidential and you are in breach of paragraph §2.1 SDK Agreement.

“…Apple may provide You with pre-release versions of the SDK that constitute Apple Confidential Information and are subject to the confidentiality obligations of this Agreement.”

It will save you a week if you don’t do the above.

Minutes after I posted this heads-up on a forum I was seconded:

I can confirm this too. Got all our apps caught in this trap.
Don’t mention 3.0. anywhere! =P

So in summary you have to make sure that your apps run on a OS 3.0 device, but you cannot mention that you took this effort in the release notes because even mentioning OS 3.0 is illegal. Coming to think of it, I have mentioned OS 3.0 now 5 times, I hope that Austria is to far off for Apple lawyers to serve me a cease and desist.

“But I meant it well! All in the interest of the community!” will be my famous last words when I will get dragged off to jail.

Apple Rejects iPhone-Damaging App

The first app that I submitted to apple, back in October 2008, I called DropClock. It basically measures freefall time and calculates distance fallen from the time the iPhone was falling. It’s meant as a joke of course. This is not what I meant when I wrote about making your apps crash proof.

If you drop the iPhone three times over a certain height an image of a cracked screen is shown and the iphone does not react to input for 20 seconds. Then a button saying “Ha Ha!” appears that takes you back to the main screen.

At the time I figured that I would make millions with this simple app due to it’s novelty factor. But such instant wealth never materialized. Instead I had to wait for 7 months, contacting the review team three times about it. Finally Apple has handed down it’s verdict:

Thank you for submitting DropClock to the App Store. We’ve reviewed DropClock and determined that we cannot post this version of your iPhone application to the App Store at this time because it encourages a physical activity that could result in a customer damaging their iPhone. We have chosen to not publish this type of application to the App Store.

If you believe you can make the necessary modifications to bring your application in compliance with iPhone Software License Agreement, we encourage you to do so and resubmit it for review.

I am not extremely sad about this as DropClock was just a silly experiment which only took me a day to implement. But several things can be learned from this experience. If your app is so unique that it does not fit with any of the SDK agreement paragraphs most likely Apple will take up to 7 months of not reacting on your submission. Previously I called this “Neverending Review Bin”, now I know that it extends to about half a year.

The second interesting fact though seems to be that Apple feels that they need to protect silly customers from hurting their phones. Law over here in Europe does not blame the manufacturer of a device if a nitwit damages this device. In the US however it’s not unheard of that sombody sues the maker of a microwave because no warning label prevented him from drying his cat in it. So while DropClock might cause more sales of iPhones, Apple does not want to risk the liability.


The same seems to apply for a whole category of apps. Need I mention fart apps? Only difference, apps that might cause customers to physically damage their iPhones are highly unlikely to ever be permitted in the store. Apple’s feedback mentions “this type of application” So Apple’s summary judgement seems to apply to a great deal more than just my own app. Namely all apps that could damage an iPhone.

I probably won’t bother messing around with the app any more. PayPal me a Dollar to my wedding fund at and I’ll send you the source code. Let’s see if YOU are smart enough to not damange your precious device.

Do You Remember Apple's Future?

More than 20 years ago Apple made two concept videos that show how they where envisioning the future of computers at that time. Long before flat monitors came into the main stream they showed them off in these videos.

Gestures are replacing the mouse, your index finger doing the pointing. Effortless video conferencing and collaboration. A smart search assistant very much like the famous computer voice from Star Trek: The Next Generation. But most impressively of all I find the vision of having all parts of the computer built into the display. Remember, the first iMac was sold 10 years later.

Also Apple did not shy away from making a point that computers should also be usable by people with disabilities even 20 years ago. I have yet to see a concept video by Microsoft that would dare this.

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.


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