Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

This is a quite straightforward question.

I have read about the jailbroken devices having some problems receiving push notifications.

Is that really true? And if so, how can we resolve it?

share|improve this question

migrated from superuser.com Jul 24 '12 at 3:23

This question came from our site for computer enthusiasts and power users.

    
This is off topic here, you'd definitely better move this to Superuser. –  H2CO3 Jul 19 '12 at 6:20
    
@H2CO3: This doesn't belong here, either. It belongs on Ask Different. –  DragonLord Jul 24 '12 at 2:44

1 Answer 1

up vote 5 down vote accepted

To answer the question, you'll need to understand how Apple's push notification service works. Every application that wants to use push notifications must register with the Apple Push Notification Service (APNS). Typically, this is done right after installation. iOS asks the user if the app is allowed to receive push notifications. If the user agrees, his iPhone talks to the APNS and requests a token that can identify the combination of application and device. This token is then handed to the service provider (i.e. the developer of the application). If the provider wants to send a push notification, it sends this token along with the payload to the APNS, which then delivers the message. So you can imagine the token as some kind of address. That is, the provider has to include the token in every push message request.

But how is the token generated? According to Apple's docs, the registration mentioned above works as follows: The device sends its unique device token (this is another one!) to the APNS and requests the mentioned deviceToken from the APNS. This deviceToken depends amongst others on the device ID and the app ID and is generated using cryptographic functions, so it cannot be forged.

Now here's the point: The unique token iOS needs to register applications and hence to allow push notifications is generated during the activation process in iTunes. The unique token also uses cryptography and can only be obtained from Apple during this activation process. Jailbroken and hacktivated iOS devices never perform the official activation, so they miss the token. Hence, push notifications cannot work (at least if Apple did not make a major mistake in the implementation).

share|improve this answer
    
Thanks for such a detailed explanation :) .But there are some apps like BBC whose pushes work on jailbroken devicess.How that is possible? –  Yogi Jul 19 '12 at 7:13
1  
You must distinguish between jailbreaking and hacktivating. Devices can be jailbroken without being hacktivated. This leaves the option to perform the activation process if you insert a legitimate SIM card. To be precise, activation uses the IMSI from your SIM card to verify that your device/card combination is officially supported. If this is the case, Apple is going to activate your device regardless of the jailbreak. –  Björn Marschollek Jul 19 '12 at 7:25
    
OK..But the devices I am testing on are not having sim cards in them. Still they are able to send the token successfully. Its working and so I just wanted to be clear about how the process works. Sorry if I am asking too much. –  Yogi Jul 19 '12 at 7:29
    
There is no need for a SIM, as long as the unique token has been generated during the official activaition. The activation needs a supported SIM, though. –  Björn Marschollek Jul 19 '12 at 7:45
    
Thanks..That improved my knowledge :) –  Yogi Jul 19 '12 at 7:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.