iPhone SDK Push Notification

怎甘沉沦 提交于 2019-12-04 14:11:42

问题


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.


回答1:


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:

iPhone "Good Practices"

you can stop the crashing and also have both versions co-exist on the same device for testing, etc.




回答2:


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.




回答3:


I managed to get this working by re-requesting all of the certificates etc..




回答4:


I solved this by going to Settings, then toggling the top "master" Push Notifications switch off, then back on.




回答5:


Lengthy but sure shot solution is to "Erase all Content and Settings".




回答6:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!