2017-01-23 8 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'
ターゲットのプロジェクト名はFirebase /コア '
ポッド 'Firebase /メッセージング'
ポッド '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

ありがとう、すっごく@Piyush Patel。 – sarita

関連する問題