BuySellAds.com

Until Dec 3rd, 44% off all Manning books, including Barcodes with iOS! Promo code: mobicftw
Our DNA is written in Objective-C
Jump

Build for OS 2.x and 3.0 at the Same Time

Let’s imagine I have this great MyBookshelf App and now with OS 3.0 coming I am planning to include Storekit so that my users can also purchase new content from within my app. So far, that’s a great idea. Additional features for my customers, additional income through in-app sales.

But maybe I have hundreds of thousands of users who are not immediately willing to upgrade to the new software. The reasons for this are outside the scope of this article but as an active developer you are risking loss of customers if you only concentrate on the new. 

Your choices are:

  1. make a final build for 2.x putting in all the bugfixes you can and then move on. Existing 2.x customers will only receive the latest 2.x version, new customers will have to have a 3.0 iPhone to purchase the new app.
  2. create a new app from the same codebase adding only the 3.0 features there and then continuing to push updates to both the 2.x version and the 3.0 version.
  3. create magic code to dynamically load 3.0 frameworks if they are present. This is highly advanced and only for true pros.

For this article I am focussing on option 2. I want one project to hold my source code and have two targets, one for 2.x and one for 3.0. Only the 3.0 version can include the appropriate 3.0-frameworks and I don’t want to see any compiler problems. Also I don’t want to resort to some fancy art of dynamic loading.

Read more

Adding Numbers to an Array

reembertoparada asks:

I have a loop from 1 to 30 and I want to create an NSArray with those values inside. Can you give me an idea on how to do this.

That’s an easy after-dinner exercise. First you need to take an NSMutableArray instead of an NSArray because regular objects without “mutable” in their class name cannot be changed. This is especially vital to know for arrays and dictionaries.

Read more

CRACKED! (But Surviving)

I woke up this morning finding over two hundred additional LuckyWheel installations. My first thought was that I must have striken a gold mine. I looked around for a new review, or if LuckyWheel got finally featured. Nothing of this sort.

Then I responded to a thread on iphonedevsdk forum regarding crack detection when I dawned on me: CRACKED! And if you google “Luckywheel IPA” you immediately find 3 sites that have posted a cracked IPA:

LuckyWheel Cracked

The right question to ask now is: AntiCrack still working?

And I can respond resoundingly – with proudly swelled chest – YES!

I checked the cracked IPA and found that all copy protection checks are still fully functioning. All those people downloading the cracked IPA are actually getting a limited Lite version without knowing it.

So either the cracker used an old version of Crackulous or it simply does NOT (YET) prevent the prevention. It just removed the Apple shrink wrap.

So what will happen is that all those people will find after 10 rounds that they have downloaded a Lite version and will be prompted to purchase the Full one. My current conversion rate from Lite to Full is 0.7%, so these more than 1000 additional customers might translate into ten or so additional dollars of sales every day. Not a gold mine, but still more business that I would have done without the additional marketing channel.

So the news are good! AntiCrack is still 100% safe and will continue to be because the community forming around it has begun to share knowledge as to make the copy protection even more secure.

App Charts for May 12th

These are the current hottest apps in the whole wide iPhone World for today. Ranking data is provided by Applyzer.com a site that is promising to provide ranking information that you can get nowhere else.
Read more

Handling Deprecated Methods for iPhone SDK 3.0

In the past week I received an email by Apple, like my dear developer colleagues, stating that I have to consider whether the code of my apps is compatible to iPhone SDK 3.0. Gosh, the guys from Cupertino got me scared!

And that they can’t take a joke occurred this night: The update of my app Super Trumps, submitted about 8 days ago, has been rejected this night. The friendly associate of Apple stated that my app crashes when using it with SDK 3.0. That means: They’re testing apps already now on compatibility!

Without delay I checked the compatibility of all my existing apps and – lo and behold – in two applications problems occurred.

Read more

The Dr. Touch Tip Jar

I’ve been collecting tips for my work as Dr. Touch in my PayPal account. I found that people are most generous if they receive something in return:

  • Code to add copy protection to your apps
  • MyAppSales source code
  • Help fixing code signing problems
  • Solutions for a wide variety of head-wall-banging problems

But generally people seem to be reluctant to tip me via PayPal, probably because you associate receiving a service or product with PayPal, whereas for tipping you really would require a different and easier scheme for micro payments.

That’s why jumped at the chance of setting up my tip jar with tipjoy.com

Here you can see the latest generious givers.

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.

DropClock

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 oliver@drobnik.com 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

Adding Days to an NSDate

Nagarajan asks:

I just want to get a date which is some 50 or 60 days away from current date.

How do i get??

There are two methods to achieving this. One that is quick and (potentially) dirty. And one that is always safe.

Read more

Make Your Apps Crash-Proof!

Yesterday when I went into iTunes Connect to download some promo codes for peer reviews if noticed a new announcement. Apple has begun to provide customer’s crash reports for your apps. That’s great news as you now can see precisely where your apps need work.

Crash logs for applications are now available. To view them, go the Manage Your Applications Module below, click to view the desired application’s details, then click View Crash Report.

You can test all you want, in all likelyhood one of your valued customers will find a method to make your app crash because they use it in a way that you did not anticipate.

Read more