#iphone #uiimage #ios-simulator
#iPhone #uiimage #ios-симулятор
Вопрос:
В настоящее время я работаю над симулятором. Я хотел бы сохранить UIImage в файл jpg на моем рабочем столе.
Кажется, у меня проблемы с путями или что-то в этом роде.
Спасибо за вашу помощь 🙂
Комментарии:
1. пожалуйста, предоставьте более подробную информацию.
Ответ №1:
Следующее должно помочь вам начать… myImage
является объектом UIImage.
NSFileManager *fileManager = [NSFileManager defaultManager];
NSData *myImageData = UIImagePNGRepresentation(myImage);
[fileManager createFileAtPath:@"/Users/Me/Desktop/myimage.png" contents:myImageData attributes:nil];
Редактировать: Только что заметил, что вы хотели изображение в формате JPG, вы можете получить NSData
представление JPG с помощью UIImageJPEGRepresentation()
so:
NSData *myImageData = UIImageJPEGRepresentation(myImage, 1.0);
Примечание: Это полезно для быстрого и грязного тестирования, но я бы посоветовал научиться записывать в каталог documents вашего приложения, а затем использовать Finder для поиска там файлов. Пример пути к каталогу документов приложения в симуляторе:
/Users/Me/Library/Application Support/iPhone Simulator/4.3/Applications/1E2C2C81-1ED6-4DC9-CDD0-CA73FB56501F/Documents
Комментарии:
1. Да, это для грязного тестирования 🙂
2. На самом деле, как «записать в каталог documents вашего приложения, а затем с помощью Finder найти там файлы. Пример пути к каталогу документов приложения в симуляторе:»
3. Примечание: ВЫ ДОЛЖНЫ СДЕЛАТЬ ЭТО в симуляторе (да). Я не мог понять, почему он перестал работать, затем понял, что я собираю на устройство.
Ответ №2:
Попробуйте перейти к cd /Users/{your username}/Library/Application Support/iPhone Simulator/4.3/Applications/{application id}/Documents/
Замените его {your username}
на ваше имя пользователя Mac и {application id}
на GUID вашего приложения (случайный). Вы также можете изменить 4.3
на любую версию, для которой создано ваше приложение
Ответ №3:
Для Swift,
func outputImage(name:String,image:UIImage){
let fileManager = FileManager.default
let data = UIImagePNGRepresentation(image)
fileManager.createFile(atPath: "/Users/UserName/Projects/MyProject/testImages/(name)", contents: data, attributes: nil)
}
Вызовите вот так,
outputImage(name: "imageName.png", image: image)
Ответ №4:
Симулятор эмулирует изолированное приложение, но поскольку оно установлено на вашем Mac, вы можете получить доступ к каталогу, в котором хранится приложение и все его файлы. Итак, в вашем приложении, если вы можете выяснить, как записать данные в файл (в изолированной среде приложения), тогда вы можете использовать Finder, чтобы найти каталог и найти файл. Это помогает или я что-то упускаю?