Bạn có thể nhận thông báo im lặng trong nền trên iOS, nhưng bạn sẽ cần một máy chủ để thực sự gửi thông báo.
Để thực hiện điều này, bạn kích hoạt chế độ Remote notifications
nền trong tab Capabilities của mục tiêu của bạn:
Sau đó, bạn đăng ký thông báo đẩy trong application:didFinishLaunchingWithOptions:
với
UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeNone categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
Trong khi chờ người sử dụng cho phép ứng dụng của bạn để gửi thông báo đẩy, bạn sẽ nhận được mã thông báo thiết bị:
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
Nếu họ gặp khó khăn, xử lý thất bại sẽ được gọi là:
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:
Bạn gửi deviceToken
máy chủ của bạn và nói với nó để gửi một thông báo push im lặng để deviceToken
rằng tại thời điểm địa phương của thiết bị của 08:00.
Đó thiết bị sẽ có phương pháp ứng dụng đại biểu sau đây gọi là:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
và bạn sẽ có thể để làm xử lý dữ liệu của bạn.
Dễ dàng!
Đừng quên gọi trình xử lý hoàn tất khi bạn hoàn tất!
Nguồn
2015-04-02 20:38:12
Khi thông báo cục bộ được kích hoạt, bạn sẽ không nhận được bất kỳ quyền kiểm soát ứng dụng nào. Nó chỉ là một cái gì đó được hiển thị trực quan cho người dùng. –
Thêm vào ở trên, chỉ các thông báo từ xa (push) mới cho phép bạn thực hiện những gì bạn muốn làm. – Ollie
Các thông báo địa phương và đẩy đều hoạt động theo cùng một cách theo nghĩa đó. họ không làm bất cứ điều gì trừ khi bạn mở chúng. – Kex