将iPhone照片库路径保存到Plist

时间:2011-02-08 14:26:55

标签: iphone ios4 uiimageview plist

我想在plist文件中保存主iphone照片库中特定照片的图像路径字符串。

以后我可以在Web视图中调用plist图像路径字符串并查看照片。

我知道我需要绝对路径,它可能是与文档目录类似的路径,但是:

1.。)如何获取特定照片的照片名称?

2.。)我是否需要将绝对路径字符串附加到照片名称然后写入plist?

3。)我的应用程序的每次安装都会改变路径 - 这会使硬编码的绝对路径无法使用吗?

任何专业人士都希望解决这个难题吗?

2 个答案:

答案 0 :(得分:1)

如果您要制作定位低于iOS4.0的应用,那么您可以使用UIImagePickerController Class。这将允许用户从电话相册中选择一个图像,然后,您可以将其保存在应用程序的文档目录中,并将相应的链接保存在info.plist文件中。卸载应用程序时会删除文档目录,因此您也会丢失路径。

更好的方法是,将此功能(以及您的应用程序,如果它的主要功能)限制为iOS4.0及更高版本的缺点是使用ALAssetsLibrary。 iphone中的每张照片都由您可以保存的唯一网址表示,您可以使用该网址引用特定图片。有一个很好的tutorial blog可以帮助您开始使用它。

现在,在您的问题中,您正在谈论特定照片。您不能只知道库中的任何特定照片,除非您让用户选择一张。这让我回答你的最后一个问题。该特定图像的URL是不变的(直到重置iphone),但除非你有任何方法在你的应用程序的每个安装之间保留这些信息(这究竟是什么意思?),我不要我不知道如何成为一个独特的URL来帮助你。

编辑: 刚看到sdk 4.0的标签,请忽略第一种情况(< 4.0部分)。

答案 1 :(得分:0)

好吧我想我想使用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];
}

如何以plist字符串保存已编辑图像的图像名称。

我知道由于负载大小,我不想保存CGImage数据。

我想我可以通过将所有HTML放入字符串对象然后将变量添加到我需要包含的对象中来将xcode变量传递给HTML ...

所以我可以创建照片目录的路径,但我需要知道如何从UIImagePickerController获取已保存的已编辑图像的名称???