MugunthKumar/MKStoreKit — pull request #109 by adonoho (2012-11-14 21:36:29+00:00)
Title: While adding MKStoreKit to Punch It Out ...

Mugunth et. al.,

This is my first project using MKStoreKit. I hear good things about it. Thank you for writing and sharing it with the rest of us.

This pull request deals with two issues.

First, using Xcode 4.5.2, the clang static analyzer complains about your external projects. `NSData+Base64.h/.m` uses an uninitialized variable. The `SFHFKeychainUtils.m` uses bridging improperly and causes leaks. My analysis and experience with the keychain APIs agrees with clang's analysis. To that end, I have converted the leak causing `__bridge_transfer` casts to `__bridge` casts.

Second, I like to keep configuration code separate from library code. Hence, I've moved some of your files around. Why do I do this? It lets me keep the common code for many projects in a central location and then easily identify and copy project specific code into their specific projects. Due to the error handling warnings, it wasn't clear whether the `VerificationController` should go into the library code or configuration code.

Third, a suggestion: There are several third party libraries that perform base 64 conversions. May I suggest that you namespace the Mr. Gallagher's version as `NSData+MGBase64`.

Thank you again for writing MKStoreKit. You will, of course, get a public, human visible credit in Punch It Out.

Andrew