iOS 8.0 UIWebView文件输入崩溃我的应用程序

时间:2014-09-17 19:14:59

标签: ios objective-c iphone uiwebview

更新到iOS 8.0后,点击"选择文件"按钮(HTML文件输入),然后单击"拍摄照片​​或视频" /"选择现有"崩溃我的应用程序。

自iOS 6起,此功能一直运行良好,但在iOS 8.0中,文件输入功能完全破坏了!

其他任何人在使用UIWebView应用程序时遇到同样的问题吗?

5 个答案:

答案 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}}。所以我重命名了这个方法,现在还可以。