2016-10-20 14 views
0

私はsdwebimageとback4appバックエンドを使用しています。 back4appからイメージを読み込むことができません。ドメイン= NSURLErrorDomainコード= 403「操作は完了できませんでした。(NSURLErrorDomainエラー403)」エラー

[immg1 sd_setImageWithURL:url11 placeholderImage:[UIImage imageNamed:@"pro"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 
       if (error) 
       { 
        NSLog(@"B4A_Error: %@", error.localizedDescription); 
        NSLog(@"B4A_Error URL: %@", imageURL.absoluteString); 

       } 
       else 
       { 
        NSLog (@"B4A_Success"); 
        [immg1 setNeedsDisplay]; 
       } 
      }]; 


//   [immg1 setImageWithURL:url11 usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 


      [imgView addSubview:immg1]; 
+0

あなたがオンラインの画像が存在することを確認することができますか?このエラーは、ファイルが存在しないために発生するためです。 – KKRocks

答えて

0

SDWebImageは何らかの理由でuser-Agentを保持していませんでした。私は手動ですべての呼び出しの前にそれを維持するように強制しました。ただ、この方法を試してください。

NSString *userAgent = @""; 
      userAgent = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)", [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleVersionKey], [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion], [[UIScreen mainScreen] scale]]; 

      if (userAgent) { 
       if (![userAgent canBeConvertedToEncoding:NSASCIIStringEncoding]) { 
        NSMutableString *mutableUserAgent = [userAgent mutableCopy]; 
        if (CFStringTransform((__bridge CFMutableStringRef)(mutableUserAgent), NULL, (__bridge CFStringRef)@"Any-Latin; Latin-ASCII; [:^ASCII:] Remove", false)) { 
         userAgent = mutableUserAgent; 
        } 
       } 
       [[SDWebImageDownloader sharedDownloader] setValue:userAgent forHTTPHeaderField:@"User-Agent"]; 
      } 
関連する問題