Могу ли я получить NSURL из пакета XCAssets?

Я нахожусь в ситуации, когда я перечисляю вложения из сообщения. Каждое вложение имеет NSURL, связанный с ним, который представляет путь к данным вложения. В случае вложений, не связанных с изображениями, я хочу загружать предварительно созданные миниатюры значков в месте предварительного просмотра (т.е. документы Excel, PDF, Word и т. Д.).

В настоящее время у меня есть эти изображения в моем проекте, в комплекте XCAssets. Я могу добраться до них используя[UIImage imageNamed:@"someName"], Я не могу понять их с помощью различных методов поиска ресурсов NSBundle. Меняет ли пакет XCAssets имена файлов изображений значков, которые я ищу?

Вот код, с которым я сейчас работаю. Путь нулевой каждый раз. Нужно ли не использовать XCAssets в этом случае?

+ (NSURL *)mediaURLWithMessage:(SRMediaMessage*)message
{
  NSURL *url = message.mediaURL;

  // if this is an image URL or non-existant, there is no work left to do, return it.
  if (!url || (message.secureFile.secureFileMimeType & SRSecureFileMimeTypeImage))
    return url;

  NSString *filename = @"unknown";

  switch (message.secureFile.secureFileMimeType)
  {
    case SRSecureFileMimeTypeDOC:
      filename = @"doc";
      break;

    case SRSecureFileMimeTypePPT:
      filename = @"ppt";
      break;

    case SRSecureFileMimeTypePDF:
      filename = @"pdf";
      break;

    case SRSecureFileMimeTypeXLS:
      filename = @"exl";
      break;

    case SRSecureFileMimeTypeCSV:
      filename = @"csv";
      break;

    case SRSecureFileMimeTypeTXT:
      filename = @"txt";
      break;

    case SRSecureFileMimeTypeRTX:
      filename = @"rtf";
      break;

    default:
    case SRSecureFileMimeTypeMP4:
      // unknown icon for now.
      break;

      // unused but available:
//      @"ilife"

  }

  NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:nil];
  if (path)
    url = [NSURL fileURLWithPath:path];

  return url;
}

Ответы на вопрос(4)

Ваш ответ на вопрос