We already know that Push messages do not work with unlocked iPhones or only work for some people, but you may wonder what's the problem.
http://www.ipodtouchfans.com/forums/showthread.php?t=214282
Via http://ipodtouchfans.com via http://powerybase.com/blog
http://www.ipodtouchfans.com/forums/showthread.php?t=214282
Via http://ipodtouchfans.com via http://powerybase.com/blog
As you've already figured out, NotifyMe is highly dependant on the lastest Push technology provided by Apple. Push is available only for the last three weeks publicly since iPhone OS 3.0 came out and many applications already benefit from its capabilities. There are many various usages for Push, a lot of Push based applications are yet to come.
So what's the problem? We've received hundreds of support request in the last few days since NotifyMe appeared on the App Store. Unfortunately, about 90% of them are from the users with unlocked iPhones. They've bought the application and are mostly angry, sad or hopeless and the worst part is that we can't really help them. Push simply does not work reliably or does not work at all on any unlocked device, no matter what Push application is used. We understand that unlocked iPhones break Apple's and carriers' bussiness and there isn't really a way to fight against it. We also understand that Apple has invested a lot of money, resources and time into developing the APNS infrastructure. That's really great. In the last two years, Apple has redefined the mainstream smartphone market and clearly deserves a credit (and money) for it.
According to technical documentation, every Push application has to request the unique token from the Apple's APNS servers to identify the device it's running on. Thanks to that token, APNS servers always know which device is yours. The token can be understood as an IP address -- the server has to know where to send the notification and for which application. APNS can also change your token regularly for higher reliability, so it's critical that the application requests the token again on every start (or when enabling the Push feature) to replace the old one if new token is forced by APNS.
On any unlocked iPhone, the application requesting the token is stuck. APNS does not provide any response at all and the application can either cancel the request completely by automatic timeout or let user wait with the proggress bar forever. Either way, the user will never receive any Push message, because APNS has not provided the token. Yes, Apple can care less. It's not possible to support the unsupported. Have you modified your device? We have warned you, nothing may work correctly. How is the user even expecting something to work if he modifies his device with unofficial tools? Should we make sure all hacks will work correctly first before we release a firmware update? That's ridiculous. That's how Apple handles the situation and that's correct in our opinion. We also warn users in the application description on the App Store that unofficially modified devices are not supported.
You can call users stupid if they alter their iPhone OS, buy the application and then complain, request their money back or expect everything to work. But what the developers should do? Should we ignore 90% of users' support requests? Or can we just reply to everyone with "Sorry, Apple does not like you"? Either way, the user is not satisfied and the application gets 1 star ratings because it doesn't work. Most of the users don't really read the description and don't even try to fill a support request. It makes us really sad. Developers are replying to support requests promptly also late at night to make customers happy and what they really get is bad ratings especially in countries with iTunes Store where unlocked devices are very popular.
If APNS could at least return zeros or some internal error so the developers can warn users once more to prevent bad reviews, that would be cool. Maybe guys at Apple will realize this soon. We feel that's not going to happen though, unfortunately.