My iOS app is going to be free, but with additional functionality enabled via in app purchase. Currently beta testers are doing a great job finding bugs and I want to reward them for their hard work. I think the least I can do is give them a full version of the app so that they don't have to buy the functionality themselves. However, I'm not sure what the best way to do this is.
There do not appear to be promo codes for in app purchase so I can't just email out promo codes.
I have all the tester device UDIDs so when the app launches I could grab the device UDID and compare it to an internal list of 'approved' UDIDs. Is this what other developers do?
My concerns:
What would you do?
Just ship with a plist containing the UDIDs that you want to enable the feature for and do the check at startup. You can even put an alert up once that says, "Thanks for being a beta tester blah blah." Since app binaries are signed no one can add their own UDID to the list after you ship (which deals nicely with the hacker problem).
As to users switching devices, I wouldn't worry about it. beta testing something usually doesn't imply that you get a pass forever.