2017-01-23 4 views
0

내 앱에서 SendGrid (0.2.0)를 통해 이메일을 보내고 있습니다. Sendgrid는 afnetworking 2.0에서 제대로 작동했지만 어떤 이유로 인해 afnetworking 버전을 2.0에서 3.0으로 업데이트해야했습니다. 하지만 이제 SendGrid가 오류를 범하고 있습니다. 그래서 나는 포드를 통해 그것을 또한 업데이트합니다.AFGetworking 3.0과 호환되는 SendGrid 버전은 무엇입니까?

포드 오류 - 분석 종속성 다음과 같은 요구 사항을 충족 할 수 없습니다 :

  • AFNetworking (~> 3.0)Podfile
  • AFNetworking (~> 2.0)에 필요한 Podfile의 SendGrid (0.3.0)

내용에 필요한 :

를 [!]

소스 'https://github.com/CocoaPods/Specs.git '
플랫폼 : IOS,'8.0 '
대상'프로젝트 이름은 중포 기지/코어 '
포드'중포 기지/메시징 '
포드'AFNetworking ','~> 3.0 '
포드' '
포드을' SendGrid ','~> 0.3.0 '
end

아무도이 문제를 해결하는 방법을 말해 줄 수 있습니까?

감사합니다.

+0

최신 버전의'SendGrid'의 Pod 버전을'Pod '처럼 sendGrid', '~> 0.3.0'' –

+0

@PiyushPatel과 같이 업데이트했습니다. 그러나 포드 오류가 계속 발생합니다. – sarita

+0

최신 버전의 SendGrid의 Pod 버전을 'AFNetworking', '~ 2.0' – Wos

답변

1

사용자 정의하려면 SendGrid에주의를 기울여야합니다.

  • 포드가 없으면 수동으로 sendGrid을 추가해야합니다.
  • 포드를 사용하여 AFNetworking 3.0을 추가하십시오.

지금, SendGrid 하나 개의 방법이있다 :

- (void)sendWithWeb:(SendGridEmail *)email successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSError *error))failureBlock 

당신이 방법은 당신이 방법을 편집해야이 같이

- (void)sendWithWeb:(SendGridEmail *)email successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSError *error))failureBlock 
{ 

    NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" 
                           URLString:self.baseURL 
                          parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 

                           for (int i = 0; i < email.imgs.count; i++) 
                           { 
                            UIImage *img = [email.imgs objectAtIndex:i]; 
                            NSString *filename = [NSString stringWithFormat:@"image%d.png", i]; 
                            NSString *name = [NSString stringWithFormat:@"files[image%d.png]", i]; 
                            NSLog(@"name: %@, Filename: %@", name, filename); 
                            NSData *imageData = UIImagePNGRepresentation(img); 
                            [formData appendPartWithFileData:imageData name:name fileName:filename mimeType:@"image/png"]; 
                           } 


    } 
                            error:nil]; 

    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 

    NSURLSessionUploadTask *uploadTask; 
    uploadTask = [manager 
        uploadTaskWithStreamedRequest:request 
        progress:^(NSProgress * _Nonnull uploadProgress) { 
         // This is not called back on the main queue. 
         // You are responsible for dispatching to the main queue for UI updates 
         dispatch_async(dispatch_get_main_queue(), ^{ 
          //Update the progress view 
         }); 
        } 
        completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { 
         if (error) { 
          NSLog(@"Error: %@", error); 
          failureBlock(error); 
         } else { 
          NSLog(@"%@ %@", response, responseObject); 
          successBlock(responseObject); 
         } 
        }]; 

    [uploadTask resume]; 
} 

를 따를 때처럼 편집 할 수있다. 요구 사항에 따라 편집이 변경됩니다.

코드를 테스트하지 주

. 그것의 예입니다.

+0

감사합니다, soo 많이 @Piyush 파텔. – sarita