月別アーカイブ 6月 2019

takahashi 著者:takahashi

[WWDC 2019]iOS13発表! ダークモードなどが追加!! 一方iPhone 6以前は非対応に…

前回に引き続き、Appleが開催したWWDC 2019の内容を取り上げたいと思います。

今回のWWDCで、iPhoneなどに搭載されるiOSの新バージョン、iOS 13 が発表されました!

Apple、iOS 13をプレビュー – Apple

主な新機能としては下記の通り。

・ARCore 3 搭載
・ダークモード搭載
・Sign In with Apple
etc…

ダークモードはmacOSやWindows、あとはSNSのTwitterなどを使っている方にとってはかなり馴染みのある機能なのではないかなと思います。
つまるところ、iOSの白基調のデザインのUIを、黒基調のものに切り替えられる機能です。

黒基調にすることで、白基調にあるギラギラした感じが抑えられ、目が痛くならないという点や、有機ELディスプレイの特徴として、黒色の方が表示の際の電池消費が抑えられるといったメリットがあります。

もともと、iOS11からアクセシビティ設定の中に”色を反転”という、単純に色を反転させるだけの機能はできたようですが、今回のiOS13で正式に”ダークモード”として実装されることになったようです。

特にスマートフォンの画面は一日の中でも特に長い時間見るものだと思いますので、iOSにダークモードが来るのはとてもうれしいですね。
#はやくAndroidにもダークモードが搭載されてほしいですw

また、新機能として”Sign in with Apple”が新たに追加されました。

所謂、Appleが提供するSSO(シングルサインオン)サービスで、Appleアカウントを使って、外部の対応サービスにログインすることができるようになります。

Twitterログインなどの仕組みと比較した特徴として、 Sign in with Apple では可能な限りログインしたユーザーにつながる情報を連携先のサービスに提供しないような設計になっている点があります。

Sign in with Apple を使ってサービスにログインした場合、サービス側はランダムな一意の識別情報のみしか受け取ることができず、また、メールアドレスなどを必須とするサービスに対しては、Apple側でランダムな代替えアドレスを生成してサービスに渡すことで、ユーザーの本来のメールアドレスを通知しなくても済むようなシステムとなっています。

また、FaceIDやTouchIDを使用したログインも可能となっていて、Apple外のサービスでも、Appleの認証機構を利用できるようになった点はおもしろいポイントかもしれません。

こんな感じで、今回は少しおとなしめなアップデートとなったiOS13ですが、iPhone 6/6 Plusの世代以前のデバイスを使っている方にとっては悲しいお知らせが。

こちらは英語版のプレスリリースに掲載されている対応機種一覧ですが、iPhone 6/6 PlusやiPhone 5sなどといった機種がサポートから外されており、残念ながらiOS13へアップデートすることができないようです。

これらの非対応機種を利用している方が新しいiOS13を利用するためには、iOSデバイスの買い替えが必要となるので注意が必要です。

一方、iPhone 6s/6s PlusやiPhone SEについてはiOS13も利用できるようなので、少なくとももう1シーズンは現役で使うことができそうです。

  • この記事いいね! (0)
著者:ym

CD-Rなど光メディアの寿命は?

今日、こんな記事を見つけました。

「パッと見全然見た目変わらないんだけど…」CD-Rのデータが20年経たずに中身が壊滅してしまっていた
https://togetter.com/li/1361322

私も確かに CD-R が一番安全かと思っていましたが、徐々に劣化しているっぽい。

長期保管としては、USB メモリーはありえないので、次はやはり HDD なのか。

ただ、やはり CD-R かな。10年サイクルで新しい CD-R へコピーすることで回避したり。

 

  • この記事いいね! (0)
村上 著者:村上

【GoogleChrome】「Provisional headers are shown」が発生した時の対処法

直接の解決策にはなりませんでしたが、今後もどこかで遭遇する気がするので、備忘録としてまとめます。
Google Chrome の開発者ツールの Network タブで、特定の要素で「Provisional headers are shown」が発生した時の対処法についてです。
私の場合は Ajax でアクセスしたページから結果が返ってこず、調査したらこちらが発生していました。
また、statuscanceled という見慣れない値になっていました。

で、今回参考にさせていただいた記事はこちらから。

【Chrome DevTools】「Provisional headers are shown」が表示される原因と対策
https://did2memo.net/2017/01/23/chrome-devtools-provisional-headers-are-shown/

 

この記事によると、今回の現象が発生した原因はキャッシュにあるとのこと。
なんでも、キャッシュから取得しただけの通信は、「Provisional headers are shown」表示になるらしいです。
ですが、キャッシュから取得されると困るため、Ajax の設定に cache : false を追加しました。

または、動作確認なら、開発者ツールにある「Disable cache」にチェックを入れてもOKです。
こちらを設定することで、キャッシュが使用されなくなります。

