I have setup push notifications in the apple developer panel and added the code to my application.
It works fine on the phone using a development profile but if I use a distribution (ad-hoc) profile so that I can give it to a few users for testing it gives an error and crashes, the log gives the following error
Code:
Thu Jun 25 22:22:35 unknown SpringBoard[729] <Warning>: *** Assertion failure in -[SBRemoteNotificationServer registerApplication:forEnvironment:withTypes:], /SourceCache/SpringBoard/SpringBoard-919.5/SBRemoteNotificationServer.m:633
Thu Jun 25 22:22:35 unknown SpringBoard[729] <Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'no connection found for environment production'
I am using the following code in the app
Code:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
The thing I don't understand is why it works perfectly using a development profile but with ad-hoc it crashes.
Does anyone know what would cause this?, I've tried changing lots of things to try and find the issue but have found nothing.
I was having this problem as well. The symptom was the app would crash when calling [[UIApplication sharedApplication] registerForRemoteNotificationTypes:...].
It seems that once a given device loads an APNs Distribution Profile, trying to later go back to using an APNs Development Profile will not work unless you change the App ID.
If you create a user-defined build setting in Xcode, as suggested here:
you can stop the crashing and also have both versions co-exist on the same device for testing, etc.
I solved this problem on one of my development devices by installing a random application from the App Store which uses push notifications. In this case, I installed the Le Monde.fr application. After I ran that application once, my own application no longer crashed.
I managed to get this working by re-requesting all of the certificates etc..
I solved this by going to Settings, then toggling the top "master" Push Notifications switch off, then back on.
Lengthy but sure shot solution is to "Erase all Content and Settings".
Here's my solution, and it has to do with how adhoc profiles work. Adhoc profiles cannot be installed via xCode. You need to build and archive the app, and install using iTunes or the organizer. That fixed it for me.
来源:https://stackoverflow.com/questions/1048307/iphone-sdk-push-notification