更新到iOS 8.0后,点击"选择文件"按钮(HTML文件输入),然后单击"拍摄照片或视频" /"选择现有"崩溃我的应用程序。
自iOS 6起,此功能一直运行良好,但在iOS 8.0中,文件输入功能完全破坏了!
其他任何人在使用UIWebView应用程序时遇到同样的问题吗?
答案 0 :(得分:2)
这个问题的解决方案正如Joel Jeske所写,你必须针对iOS 8重建你的应用程序。这是解决这个问题的唯一方法。 针对iOS 8的重建也将使该应用程序在iOS 7/6上运行而没有任何问题。
答案 1 :(得分:2)
我遇到了类似的问题,我发现IOS中的UIWebView元素不支持html元素:
<input type="file">
我不确定为什么Apple选择不支持这个重要 html元素,但我相信他们有他们的理由。 (即使这个元素在IOS上的Safari上完美运行。)
在许多情况下,当用户在UIWebView中点击此类按钮时,将让他们拍摄/选择照片。 但是, IOS中的UIWebView无法在提交表单时将这样的文件附加到POST数据中。
解决方案:要完成相同的任务,您可以使用触发UIImagePickerController的按钮在InterfaceBuilder中创建类似的表单。然后,您创建一个包含所有表单数据和图像的HTTP POST请求。它并不像听起来那么难,请查看下面的链接,了解一些完成工作的示例代码: ios Upload Image and Text using HTTP POST
答案 2 :(得分:2)
我遇到了同样的问题,并发现添加属性multiple可以解决我的问题。
<input type="file" accept="image/*" multiple />
答案 3 :(得分:2)
我认为苹果根本不再支持HTML上的<input>
字段。这取决于开发人员没有声明该应用程序在plist中使用以下隐私元素(NSPhotoLibraryUsageDescription,NSCameraUsageDescription)。请参阅stackoverflow NSPhotoLibraryUsageDescription in Xcode8
基本上我遇到了同样的问题,但是一旦我添加了这些带有描述的元素,一切都很好,就像什么都没发生一样。
答案 4 :(得分:0)
我遇到了同样的问题。
原因是一个类别,它在我的代码中有一个名为NSString(NSStringPathExtension)
的方法,类别涵盖{{1}}。所以我重命名了这个方法,现在还可以。