I'm a developer on the IP Messaging team at Twilio and can hopefully provide some additional information here.
Registration feedback from the IP Messaging SDK is currently limited to failures, which you'll receive via the delegate method -ipMessagingClient:toastRegistrationFailedWithError:
That being said, upon calling registerWithToken: on your instance of the TwilioIPMessagingClient, you should see log entries that show the registration is being sent to our server:
TNNotificationClient | Starting registration..., id: <....>
TNRegTransport | Creating registration: apn - <....>
TNRegTransport | Registration is created, location: https://ers.us1.twilio.com/v1/registrations/<...>
When a message is sent to a channel, push registrations for members of that channel are queried and push messages sent to any registered members. Twilio uses the device token you provide for a given user via the registerWithToken: method and the credential SID (starting with CR) you provided in the JWT the client was created with that created that registration. The credentials you provide to Twilio via the REST or web interface must match up to the registration performed on the device both in AppID as well as environment (sandbox versus production).
A few things to verify:
- Ensure you have created a credential SID and it appears here: https://www.twilio.com/user/account/ip-messaging/credentials
- Ensure when you created the credential, you indicated whether it was for the APNS sandbox (development provisioning profile) or production (ad-hoc, enterprise or app store) certificate
- Ensure that the JWT you are generating has a
credential_sid grant and it matches the CR and environment you are running the app in during push registration
If you would like, I'd be happy to help you diagnose this further with your specific account details if you open a ticket at https://www.twilio.com/help/contact and reference this post. We'll be sure to update this SO post with any additional public information that arises from that conversation.
Randy