Сохранить iPhone Photo Library Путь к списку - PullRequest
1 голос
/ 08 февраля 2011

Я хочу сохранить строку пути к изображению для конкретной фотографии из основной библиотеки фотографий iphone в файле plist.

Чтобы потом я мог вызвать строку пути plist-изображения в веб-представлении и увидеть фотографию.

Я знаю, что мне нужен абсолютный путь, который, вероятно, похож на путь к каталогу документов, но:

1.) Как получить название фотографии конкретной фотографии?

2.) Нужно ли добавить строку с абсолютным путем к имени фотографии и затем записать ее в список?

3.) Будет ли путь изменяться для каждой установки моего приложения - что сделает использование жестко закодированного абсолютного пути невозможным?

Любые профессионалы хотят решить эту головоломку?

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Если вы создаете приложение с таргетингом ниже iOS4.0, вы можете использовать UIImagePickerController Class .Это позволит пользователю выбрать одно изображение из телефонного альбома, которое затем можно сохранить в каталоге документов вашего приложения и сохранить соответствующую ссылку в файле info.plist.Каталог документов удаляется, когда ваше приложение удаляется, и поэтому вы также теряете путь.

Лучший способ с недостатком ограничения этой функции (и, следовательно, вашего приложения, если она является основной функцией) толькоiOS4.0 и выше, будет использовать ALAssetsLibrary .Каждая фотография в iphone представлена ​​уникальным URL-адресом, который вы можете сохранить, и вы можете ссылаться на определенное изображение, используя этот URL-адрес.Есть хороший учебный блог , который может помочь вам начать работу с ним.

Теперь, в своем вопросе, вы говорите о конкретной фотографии.Вы не можете просто знать какую-либо конкретную фотографию в библиотеке, если вы не позволите пользователю выбрать одну.Это заставляет меня ответить на ваш последний вопрос.URL является постоянным для этого конкретного изображения (до перезагрузки iphone), но если у вас нет способа сохранить эту информацию между каждой установкой вашего приложения (что именно здесь означает?), Я неНе знаю, как вам поможет уникальный URL.

РЕДАКТИРОВАТЬ: Только что увидел тег sdk 4.0 там, пожалуйста, игнорируйте первый случай (часть <4.0). </p>

0 голосов
/ 09 февраля 2011

ОК. Я думаю, что хочу использовать UIImagePickerController!

Вот мой код:

- (void)viewDidLoad {

    self.iconPicker = [[UIImagePickerController alloc] init];
    self.iconPicker.allowsEditing = YES;
    self.iconPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

    self.iconPicker.delegate = self;
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    iconImage.image = [info objectForKey:UIImagePickerControllerEditedImage];

    [picker dismissModalViewControllerAnimated:YES];
    [picker release];
}

- (IBAction)save {

    [plist.data setValue:iconImage.image forKey:@"Icon"];
    [plist.data writeToFile:plist.file atomically:YES];

    [self.parentViewController dismissModalViewControllerAnimated:YES];
}

Как сохранить имя отредактированного изображения в виде строки списка.

Я знаю, что не хочу сохранять данные CGImage или что-либо еще из-за размера загрузки.

Я думаю, что могу передать переменную xcode в HTML, поместив весь мой HTML в строковые объекты, а затем добавив переменные в объекты, в которые мне нужно включить ...

Так что я могу создать путь к каталогу фотографий, но мне нужно знать, как получить имя сохраненного отредактированного изображения из UIImagePickerController ???

...