我想知道我们一次可以发送给用户的苹果推送通知数量是否有限制?换句话说,我可以使用APNS服务一次发送100,000个推送通知吗?
我正在使用PushSharp v2.0.4.我有一个推送通知服务(即Windows服务),每分钟发送一次通知.服务负载非常小.最多,每次运行我会发送四个通知.
当我的服务启动时,它运行正常大约2小时后才开始看到以下消息:
2013-06-04 07:59:01.0857|Error|Failure: PushSharp.Apple.ApplePushService ->
The maximum number of Send attempts to send the notification was reached! -> {"aps":{"badge":2}}
Run Code Online (Sandbox Code Playgroud)
一旦出现此消息,似乎PushSharp无法轻易地通过它.在我重新启动服务之前,我会继续看到此消息.
我应该提一下,当这个错误发生时,我确实看到一些随机的已发送消息通过.例如:
2013-06-04 07:54:04.3982|Info|Sent: PushSharp.Apple.ApplePushService -> {"aps":{"badge":2}}
Run Code Online (Sandbox Code Playgroud)
我正在使用其默认配置运行PushSharp.
有关导致失败的原因的任何想法?
我想实现一个自定义屏幕,通知我的用户我为什么要请求推送通知权限.在他们按下该自定义屏幕中的按钮后,我会显示iOS推送通知权限对话框[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
如果用户尚未看到推送通知权限对话框,我只想显示此自定义屏幕一次.我不能使用,[[UIApplication sharedApplication] enabledRemoteNotificationTypes] == UIRemoteNotificationTypeNone因为如果用户决定不允许推送通知,这也将返回'none'.
任何人的想法?
我按照这个线程,但didRegisterForRemoteNotificationsWithDeviceToken仍未调用该方法:
文件说:
在调用UIApplication对象的registerForRemoteNotifications方法后,应用程序在设备注册成功完成时调用此方法
didRegisterUser看起来很好,但不是did register notif.
这是我在AppDelegate中的代码(应用程序版本是8.1):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//register notif
UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge |
UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil];
[application registerUserNotificationSettings:settings];
return YES;
}
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
//register to receive notifications
[application registerForRemoteNotifications];
NSLog(@"didRegisterUser");
}
-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSLog(@"error here : %@", error);//not called
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
/*
// Store the deviceToken in the …Run Code Online (Sandbox Code Playgroud) 我正在观察SecItemCopyMatching在锁定的手机上执行iOS 8推送通知时引发的设备控制台中的钥匙串错误.详细的重复步骤如下:
didFinishLaunchingWithOptions被调用,试图访问钥匙串项目.运行时SecItemCopyMatching,Access to item attempted while keychain is locked设备控制台中会显示错误.完整的错误日志如下所示.最后一行给出了应用程序特定的错误消息.
ReportCrash[32481] <Error>: task_set_exception_ports(B07, 400, D03, 0, 0) failed with error (4: (os/kern) invalid argument)
ReportCrash[32481] <Notice>: ReportCrash acting against PID 31423
diagnosticd[32258] <Error>: error evaluating process info - pid: 31423, punique: 131317
ReportCrash[32481] <Notice>: Formulating crash report for process cfprefsd[31423]
com.apple.xpc.launchd[1] (com.apple.cfprefsd.xpc.daemon[31423]) <Notice>: Service exited due to signal: Bus error: 10
My App[32480] <Error>: assertion failed: 12F70: …Run Code Online (Sandbox Code Playgroud) 我只是想问一下如何确定在静音推送上要采取的行动:
这是我发给客户的aps:
"aps": {
"content-available": 1
}
Run Code Online (Sandbox Code Playgroud)
我现在的问题是当我添加类型:"Order_Update"以确定静默推送是针对订单更新它显示警报通知
我目前正在使用Xcode 8.0 beta 6运行iOS 10 beta 8,并且当我收到具有正确有效负载的推送通知时,自定义声音无法播放.
我已经验证了有效负载,并且每个Apple文档的格式正确:
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
},
"acme1" : "bar",
"acme2" : 42
}
Run Code Online (Sandbox Code Playgroud)
当我将相同的有效负载发送到iOS9上的相同版本时,自定义声音可以正常播放.
有谁知道我需要在iOS 10中进行任何其他更改吗?
我正在创建一个应用程序,其故事板如下图所示:

当用户从"Sysalert View Controller"登录时,它们被带入"消息列表视图控制器",我在其中执行NSURLConnection以将一些JSON加载到表中.当用户点击表中的一行时,它们将被带入"消息详细信息",其中显示该消息的更多详细信息.
当用户从推送通知启动应用程序时,无论启动之前应用程序的状态如何,我都希望应用程序从我的服务器加载"消息列表"数据,然后向他们显示刚被推送到设备的消息.
我知道我需要用来didFinishLaunchingWithOptions告诉应用程序对推送通知做出反应但是如何设置视图层次结构以便"消息列表"视图控制器加载其数据然后将"消息详细信息"视图控制器推送到堆栈上适当的消息?
基本上这种模仿消息或邮件应用程序的行为.如果打开通知会将您带到该消息的视图控制器,但您仍然可以在层次结构中向后移动,就像您从初始viewController启动应用程序并依次遍历viewControllers一样.
uiviewcontroller push-notification apple-push-notifications ios
我已经实现了didReceiveRemoteNotification方法.它工作并显示一个视图控制器,其中包含通过的通知数据.这仅适用于应用程序已在前台或后台运行的情况.但是,当应用程序未运行且用户单击通知时,应用程序将启动,但看起来好像没有收到任何通知.通知未写入文本文件,并且未按下viewcontroller.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if ( application.applicationState == UIApplicationStateActive)
{
NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];
NSString *alertMsg = @"";
NSString *badge = @"";
NSString *sound = @"";
NSString *custom = @"";
if( [apsInfo objectForKey:@"alert"] != NULL)
{
alertMsg = [apsInfo objectForKey:@"alert"];
}
if( [apsInfo objectForKey:@"badge"] != NULL)
{
badge = [apsInfo objectForKey:@"badge"];
}
if( [apsInfo objectForKey:@"sound"] != NULL)
{
sound = [apsInfo objectForKey:@"sound"];
}
if( [userInfo objectForKey:@"Type"] != NULL)
{
custom = [userInfo objectForKey:@"Type"];
}
// Set …Run Code Online (Sandbox Code Playgroud) xcode objective-c push-notification apple-push-notifications ios
当应用程序被杀死时(不在后台),是否可以在iOS上使用基于地理位置的推送通知?
我有兴趣构建一个应用程序,用户将在地图上选择一个位置,然后如果他/她接近该区域,则会触发本地基于地理位置的推送通知.
然而这个"想法"是否可能?当应用程序被杀死并运行时,GPS可以运行并比较坐标,并在适当的时候通知用户吗?是否有关于这个主题的教程/文章/更多信息我可以阅读?
我在网上看到的大多数信息更像是在没有任何具体内容的情况下实施的一般想法.
iphone geolocation push-notification apple-push-notifications ios