#iosdc 2016 A ランチセッション 「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」

ハンズラボ株式会社 黒岩裕輔さま

twitter.com

www.slideshare.net

東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方

※資料に無断転載禁止の記載がありますが、許可を得て写真を掲載しています。(niwatako)

f:id:niwatako:20160820121559j:plain

f:id:niwatako:20160820121601j:plain

f:id:niwatako:20160820121616j:plain

POSとは?

販売時点情報管理

f:id:niwatako:20160820121628j:plain

主な機能

f:id:niwatako:20160820121702j:plain

なぜ自社開発するのか

f:id:niwatako:20160820121818j:plain

元々はこんな感じだったのをリプレースした。

f:id:niwatako:20160820121914j:plain

機能をそのまま、シンプルに。

f:id:niwatako:20160820121958j:plain

物理ボタンの押し間違いに寄るエラーがなくなる。

自分たちで導入していると開封の儀になんの楽しみもなくなってくる

f:id:niwatako:20160820122126j:plain

f:id:niwatako:20160820122152j:plain

f:id:niwatako:20160820122220j:plain

f:id:niwatako:20160820122248j:plain

マスタダウンロードはサイレントPushNotificationで実現、サーバー側のデータ生成が完了したらダウンロードさせる。

技術面の話

f:id:niwatako:20160820122414j:plain

f:id:niwatako:20160820122416j:plain

コミュニティが活発なのでSwiftを選んだ。フレームワークは豊富なので困らない。正解だったと思っている。

f:id:niwatako:20160820122518j:plain

取引データをMultipeerConnectivityでiOS間通信する。

f:id:niwatako:20160820122635j:plain

実際に運用してみて

f:id:niwatako:20160820122730j:plain

f:id:niwatako:20160820122731j:plain

無線LANの5G帯を使っているがネットワークがブチブチ切れてレシートが出ないとかお釣りが出ないという問題が起きる。アクセスポイントが突然動かなくなったり。というおぞましいことが起こっている。

どうしようかと悩んだが、無線がダメなら優先にしようという考えで

f:id:niwatako:20160820122829j:plain

カメラアダプタをLANにつなげるようにした。

こうすることでiPadは有線ネットワークが使える。

f:id:niwatako:20160820122857j:plain

有線はDHCPで動いていて無線と有線両方あるときは通信環境が良いほうが採用される。OS X にも同じような機能があってそれがiOSでも使えるという形。

f:id:niwatako:20160820123014j:plain

ソフトウェア・アップデートはファイアウォールで防いで、アプリの動作が確認できてからファイアウォールを開けて夜中のうちにアップデートする。

アプリ配布はAppStoreのような自動アップデートが利用できないかわりに、MDMで管理者がアップデートさせることが出来る。ただ、起動している最中はアップデート出来ないので、プッシュ通知であるコードを送ったらexit()でアプリを強制終了するような仕組みにしている。エンタープライズだから出来ることですが。。

20回、30回程度アップデートを繰り返してきました。速いペースでアップデートを行っていると思っています。

アプリがクラッシュして落ちていた時とか、ホームボタンを押されてバックグラウンドに言った時、データがきちんと書き込めない問題がある。何としてもRealmに書き込むために、無音の音楽を流し続けて、バックグラウンド状態でRealmに書き込むということをしている。

f:id:niwatako:20160820123402j:plain

f:id:niwatako:20160820123542j:plain

これからもレジは進化していきます!

採用中!

f:id:niwatako:20160820123640j:plain

f:id:niwatako:20160820123655j:plain

f:id:niwatako:20160820123709j:plain

感想・採用募集

twitter.com

twitter.com

twitter.com

twitter.com

twitter.com

twitter.com