NSError *域:@" com.google.HTTPStatus" - 代码:404

时间:2018-03-06 18:15:40

标签: firebase exception http-status-code-404 firebase-storage

我正在尝试从Firebase存储中读取图片,我收到此错误:

NSError * domain: @"com.google.HTTPStatus" - code: 404

在功能中:

- (void)invokeFetchCallbacksOnCallbackQueueWithData:(GTM_NULLABLE NSData *)data
                                              error:(GTM_NULLABLE NSError *)error {
  // Callbacks will be released in the method stopFetchReleasingCallbacks:
  GTMSessionFetcherCompletionHandler handler;
  @synchronized(self) {
    GTMSessionMonitorSynchronized(self);

    handler = _completionHandler;

    if (handler) {
      [self invokeOnCallbackQueueUnlessStopped:^{
        handler(data, error);

        // Post a notification, primarily to allow code to collect responses for
        // testing.
        //
        // The observing code is not likely on the fetcher's callback
        // queue, so this posts explicitly to the main queue.
        NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
        if (data) {
          userInfo[kGTMSessionFetcherCompletionDataKey] = data;
        }
        if (error) {
          userInfo[kGTMSessionFetcherCompletionErrorKey] = error;
        }
        [self postNotificationOnMainThreadWithName:kGTMSessionFetcherCompletionInvokedNotification
                                          userInfo:userInfo
                                      requireAsync:NO];
      }];
    }
  }  // @synchronized(self)

这是我从Firebase存储中读取的代码:

func collectionView(_ collectionView:UICollectionView,cellForItemAt indexPath:IndexPath) - > UICollectionViewCell {

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "product_collection_cell", for: indexPath) as! ProductsCollectionViewCell

let prodInCell = searchActive ? filtered[indexPath.row] : products[indexPath.row]

// Set fields
cell.ProductImageView.image = #imageLiteral(resourceName: "DefaultProductImage")
prodInCell.GetProductImage() { image in
    cell.ProductImageView.image = image
}
cell.ProductName.text = prodInCell.Name()
cell.ProductPrice.text = String(prodInCell.Price())
cell.productUniqueID = prodInCell.UniqueID()
return cell

}

public func GetProductImage(completion:((UIImage?) - > Void)){

let prodID = self.UniqueID()
let dbRef = Storage.storage().reference().child(prodID).child("pic0.jpg")

let imgTask = dbRef.getData(maxSize: 10*1024*1024, completion: { (data, error) in

    if let data = data, let img = UIImage(data: data) {
        completion(img)
    } else {
        completion(nil)
    }
})

imgTask.observe(.progress, handler: {(snapshot) in
    print (snapshot.progress ?? "NO MORE PROGRESS")
})
imgTask.resume()

}

我得到异常:线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x10)

问题是什么?如何解决?

并非我的所有产品都有图像,如果没有,我想显示" DefaultProductImage"。

这是我的一个产品的一个示例'存储的图像:

Images for product example

0 个答案:

没有答案