AFNetworking блок кода не выполняется

Я знаю, что общие вопросы не разрешены на этом сайте, но у меня есть проблема, которая на самом деле не связана с моим кодом. Это одна из тех проблем с компьютером, когда мой код работал одну минуту, а не работал — и я ничего не изменил. Я собираюсь опубликовать то, что я считаю соответствующим кодом — но я не получаю никаких сообщений об ошибках, либо в моей консоли отладки в XCode или на стороне сервера, в apache2 журналы ошибок.

Возможно соответствующий код:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

UIImageWriteToSavedPhotosAlbum(info[UIImagePickerControllerOriginalImage], nil, nil, nil);

NSString * uploadURL = @"http://192.168.1.4/upload.php";
NSLog(@"uploadImageURL: %@", uploadURL);
NSData *imageData = UIImageJPEGRepresentation(info[UIImagePickerControllerOriginalImage], 0.5);

NSString *queryStringss = [NSString stringWithFormat:@"%@",uploadURL];
queryStringss = [queryStringss stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//manager.responseSerializer.acceptableContentTypes = nil;
manager.responseSerializer=[AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/plain"];

NSUserDefaults *userdefaults = [NSUserDefaults standardUserDefaults];

NSString *usernameEncoded = [[userdefaults objectForKey:@"pfuser"]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSDictionary *params = @{@"username": usernameEncoded, @"count": [userdefaults valueForKey:@"count"]};

[manager POST:queryStringss parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData name:@"file" fileName:@"file.jpeg" mimeType:@"image/jpeg"];
}
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject);
NSInteger count = [userdefaults integerForKey:@"count"];
NSNumber *stored = [[NSNumber alloc] initWithInt:count];
count++;
[userdefaults setInteger:count forKey:@"count"];


GMSMarker *marker3 = [[GMSMarker alloc] init];
marker3.position = mapView_.myLocation.coordinate;
marker3.title = [userdefaults objectForKey:@"pfuser"];
marker3.map = mapView_;

PFGeoPoint *point = [PFGeoPoint geoPointWithLatitude:mapView_.myLocation.coordinate.latitude longitude:mapView_.myLocation.coordinate.longitude];

PFObject *pointstore = [PFObject objectWithClassName:@"MapPoints"];
pointstore[@"title"] = [userdefaults objectForKey:@"pfuser"];
pointstore[@"location"] = point;
pointstore[@"count"] = stored;

[pointstore saveEventually:^(BOOL succeeded, NSError *error) {

if (error) {
NSLog(@"Error");
}
else {
dispatch_async(dispatch_get_main_queue(), ^(void){
mapView_.settings.myLocationButton = YES;
});
}
}];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@ ***** %@", operation.responseString, error);
}];

[picker dismissViewControllerAnimated:YES completion:NULL];
}

Выше приведен код, который должен выполняться. Кажется, чтобы выполнить все до [manager POST:queryStringss parameters:params...

Я не вижу NSLog сообщения об успехе или неудаче, он просто вылетает … приложение не падает, хотя … приложение продолжает работать нормально.

Любая помощь будет высоко оценена этим утром (я бы с удовольствием поработал с кем-то, кто знает, что они делают, в чате или что-то в этом роде). Заранее спасибо!

ОБНОВИТЬ

PHP серверный код:

<?php

header("Content-Type: application/json");

$username = $_POST['username'];
$count = $_POST['count'];
$base64string = base64_encode(file_get_contents("images/".$username."/".$count."/".$username."file".$count.".jpeg"));
echo json_encode(array("image" => $base64string));

?>

ОБНОВИТЬ

Это где я заявляю manager сейчас:

#import "ViewController.h"#import "SignUpController.h"#import <Parse/Parse.h>
#import "AFHTTPRequestOperation.h"#import "AFHTTPRequestOperationManager.h"@import GoogleMaps;

typedef void (^CompletionHandlerType)();

@interface ViewController ()

@end


@implementation ViewController {
GMSMapView *mapView_;
BOOL firstLocationUpdate_;
CLLocationManager *locationManager;
UIImageView *image;
UIButton *respondButton;
AFHTTPRequestOperationManager *manager;
}

...

ОБНОВИТЬ

После некоторой замечательной помощи от TheEye — мы выяснили, с почтальоном (расширение chrome), что по какой-то причине приложение просто не находит страницу … и я получаю ответ 404 (от почтальона). Я до сих пор не выяснил, почему это происходит, больше помощь будет принята с благодарностью … но я не могу ответить сразу, так как я устал.

1

Решение

Глупый брандмауэр, должно быть, начал блокировать вещи случайно. Я отключил брандмауэр, и все снова заработало.

0

Другие решения

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissViewControllerAnimated:YES completion:nil];

UIImage *fetchedImage = (UIImage*) [info objectForKey:UIImagePickerControllerOriginalImage];

NSData *imageData = UIImageJPEGRepresentation(fetchedImage,0.0);

[self SetUserProfilePhotoData:imageData];

}


-(void)SetUserProfilePhotoData:(NSData*)imageData
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer.timeoutInterval = 15000000000000;
manager.requestSerializer.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
manager.responseSerializer = [AFHTTPResponseSerializer serializer];

AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
// [serializer setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
manager.requestSerializer = serializer;





NSUserDefaults *userdefaults = [NSUserDefaults standardUserDefaults];

NSString *usernameEncoded = [[userdefaults objectForKey:@"pfuser"]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSDictionary *params = @{@"username": usernameEncoded, @"count": [userdefaults valueForKey:@"count"]};

NSMutableURLRequest *request =
[serializer multipartFormRequestWithMethod:@"POST" URLString:@“http://192.168.1.4/upload.php” parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
//  [formData appendPartWithFormData:imageData name:@"image"];


[formData appendPartWithFileData:imageData name:@"image" fileName:"file.jpeg" mimeType:@"application/octet-stream"];


} error:nil];


AFHTTPRequestOperation *operation =
[manager HTTPRequestOperationWithRequest:request
success:^(AFHTTPRequestOperation *operation, id responseObject) {

dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD showSuccessWithStatus:@"Uploaded!"];
});                                        NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"Success %@", string);



[[NSUserDefaults standardUserDefaults] setValue:@"" forKey:@"UserProfilePic"];

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[SVProgressHUD showErrorWithStatus:@"Error in uploading!"];
NSLog(@"Failure %@", error.description);
}];

[operation setUploadProgressBlock:^(NSUInteger __unused bytesWritten,
long long totalBytesWritten,
long long totalBytesExpectedToWrite) {


// NSLog(@"Wrote %lld/%lld", totalBytesWritten, totalBytesExpectedToWrite);

float progress =  (float)totalBytesWritten/(float)totalBytesExpectedToWrite;
[SVProgressHUD showProgress:progress status:[NSString stringWithFormat:@"Uploading %@%%",[NSString stringWithFormat:@"%.0f", progress*100]] maskType:SVProgressHUDMaskTypeClear];

}];

// 5. Begin!
[operation start];


}
-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector