作者larry122 (larry122)
看板MacDev
标题[问题] 请问推波的判定
时间Thu Jul 14 00:35:13 2016
各位好,小弟最近遇到一个有关於推播的问题,
目前可以当APP在前台收到推波时将一个viewcontroller的view addsubview上去,
也可以在背景或是尚未执行的时候点推波讯息,能够顺利打开app并将view展现出来,
但只要使用者在背景或是尚未开启app的时候是直接点选桌面上的icon,
view将不会被贴上去,想请问是这做法不可行还是我还没找到方向呢!?
目前部分code如下
ps.目前还有一个问题是BadgeNumber的问题,如何让收到推波的时候+1 并只要有开启或
正在开启的时number就为0呢)
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary *remoteNotif = [launchOptions objectForKey:
UIApplicationLaunchOptionsRemoteNotificationKey];
// Accept push notification when app is not open
if (remoteNotif) {
[self handleRemoteNotification:application
didReceiveRemoteNotification:remoteNotif];
}
}
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
if([[userInfo objectForKey:@"aps"] objectForKey:@"alert"]!=NULL){
NSString *alertbody = [[userInfo objectForKey:@"aps"]
objectForKey:@"alert"];
UIStoryboard* mainStoryboard = [UIStoryboard
storyboardWithName:@"Main" bundle: nil];
AlertCustumViewController * view1 = [mainStoryboard
instantiateViewControllerWithIdentifier:@"alert"];
[self.window addSubview:view1.view];
application.applicationIconBadgeNumber =
application.applicationIconBadgeNumber+1;
}
}
-(void)handleRemoteNotification:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
AlertCustumViewController * view1 = [mainStoryboard
instantiateViewControllerWithIdentifier:@"alert"];
[self.window addSubview:view1.view];
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.171.103.105
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1468427715.A.79F.html
1F:推 howdiun: 像line点推播会开那一页,直接点icon就不会,大家都一样 07/14 09:19
2F:→ LFimi: 开启app之後将applicationIconBadgeNumber设为0就好 07/14 09:27
3F:→ larry122: 感谢 我上班只能手机回文 目前对badge想法是数字是再did 07/14 10:13
4F:→ larry122: ReviceRemoteNotification +1 然後didFinishLauchingwit 07/14 10:13
5F:→ larry122: hOption归0 我来测看看 07/14 10:13
6F:推 songooo: 可考虑在applicationWillEnterForeground归0 07/14 11:25
7F:→ songooo: 可能要把原本app就在背景时的状况考虑进去 07/14 11:25
8F:→ larry122: 感谢楼上 目前是用becomeactive归0 下午测试您的方法看 07/14 12:07
9F:→ larry122: 看 07/14 12:07
10F:→ larry122: 所以点icon目前似乎是无解 07/14 12:12
11F:→ jazzter: 应该说,你如果要改变app进入时的状态是不能单仰赖推播 07/14 14:20
12F:→ jazzter: 的,它本身就不是个可靠的data source,建议你如真有这需 07/14 14:20
13F:→ jazzter: 求用,改用其它方式 07/14 14:20
14F:→ jazzter: 手机推文断句很乱歹势 07/14 14:21
15F:→ larry122: 了解 感谢您 我也是手机推文乱断行 07/14 15:08