在Android上我了解应用可以从用户的“下载”文件夹中提取图像文件,然后使用该图像来引导应用内的内容。亚马逊MP3云播放器就是一个很好的例子。
据我所知,在iOS上,应用程序也可以使用UIImagePickerController Class Reference访问Saved Photos文件夹。我知道我可以限制浏览哪些媒体资产,只限视频或只是照片,但我是否可以告诉应用程序仅在第一次与照片文件扩展名完全匹配时才为用户启动媒体资产选择器-place?
换句话说:IF在Saved Photos文件夹中存在.ONE或.TWO文件,然后启动媒体浏览器,只显示.ONE或.TWO文件,如果没有,则不启动媒体浏览器。
我希望能够使用自定义文件扩展名 - 而不是标准的PNG,JPG等...
最终我的目标是将此自定义图像文件用作一种令牌,告诉用户用户在浏览器中完成了某些操作以获取图像文件,因此有权在应用程序中获得特殊体验。
答案 0 :(得分:0)
你想要的不是 UIImagePicker
,因为你需要以编程方式枚举用户照片。查看ALAssetsLibrary
,您可以使用ALAsset
枚举.yourSpecialFileType
s,这是保存的照片(和视频)的代理对象。
进一步阅读:我认为您的自定义扩展功能不起作用。它不应该,因为你通过将某些专门的文件放入他们不属于的内容库(这可能不起作用)向用户公开实现细节。不要滥用这样的OS设施。它只会让您的应用程序从应用程序商店中被拒绝(如果它甚至可以工作),在实现中产生更多麻烦,并创建非常糟糕的用户体验。虽然这可能不会在Android上实施,但即便如此,这也是一个坏主意,但在iOS上,您甚至无法向公众发布您的应用。
请参阅this question了解如何声明您的应用以打开特定文档类型(这意味着当用户在Safari中下载{{1}}文件时,它会启动您的应用并将文件交给您)。