【问题标题】:iOS 8.0 UIWebView file input crashes my AppiOS 8.0 UIWebView 文件输入使我的应用程序崩溃
【发布时间】:2014-11-11 23:04:44
【问题描述】:

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

自 iOS 6 以来,此功能一直运行良好,但在 iOS 8.0 中,文件输入功能完全失效!

还有其他人在使用 UIWebView 应用时遇到同样的问题吗?

【问题讨论】:

  • 您可以调试您的应用程序吗?如果是,您能否给我们一些有关崩溃的更详细信息?
  • 这只是一个带有标准 HTML 文件输入的常规 UIWebView。没有什么花哨。我真的很惊讶在所有测试版中都没有发现这个错误,因为它破坏了数千个应用程序的功能。
  • 我遇到了和你一样的问题。
  • 更具体地说,如果我针对 iOS 7.1 构建并在 iOS 8 上部署它会崩溃。如果我在 iOS 8 上构建和部署。它按预期工作。
  • 如果您是针对 iOS 8 构建的,是否可以在 iOS 7.1 上毫无问题地运行该应用程序?

标签: ios objective-c iphone uiwebview


【解决方案1】:

这个问题的解决方案正如 Joel Jeske 所写,你必须针对 iOS 8 重新构建你的应用程序。这是解决这个问题的唯一方法。 针对 iOS 8 进行重建也会使 App 在 iOS 7/6 上运行没有任何问题。

【讨论】:

  • 上传图片对你们有用吗?我正在使用 Xcode 6.1.1 构建我的应用程序,但文件输入不适用于 iOS 7.1 及更高版本。
  • 如何针对 iOS 8 构建我的应用程序?您的意思是在 Xcode 中将部署目标设置为 8.0?
【解决方案2】:

我遇到了类似的问题,发现IOS中的UIWebView元素不支持html元素:

<input type="file">

我不确定为什么 Apple 选择不支持这个 IMPORTANT html 元素,但我相信他们有他们的理由。 (尽管这个元素在 IOS 上的 Safari 上完美运行。)

在许多情况下,当用户在 UIWebView 中单击此类按钮时,它让他们拍摄/选择照片。 但是, IOS 中的 UIWebView 在提交表单时无法将此类文件附加到 POST 数据中。

解决方案:要完成相同的任务,您可以在 InterfaceBuilder 中创建一个类似的表单,其中包含一个触发 UIImagePickerController 的按钮。然后,您创建一个包含所有表单数据和图像的 HTTP POST 请求。这并不像听起来那么难,请查看下面的链接以获取一些完成工作的示例代码: ios Upload Image and Text using HTTP POST

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,发现添加多个属性可以解决我的问题。

    <input type="file" accept="image/*" multiple />
    

    【讨论】:

    • 对我不起作用。你是如何意识到这对你有用的?
    【解决方案4】:

    我遇到了同样的问题。 原因是一个类别,它在我的代码中有一个名为pathExtension的方法,该类别覆盖了NSString(NSStringPathExtension)。于是重命名了方法,现在可以了。

    【讨论】:

      【解决方案5】:

      我相信 Apple 并没有完全停止支持 HTML 上的 &lt;input&gt; 字段。这取决于开发人员没有声明应用程序正在使用 plist 中的以下隐私元素(NSPhotoLibraryUsageDescription,NSCameraUsageDescription)。请参考stackoverflow上的以下页面NSPhotoLibraryUsageDescription in Xcode8

      基本上我遇到了同样的问题,但是一旦我添加了这些带有描述的元素,一切正常,就像什么都没发生一样。

      【讨论】:

      • @A Bridge:我在 plist 文件中使用相同的隐私设置。仍然有问题。你还有什么想法吗?
      • 除了使用之外,在右侧栏中的每个隐私中都有书面描述,我尝试不断挖掘以找到答案。如果我看到任何我会在这里发布的内容,我会一直在开发应用程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多