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.
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.
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.