When contacted by a customer who is experiencing a problem in your iOS app and making an update to fix it, is there a way to get the user to verify the fix privately before making the update available to everyone?
Background: I was contacted by a user who is seeing a weird rendering problem since installing the latest update. Unfortunately I have not been able to reproduce the problem — the customer uses an old iPhone model that I don’t have access to, and I’ve had no luck reproducing it with the same iOS version in the simulator. However I made an update that I have good reasons to believe will fix it (I undid the small changes to the rendering code that were in the last update and did an alternative implementation that completely bypasses the issue, if my guess of what the issue is about is correct). But I obviously don’t have 100% confidence that it will fix the bug since I can’t repro it.
So I’ve submitted the update to iTunesConnect and have asked the user to wait until Apple has approved it. If it turns out that the change doesn’t fix this issue, it would all be such a waste for the customer (who will have waited for nothing), for all my other users (who will see an update for nothing) and for Apple (who will have reviewed an update for nothing).
This is what ad-hoc deployment is for – testing. You can manually deploy a build to the customer (you need to know his devices UDID) or you can use a service like TestFlight (free) which helps to automate and manage the ad-hoc process.