When users download apps, it’s always a pain having to wait for a super long download. Getting them in as quick as possible should be a high priority. When an app download size is too big, I often find myself lock the phone and sometimes even forget to come back to it for a while. On the AppStore there’s even a threshold to prevent users download apps that are too big over 3G, currently at 50MB I believe.
When developing an iOS or Mac app, NSLogs are very handy during development. These are quite useless for an app on an end users phone or computer, so removing every log is often a good idea, especially if you like to log a lot of information. This might sound like a pain, commenting out every NSLog whenever you build for the AppStore? But no, there’s a much simpler solution, coming from our friend the preprocessor macro.
As of June 1st this year all newly submitted apps and versions on the Mac Appstore require sandboxing. Sandboxing means that each app is run inside it’s own quarantined space to make sure the app doesn’t do anything malicious. For a lot of apps this will be sufficient, but for apps that let you do really special stuff this is the thing that kills them.
As a developer it’s extremely frustrating when you’ve worked on an app for months upon months and after release on the app store as a paid app, you find it cracked and free for anybody that doesn’t want to pay. I made this mistake on the first application I released on the app store, a week or so after release I found version 1.0 scattered all over the web.
It would have been best to implement piracy checks from the beginning, but this had to be part of the 1.1+ update. Since 1.0 I have released versions 1.1 and 1.2, and have only seen version 1.1 ‘cracked’ and uploaded to websites, but I have tested this out myself, and my piracy checks do exactly what they are supposed to do, crash the app rendering it useless.