在 IOS 中对来自服务器的响应设置 UILocalNotification

Set UILocalNotification on a response from the server in IOS

我有多个图像发送到服务器并在成功上传响应 1 后得到响应。

现在我想在它上面设置一个本地通知,如果服务器在上传图片后响应 1,它应该显示一条通知,比如图片已发送的横幅。

我已经尝试了一些代码,但是当我收到响应时它显示了任何警报。

我的代码是:

    -(void)Images{

            NSString *eachImagePath;
            if(_arrai.count == 0)
                return;

            eachImagePath = [NSString stringWithFormat:@"%@",_arrai[0]];

            NSMutableDictionary *dictAddNewJobImages = [[NSMutableDictionary alloc]init];
            dictAddNewJobImages[@"property_id"] = Propid;
            dictAddNewJobImages[@"name"] = _arrainame;

            NSString *strWebService = [NSString stringWithFormat:@"My URL"];

            AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
            manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/html"];

            [manager.requestSerializer setTimeoutInterval:600.0];

             [manager POST:strWebService parameters:dictAddNewJobImages constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData)
             {
                 NSURL *filePath = [NSURL fileURLWithPath:eachImagePath];
                 [formData appendPartWithFileURL:filePath name:@"image" error:nil];
             } progress:^(NSProgress * _Nonnull uploadProgress)
             {
             } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject)
             {
                 NSLog(@"%@",responseObject);
                 [_arrai removeObjectAtIndex:0];
                 if(_arrai.count > 0)
                     [self Images];


             } failure:^(NSURLSessionDataTask*  _Nullable task, NSError * _Nonnull error) {
                 NSLog(@"%@",error);

              }];

            NSString *res = [serverResponse valueForKey:@"response"];
            NSLog(@"response: %@", res);

            UILocalNotification* localNotification = [[UILocalNotification alloc] init];

           // localNotification.fireDate = res;

            localNotification.alertBody = res;

            localNotification.alertAction = @"Image Sent";

            localNotification.timeZone = [NSTimeZone defaultTimeZone];

            localNotification.applicationIconBadgeNumber = [[UIApplication 

        sharedApplication] applicationIconBadgeNumber] + 1;

            [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

            // Request to reload table view data
            [[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:self];

            // Dismiss the view controller
            [self dismissViewControllerAnimated:YES completion:nil];
}

请像这样添加通知:

UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
        UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];


UILocalNotification* localNotification = [[UILocalNotification alloc] init];

            localNotification.fireDate = [NSDate date];

            localNotification.alertBody = res;

            localNotification.alertTitle = @"Image Sent";

            localNotification.timeZone = [NSTimeZone defaultTimeZone];

            localNotification.applicationIconBadgeNumber = [[UIApplication 

        sharedApplication] applicationIconBadgeNumber] + 1;

            [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];