#ios #xcode #filesystems #attachment
#iOS #xcode #файловые системы #вложение
Вопрос:
У меня есть приложение, которое я почти закончил, которое отправляет по электронной почте в конце потока ввода данных два файла .pdf. Один из них генерируется на основе введенных данных, другой — статический файл, который будет одинаковым в каждом экземпляре.
Первый PDF-файл генерируется нормально, он сохраняется в папке «Документы» приложений, и я успешно прикрепил его к электронному письму для отправки. Это второй файл .pdf, который я создал извне в приложении и пытаюсь добавить, который вызывает у меня огорчение.
Я добавил его в папку «Вспомогательные файлы» в моем проекте Xcode, но после долгих поисков здесь и в других местах в Интернете я не могу понять, как получить доступ к этому файлу, чтобы иметь возможность добавить его в качестве вложения в электронное письмо. «Загрузив» данные приложения из органайзера в Xcode, я вижу, что файла нигде нет; предположительно, потому что Xcode может видеть, что файл нигде не используется, он не добавляет его во время сборки (в значительной степени предположение с моей стороны), но я не знаю, как ссылаться на него где-либо, потому что я не знаю, где будет на него ссылаться!
Ответ №1:
Xcode не создает в вашем пакете приложений никаких папок, соответствующих группам. Просто убедитесь, что ваш PDF-файл присутствует в ресурсах Copy Bundle на этапах сборки вашей цели. Затем вы получаете доступ к своему ресурсу по [[NSBundle mainBundle] bundlePath]
пути.
Комментарии:
1. Это фантастика, спасибо, милая, указала мне правильное направление!
Ответ №2:
Если вы хотите получить доступ к изображению, этот код является хорошим примером того, как:
NSString* imageName = [[NSBundle mainBundle] pathForResource:@"image1" ofType:@"png"];
NSImage* imageObj = [[NSImage alloc] initWithContentsOfFile:imageName];
Ответ №3:
В Swift вы можете получить bundle-resorce-path со следующей функцией:
func currentresourcepath () -> String
{
return (NSBundle.mainBundle().bundlePath "/Contents/Resources/")
}