我知道可以检查用户是否禁用了推送设置,如Objective c - 检测用户何时更改应用程序的通知设置中所述。
根据上面的文章,即使用户禁用了应用程序的推送通知,也会发送推送通知。据我了解,我应该始终在applicationDidFinishLaunching:
.
大多数示例如下所示,即忽略用户设置。
- (void)applicationDidFinishLaunching:(UIApplication *)app {
// other setup tasks here....
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
}
Run Code Online (Sandbox Code Playgroud)
如果应用程序应该考虑这些设置,那么正确的实现是什么样的?
我之所以问这个问题,是因为我们有很多客户抱怨,尽管他们禁用了推送通知,但他们还是收到了推送通知。这似乎适用于 iOS 6。
作为开发人员,我是否应该处理用户禁用推送通知的情况?我已经一遍又一遍地阅读文档。特别是application:didReceiveRemoteNotification:
. 它没有说明当用户禁用推送通知时是否调用它。
我已经开始使用AFNetworking,它可以很好地进行简单的"GET"请求.但是现在我正在尝试进行"POST" - 请求.我使用下面的代码来执行"GET"请求.在查看AFHTTPClient的puthPath时,无法设置要用于正文的数据.我的猜测是,有另一种解决方法.我一直在关注AFHTTPOperation作为解决这个问题的方法.但是,我没有让这个工作.问题是我不知道如何在基本身份验证中使用它.
有人可以给我一个如何用AFNetworking做一个简单的"POST"请求的提示吗?
AFHTTPClient* client = [AFHTTPClient clientWithBaseURL:ServerURL];
[client setAuthorizationHeaderWithUsername:self.username
password:self.password];
NSString* resourcePath = [NSString stringWithFormat:@"/some/resource/%@",
endPath];
[client getPath:resourcePath
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// Success code omitted
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// Some error handling code omitted
}
];
Run Code Online (Sandbox Code Playgroud)