我已经使用了APNS Apple推送服务通知的代码消息是从我的服务器发送的,但它没有收到设备。请查看以下网址:
https://indiegirlworld.com/app/license_iphone/sample_push.php
以下是我从上述链接获得的消息:
Thu,2015年8月20日15:22:20 +0200 ApnsPHP [315874]:信息:尝试 ssl://gateway.sandbox.push.apple.com:2195 ...星期四,2015年8月20日15:22:21 +0200 ApnsPHP [315874]:信息:连接到ssl://gateway.sandbox.push.apple.com:2195。星期四,2015年8月20日15:22:21 +0200 ApnsPHP [315874]:INFO:发送消息队列,运行#1:1消息留在队列中。星期四,2015年8月20日15:22:21 +0200 ApnsPHP [315874]:状态:发送消息ID 1 [自定义标识符: Message-Badge-3](1/3):154字节。星期四,2015年8月20日15:22:21 +0200 ApnsPHP [315874]:信息:已断开连接。
答案 0 :(得分:0)
您是否检查过Push通知设置为“ON”的设置?
另一件事推送通知只能在真实设备中接收而不是在模拟器中。
您可以从模拟器发送推送通知(因为它只是一个Web服务调用。)。
- 更新 -
以下代码请求通知。
在appDelegate.m中写(didFinishLaunchingWithOptions:)
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
NSLog(@"Requesting permission for push notifications..."); // iOS 8
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes: UIUserNotificationTypeAlert | UIUserNotificationTypeBadge |
UIUserNotificationTypeSound categories:nil];
[UIApplication.sharedApplication registerUserNotificationSettings:settings];
}
else {
NSLog(@"Registering device for push notifications..."); // iOS 7 and earlier
[UIApplication.sharedApplication registerForRemoteNotificationTypes: UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
}
更新appDelegate.m
中的以下方法- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// Store DeviceToken some way like in NSUserDefault (if needed to pass device token)
// Write alert for success to register for push
}
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
// Write alert for failed to register for push
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
// Write alert code that shows you have successfully received alert
// after that maintain your push
}