There’s a lot of MD5 iOS solutions floating around out there. From the ones I’ve seen, they all have a common problem. They all assume you want to MD5 an NSData instance, meaning all of the data must be in memory in order to digest it.
Now this will work in most cases, but say you want to MD5 a 1 gigabyte file… on an iPhone. You’re probably going to have a few problems.
There’s a bunch of well known things to test when finalising an app. However, there are a few others that aren’t so obvious and could have major issues with a minority of people.
In iOS7 the UIActivityViewController now supports AirDrop to share files wirelessly between two devices. Because the share tray can support a lot of different share types you may not want your users sharing the same thing with AirDrop that they can share via email or Facebook.
In iOS7, if a user wants to go back a page they can now choose between using the old back button or a newly introduced method by dragging from the left side of the screen. However this may not suit every developer’s app, and there’s a pretty easy way to disable it.
CoreImage has some pretty neat APIs. A lot of them aren’t very well known. I’m going to show off how easy it is to use the image filters, which can be used to add effects to an image.
Whenever I see an interesting software bug I screenshot it. I have been collecting for a while, so time to make a gallery of the iOS ones I’ve found. This contains those from iOS itself and also from popular iOS apps.
Unit Tests are a good way to ensure things don’t break while coding. In Xcode by default they are run manually. Because it’s manual you may forget to run them, or a new person to the project may not know about them. You can set Xcode up to run them automatically every time you build your app, which ensures nothing will go unnoticed.
Here’s how to do that.
In a project I’m currently working on I needed to generate a PDF based on a bunch of information the user had entered. The PDF needed to be very fancy and have images and graphics all over the place to make it look really nice. Instead of drawing everything from scratch I used to some of the PDF libraries on iOS that allowed me to create a new PDF based on an existing one, then draw the dynamic content over the top. This even preserves the nice vectors and crisp text inside the original so it remains perfect when printing. This saved me a lot of time and kept the PDF exactly how the client wanted it.
When the standard keyboard is not enough a keyboard accessory is often a good solution. I am talking of the one commonly seen in web apps, allowing the user to go between fields and drop the keyboard. These are extremely easy to add, and require very little code. In your UITextField you need to set the inputAccessoryView. This can take any UIView subclass and will display just like a regular keyboard, all animations are handled for you.
If you're an iOS developer you have probably seen the number 44 all over the place. The size of buttons, the size of navigation bars, the size of cells etc etc. But why are so many sizes 44 pixels?