iOS
webView

iOSのUIWebView/WKWebViewでmovファイルがアップロードできない問題

More than 1 year has passed since last update.

問題

内容を見るとおそらくMP4でも起きるであろう問題。
問題としては、iOSでwebviewで表示しているページのinputタグからmovファイルをアップロードしようとするとクラッシュする、というもの。

調べてみるとどうやらこのバグレポートが該当するっぽい。 http://www.openradar.me/28016475

これが起こる条件としては

  • WebView on iOS
  • multiple属性のinputタグ
  • カメラロールからmovファイルを選択

となる。

ちなみにmobile safariでは起きない。

原因

複数選択可能なfileフォームでカメラロールから動画を選択すると、動画が圧縮されないというiOSのバグ。圧縮されていない動画をJavaScriptでは処理できないためクラッシュする。

解決

<input type="file" multiple /> からmultiple属性を外して
<input type="file"> として複数選択を禁止すれば良い。
単一選択フォームだとこのバグは再現しない。

ただ、こうなるとiOSユーザーにファイルの複数選択ができなくなる不便を強いることになる。
せめて動画アップロード専用のフォームを用意するくらいはしたい。