一件落着かと思いきや、Ajax の設定には既に cache : false が追加されていました…。
つまり、これが原因ではないということになりますね。

 

以上、Provisional headers are shown が発生した時の対処法でした。
今回の状況では、こちらの対処法は役に立ちませんでしたが、今後、別の場所で発生した時には参考になりそうな気がします。
…まあ、遭遇しないことを祈るばかりではありますが。
どなたかのご参考になれば幸いです。

  • この記事いいね! (0)
asaba 著者:asaba

【cordova】iosでもサイレントモード検知してくれるプラグインcordova-silent-mode

前回androidでサイレントモードを監視してくれるcordova-plugin-android-volumeを紹介しましたが、iosでも同様のことができる

プラグインを見つけたのでここに記載しておきます。今までcordova公式やnpm公式で必死に探していたのですが、インストールを

拒否されたりリポジトリ自体が空っぽだったりと碌なプラグインがなく散々な目に会いましたがついに理想のプラグインと出会えたという

感じです。使う前はどうせ機能しないんだろうなとかネガティブな感情だだ漏れだったので期待していなかったのですがこちらも

短いコードで仕事してくれたので逆にすみませんという感じでした。では、使い方を載せていきます。

まず、インストールですね。こちらはcordova plugin add cordova-silent-modeだけで簡単にインストールすることができます。

ただサイレントモードを監視させるだけなら次のような記述でオッケーです。

</pre>
window.SilentMode.init();
window.SilentMode.isMuted(
function() {
console.log('サイレントモードが有効時');
},
function() {

console.log('サイレントモードが無効時');
}
);
<pre>

 

サイレントか否かの判定をコールバックで呼び出すので殴り書きしても読めるものになっています。

iosのバージョン対応は今のところはiphone6sと6plusでは正常な動作を確認できました。新型iphoneはどうなんだと思いますがレジュメ

にはどこどこのバージョンから使えなくなるという注意書きはなかったので新しめのosでも対応できそうです。

サイレントモードを監視するプラグインの中でも数少ないまともに動いてくれるプラグインなので皆さんと共有できたらと思っています。

  • この記事いいね! (0)
著者:杉浦

ある要素のセレクタの取得を簡易にするChrome拡張Get Unique CSS Selectorの紹介

 Chromeをはじめとしたwebブラウザの開発者ツールにはHTMLコードからある要素のセレクタを抜き出す機能が備わっています。これだけでも便利なのですが、いちいちHTMLコードの中を探すのは面倒ですし、時には開発者ツールを開くことすら億劫な場合があります。Get Unique CSS Selectorはそういった時の助けになります。

Get Unique CSS Selector – Chrome ウェブストア

AntonLapshin/getselector: Get Selector Browser Extension
 使い方は簡単で、右上の拡張アイコンをクリックしてセレクタコピー準備、対象の要素の上にマウスを移動、右クリックからCopy Unique Selector to Clipboardを実行、だけです。一連の動作が次の動画です。

 これを合わせるとセレクタを使ったUIテストやwebページの説明書作成などが素の状態よりいくらか楽になります。

  • この記事いいね! (0)
takahashi 著者:takahashi

[WWDC 2019]iPadのOSが専用の”iPadOS”に変更!よりiPadに合ったシステムになる。

昨夜、Appleの開発者向け発表会”WWDC 2019″が開催されました!!!

実質Appleの新製品などを発表する機会となっているので、毎年、WWDCではビッグな発表が行われますが、今回のWWDCでも、なかなか大きな発表がいくつか行われました。

その中でも一番気になったのがこちら。

なんと、iPadのOSがiOSから独立し、専用の”iPadOS”に変更されるそうです!!!

具体的に何が変わるのかというと、主に画面の大きいiPad用にUIが最適化された形になるようです。

流石にmacOSのようなウインドウの概念はありませんが、全画面と縦画面?をうまく使い分けたような、よりマルチタスクに最適化されたUIになるようです。

他にも、USBメモリ、SDカードなどの外部ストレージにも対応し、ファイルアプリから参照可能になるなど、mac(PC)と同じことができる度合いが増えています。

これはiPadユーザーにとってはなかなかうれしい変更ではないでしょうか。

一方で気になるのはiOS向けアプリやWebページの開発について。

画面サイズの違いがあったとはいえ、今までは”iOS”というひとくくりのものになっていましたが、今後は”別OS”ということになってくるので、どれだけiOSと違いが出てくるのか気になるところです。

Apple、iPad用のOS「iPadOS」を今秋リリース – ねとらぼ

こちらの記事によれば、基本的にはiOSベースであることに変わりはないとのことなので、画面の大きさとiPadOSのみに搭載されている機能あたりにさえ気を付けて置けば、さほど大きな違いは出ないのかもしれません。

