Gur*_*epu 6 objective-c apple-push-notifications ios
更新问题:
要求是; 一旦收到无声通知,我想运行一个Web服务并在通知栏中显示一个班轮.如果应用程序也被杀死它必须工作.任何解决方法?
我正在尝试以下方法.
我是iOS新手,我在沉默推送通知方面苦苦挣扎,谷歌搜索很多并且卡住了.当应用程序未启动时(即从应用程序切换器中删除应用程序时),当我收到静音推送通知时,iOS会唤醒我的应用程序吗?
我的工资负担是
{
aps: {
content-available: 1,
sound: ""
}
}
Run Code Online (Sandbox Code Playgroud)
.
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler{
int CA=[[[userInfo valueForKey:@"aps"] valueForKey:@"content-available"] intValue];
if (CA==1) {
my action...
}
completionHandler(UIBackgroundFetchResultNewData);
}
Run Code Online (Sandbox Code Playgroud)
当app处于前台和后台时,此方法被调用并正常工作.当应用程序未处于运行状态时(即应用程序未从应用程序切换器启动或终止),唤醒我的应用程序.
如果应用程序已从App Switcher中删除,iOS将不会唤醒您的应用程序,因为用户明确要求关闭您的应用程序.
如果用户至少打开一次您的应用程序,并且不从App Switcher中删除它,iOS将唤醒您的应用程序
我们在服务器端处理此问题的方法是:如果用户的应用程序在我们发送静默通知后的一分钟内没有连接,(您可以根据需要进行设置),我们会发送另一个非静默推送通知来提醒用户.由于App(未被用户关闭)应该自动获取数据,因此应该花费不到一分钟.
但就此而言,您需要一个比简单发送静默推送更复杂的服务器代码.
编辑:(对这个问题进行投票表明我已经过时了)
这个答案不再是真的......你现在可以使用PushKit唤醒你的应用程序做一些小事(比如下载小块数据来更新内容),即使App已经从App Switcher中删除了.
归档时间: |
|
查看次数: |
9748 次 |
最近记录: |