ハンズラボ株式会社 黒岩裕輔さま
www.slideshare.net
東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方
※資料に無断転載禁止の記載がありますが、許可を得て写真を掲載しています。(niwatako)



POSとは?
販売時点情報管理

主な機能

なぜ自社開発するのか

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

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

物理ボタンの押し間違いに寄るエラーがなくなる。
自分たちで導入していると開封の儀になんの楽しみもなくなってくる




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


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

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

実際に運用してみて


無線LANの5G帯を使っているがネットワークがブチブチ切れてレシートが出ないとかお釣りが出ないという問題が起きる。アクセスポイントが突然動かなくなったり。というおぞましいことが起こっている。
どうしようかと悩んだが、無線がダメなら優先にしようという考えで

カメラアダプタをLANにつなげるようにした。
こうすることでiPadは有線ネットワークが使える。

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

ソフトウェア・アップデートはファイアウォールで防いで、アプリの動作が確認できてからファイアウォールを開けて夜中のうちにアップデートする。
アプリ配布はAppStoreのような自動アップデートが利用できないかわりに、MDMで管理者がアップデートさせることが出来る。ただ、起動している最中はアップデート出来ないので、プッシュ通知であるコードを送ったらexit()でアプリを強制終了するような仕組みにしている。エンタープライズだから出来ることですが。。
20回、30回程度アップデートを繰り返してきました。速いペースでアップデートを行っていると思っています。
アプリがクラッシュして落ちていた時とか、ホームボタンを押されてバックグラウンドに言った時、データがきちんと書き込めない問題がある。何としてもRealmに書き込むために、無音の音楽を流し続けて、バックグラウンド状態でRealmに書き込むということをしている。


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



感想・採用募集
twitter.com採用イベントやってます!ハンズラボようこそ手羽の会【2016年8月23日(火)】 (08月23日) https://t.co/Aov2LbLHC6 #iosdc #a
— ハンズラボ@エンジニア募集中! (@HandsLabInc) August 20, 2016
twitter.comiPadって有線LAN接続出来るのか…‼︎ #iosdc #a
— Tsuyoshi Yonemoto (@yoneapp) August 20, 2016
— うえしー (@uessy_akr) August 20, 2016twitter.com
— Takumi Mori/Corrupt (@corruptex) August 20, 2016twitter.com
twitter.com東急ハンズのHandsPOSすごいな。無線LANは安定しないから有線にしたとか、なかなか貴重な話だった。なんとなく感じている「電子レシートとかはよ」っていう細かい感じところも突いてきている。 AndroidじゃなくてiOS採用にさせた決め手を聞いてみよ。 #iosdc #a
— Daisuke Kokabu (@kokabun) August 20, 2016
twitter.com流通導入事例 東急ハンズ(システムベンダー:ハンズラボ)_20151124 - YouTubehttps://t.co/mbcAUhVQuu
— にわタコ (@niwatako) August 20, 2016
なんでiPhoneつかうのか、がいい話
#iosdc #a