ただ、

iPadOSのSafariでブラウジングすると、Webサイトが自動的にデスクトップ版として表示されます。かつiPadの画面サイズに合わせてスケーリングされ、最適化されるため、Mac用Safariとは異なり、「タッチ」にも適切に対応しています。

Apple、iPadに特化したiPadOSを発表 – iPhone Mania

とあるので、iPadOSのsafariはレンダリング時に独特な解釈を行う可能性が出てきそうな気がします。

Webページの動作をデバッグする際は、iOS端末に加えて、iPadOSでも表示を確認するようにした方が無難かもしれませんね。

iPadOSは今秋リリース予定となっています。

  • この記事いいね! (0)
著者:ym

西日本でも小型ONUの提供が始まる

東日本ではかなり前から小型ONUの提供が行われていましたが、いよいよ西日本で7月から始まる様です。

まだNTT西日本の小型ONUの対応とうたってはないですが、YAMAHAのルータNVR510やNVR700WにはONUスロットルが用意されているので、今後対応してくるのだとは思います。

小型ONUの提供開始について
https://www.ntt-west.co.jp/info/support/oshirase20190531.html

少し出っ張り量がおおく引っ掛けそうな気もしますが、弁当箱が一つなくなり配線もシンプルになるので、だいぶスッキリしますね。

  • この記事いいね! (1)
村上 著者:村上

【PHP】XML形式の文字列をオブジェクトに変換できる「simplexml_load_string」関数

便利な関数なので、備忘録としてまとめ。
タイトルにもある通り、XML形式の文字列をオブジェクトに変換できる関数「simplexml_load_string」です。

PHPリファレンスは下記から確認できます。

PHP: simplexml_load_string – Manual
https://www.php.net/manual/ja/function.simplexml-load-string.php

 

使い方は下記のとおりです。

$result = simplexml_load_string([XML形式の文字列]);

引数に変換したい XML を文字列で指定するだけです。
そうすれば、オブジェクトに変換された結果が戻り値として返ってきます。
ただし、変換したい XML は文字列でなければいけないので、場合によっては事前に変換しておく必要がありますので、そこだけご注意ください。
私が見たコードでは、implode() で文字列に変換していました。
なお、変換できなかった場合は、false が戻り値として返却されます。

XML形式って扱いづらいと思っていたので、もっと早くに出会いたかった…!
今後、XMLを扱う機会があったら、積極的に使っていきたいと思います。

 

以上、XML形式の文字列をオブジェクトに変換する方法でした。
どなたかのご参考になれば幸いです。

  • この記事いいね! (0)
asaba 著者:asaba

【xcode】error:Redefinition,of ‘option’.の対処法

今回は、mac、xcodeの話題になります。

xcodeで動作確認をしている時にプラグインを試運転したくなり、何回もcordova platforms add iosとcordova platforms rm iosを繰り返し

て入れていたのですがその過程で下のようなエラーに遭遇しました。

 


error:Redefinition,of 'option'.

 

原因は、変数をソース内に二度書き込んでいたためです。自分のソースなら話は分かるのですが、なぜかcordovaのプラグインでこの

現象が起きていました。明らかに同じ変数、同じ関数で。プラットフォームを毎回入れ直すごとにこの修正作業をするのは億劫なので

プラグインのバージョンを低くしてしまおうと思ったのですが性能面で大きく変化するのが怖いのでとりあえずは様子見することに

しました。

ですが消す事には何ら影響はないので見かけたら早急につぶしてしまいましょう。

  • この記事いいね! (0)
takahashi 著者:takahashi

新世代のiPod Touchが突如発表!中身は実質iPhoneなので開発者も要チェック!!

 先日、突然Appleが新しいiPod Touchをリリースしました!

iPod Touch – Apple

“iPod”と銘打たれてますが、iPhoneと同じiOSが使われており、実質”Wi-Fi版iPhone”となっています。
なので、iPod TouchをそのままiPhoneアプリやWebのテスト用端末として使用することも可能です。

また、iPhone 5やiPhoneSEとほぼ同じサイズということで、現行iOS端末内での最小サイズの画面で表示確認ができるというのもアドバンテージかもしれません。

ただし、カメラの性能はiPhoneと比べると低めとなっており、セルラーモデルのiPadとWi-FiのみのiPadとの違いと同様に、GPSが搭載されていないなどの違いがありますので、注意は必要です。
また、今回のiPod TouchにもTouchID/FaceIDは搭載されていないので、生体認証を用いた機能を使用することはできません。

iOSアプリの開発のハード面のハードルとして、必須ではないとはいえ高額な実機を購入しないと実機でデバッグできないというのはなかなか痛いところだったので、そこを従来よりも安く抑えられる選択肢が出てきたことはとてもありがたいですね。

  • この記事いいね! (0)