看板 MacDev 關於我們 聯絡資訊
各位好,小弟最近遇到一個有關於推播的問題, 目前可以當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://www.ptt.cc/bbs/MacDev/M.1468427715.A.79F.html
howdiun: 像line點推播會開那一頁,直接點icon就不會,大家都一樣 07/14 09:19
LFimi: 開啟app之後將applicationIconBadgeNumber設為0就好 07/14 09:27
larry122: 感謝 我上班只能手機回文 目前對badge想法是數字是再did 07/14 10:13
larry122: ReviceRemoteNotification +1 然後didFinishLauchingwit 07/14 10:13
larry122: hOption歸0 我來測看看 07/14 10:13
songooo: 可考慮在applicationWillEnterForeground歸0 07/14 11:25
songooo: 可能要把原本app就在背景時的狀況考慮進去 07/14 11:25
larry122: 感謝樓上 目前是用becomeactive歸0 下午測試您的方法看 07/14 12:07
larry122: 看 07/14 12:07
larry122: 所以點icon目前似乎是無解 07/14 12:12
jazzter: 應該說,你如果要改變app進入時的狀態是不能單仰賴推播 07/14 14:20
jazzter: 的,它本身就不是個可靠的data source,建議你如真有這需 07/14 14:20
jazzter: 求用,改用其它方式 07/14 14:20
jazzter: 手機推文斷句很亂歹勢 07/14 14:21
larry122: 了解 感謝您 我也是手機推文亂斷行 07/14 15:08