原来以为收到PushKit推送的时候, 程序只是执行PushKit回调中的方法实现的方法 就是:
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type; 中实现的方法, 结果测试发现, 如果程序在后台的情况确实是这样, 但是如果整个进程都被干掉的时候,就不是只执行回调中的方法,而是系统在某个区域会启动我们的应用,但是我们在前台和后台都看不到。但是执行的效果跟我们主动点击应用图标启动应用一样。我是这样验证的, 我在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 和我主界面的 - (void)viewDidAppear:(BOOL)animated; 方法中各发送一个本地推送通知, 发现我都能收到这个通知。
那么问题来了, 我想要知道我该如何区分我的应用是我主动启动的还是被PushKit推送启动的?因为PushKit启动的情况下有些代码我不想执行。 我发现不管哪种情况启动的程序 launchOptions 参数都是nil。 跪求高手指点。
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type; 中实现的方法, 结果测试发现, 如果程序在后台的情况确实是这样, 但是如果整个进程都被干掉的时候,就不是只执行回调中的方法,而是系统在某个区域会启动我们的应用,但是我们在前台和后台都看不到。但是执行的效果跟我们主动点击应用图标启动应用一样。我是这样验证的, 我在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 和我主界面的 - (void)viewDidAppear:(BOOL)animated; 方法中各发送一个本地推送通知, 发现我都能收到这个通知。
那么问题来了, 我想要知道我该如何区分我的应用是我主动启动的还是被PushKit推送启动的?因为PushKit启动的情况下有些代码我不想执行。 我发现不管哪种情况启动的程序 launchOptions 参数都是nil。 跪求高手指点。
解决方案 »
- ViewController操作请教
- 业余学习iphone开发,求书推荐。
- mms协议解析(求帮助)
- 小弟新手,求一个能高速下载的xcode_4.0.1_and_ios_sdk_4.3
- uitableview实现了协议,为什么就会调用协议的方法?
- IOS 横屏 启动画面看不到
- 请问为了通过审核,改名必须做如下2个修改吗?还是1个修改就可以了。
- ios8 应用使用cordova3.8 的camera插件,无法拍照
- 微信分享连接点击后出现正在加载,无法跳转到iTunes 的app下载页面?
- UIScrollView的滑动与UIPanGestureRecognizer的混用问题
- FFmpeg PCM转AACDdemo
- 关于苹果最新声明的APP上架需要支持IPv6机制
{
//Application did receive push notification. Do whatever you want to do
}
但是这是在应用启动之后了, 而且不管是应用在后台还是说它启动了应用都能收到这个通知