イメージ

画像添付のアドオンを使った際のiOS11.3のSafariのバグについて

iOSのSafari
当サイトで配布・販売しているプログラムの中で画像添付機能のあるものは、iOS11.3のSafariで正常に動作しないという報告がありました。(2018年6月12日時点)

ただ、これは声を大にして言わせてもらう!
これは私のプログラム側の不具合ではなく、Safari側の不具合なのだ!(原因についての詳細は後述)

2018年10月14日追記:iOS12.0.1のSafariでテストしたところ、この不具合はやはり修正されていました。

不具合が発生するブラウザは以下となります。
これらのブラウザで添付ファイル機能を使うと、通信が正常に行われない場合があります。

  • iOS11.3 の Safari
  • macOS の Safari11.1

今回のSafariの不具合に関して参考にさせていただいたのは以下のページになります。

2018年6月現在、当サイトで配布・販売しているプログラムの中で画像添付機能を有するものは以下となります。
これらのプログラムで画像添付機能を使っていて、かつ、上記のブラウザを使用していると、通信が正常に行われない症状が起きる可能性があります。

ただ、Safariのこの不具合は画像添付機能を使ったとき限定で発生するものなので、画像添付のアドオンを追加していない場合は問題は発生しません。

2018年10月9日追記:スレッド式BBSというBBSをリリースしました。
このプログラムにも画像添付機能がありますが、最初から上記の問題は対処済みです。

「プログラムをリリースした後に登場した特定のブラウザが原因で発生する不具合など知るか! こっちは問題のない正常なプログラムを作ってるんだ!」(iOS11.3は2018年3月30日に登場)

と言いたいところですが、iPhoneのSafariはシェアが高いので仕方なく対処していく予定です。

かつて不具合満載のブラウザであるインターネット・エクスプローラー(特にバージョン5~7)のためだけに、CSSハックを使って追加でIE専用の調整をしたかのような、不必要な作業をしなくてはいけないのです。(往年のWeb制作者ならみんな共感できるでしょう)
参考ページ:CSSハック – Wikipedia

プログラム内に不必要なコードが増えるので本当はあまりやりたくないですし、他の正常なブラウザにとってもコードが増えた分だけ無駄な処理が増えるため、とても迷惑な話なのです。

2018年6月21日時点ですべてのプログラムで対応完了しました。

【レスポンシブ・メールフォーム】
本体バージョン6.2、アドオンバージョン2.2へのアップデートで対応済み。

【レスポンシブBBS】
本体バージョン3.1、アドオンバージョン1.1へのアップデートで対応済み。

【コンテンツ・メーカー】
本体バージョン4.2、アドオンバージョン1.2へのアップデートで対応済み。

上記のブラウザ、上記のプログラムで画像添付機能を使っている時、今回の不具合が発生します。
しかし調査の結果、必ず発生するわけではなく、input type=”file”(画像選択ボタン)が選択されていない場合にのみフォーム送信ができない。ということがわかりました。

ですので、今すぐできるその場しのぎな対処法としては、

  1. フォーム内のinput type=”file”(画像選択ボタン)を1つだけにする。
  2. それを必須項目にする。(dd要素にclass=”required”を追加する)

以上となります。
これにより、input type=”file”(画像選択ボタン)が選択されていない状態でフォームが送信される状況は起きなくなるため、今回のSafariの不具合を避けることができます。
「添付ファイルボタンが1つで必須」というこの状態での運用で問題ない方は、無理にアップデート作業をする必要はありません。

9月ぐらいになれば毎年恒例のiOSのアップデートがあり、Androidと違ってiOSはほとんどの人がアップデートするため、その時点でSafariのこの不具合は解消されるものだと期待しております。

2018年10月14日追記:iOS12.0.1のSafariでテストしたところ、この不具合はやはり修正されていました。

すでに画像添付のアドオンをご購入されている方は、お問い合わせページから申請してくだされば、本人確認後に新しいバージョンのアドオンファイル一式をお送りいたします。

その際には現在お持ちのアドオンファイル一式をメール添付で送っていただくことで、ご購入済みである確認とさせていただきます。

本体のバージョンも上げないといけなくなる場合は、お手数ですが再度本体の設置をしていただければ幸いです。

提供サポートなど