面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

Windows 10でWindows Helloが使えなかった時に見直す内容

指紋認証バイス購入

Apple製品で生体認証に慣れてきたのでWindowsにも生体認証を取り入れることにした。

Windows 10には、Windows Helloとかいう生体認証デバイスによるロック解除が可能な機能がある。 これは後付けの指紋認証バイスでも利用できるようになっている。
スタートメニュー > 設定 > アカウント > サインイン オプション > Windows Hello の順で辿れる。

1Passwordのマスターパスワードを打つ苦行から逃れること含め楽をしたくて、1Passwordに対応したKensington(ケンジストン)の"VeriMark™"という指紋認証バイスを購入した。(国内は公式が正式販売していない?のか日本語ページには商品が載っていない、ただ輸入代理店が保証つきで販売はしているので、購入は容易にできる) Kensington - Products - Security - Biometric - VeriMark™ Fingerprint Key

Amazonのレビューとか見ても、PCに挿したらすぐ使えたみたいなのがいくつもあったので、自分も気軽にPCに挿した。

発生した問題

しかし、デバイスマネージャー等で生体認証デバイスとして認識されているのに、何故かWindows Helloでは動作を確認し、互換性のあるデバイスを見つけてください。と表示される始末。

何度も指紋認証バイスを挿しなおしたり、挿す場所変えたり、ドライバーを入れ直したり、再起動しても変わらない。

検索しても引っかからないし、公式サイトのサポートにも記述されていなかった。

解決した方法

検索するときに"VeriMark"特有の問題と思って検索していたため、なかなか解にたどり着けなかったが、Windows Helloに絞った結果、解決方法を見つけ、無事指紋認証バイスを遣えるようになったので、下記で説明する。

英語がわかるなら、このサイトに手順が書いてある。 www.drivethelife.com

手順
  1. Windows Key + Rのショートカットコマンドで、"ファイル名を指定して実行"のWindowを表示する
  2. gpedit.mscと入力してEnterを押す
  3. "ローカル グループ ポリシー エディター"のWindowが開くので、次の順に開いていく
    • コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > 生体認証
  4. Windowの右側に表示される"生体認証の使用を許可する"をダブルクリックして、有効を選択して適用をクリックする (必要なら"ユーザーによる生体認証を使用したログオンを許可する"も有効にする)
  5. Windowsを再起動する

これで、Windows Helloの箇所にセットアップのボタンが表示され、指紋登録を行うことができるはずである。

※PINを設定していないとWindows Hello自体使用できないため、ボタンが押せない人はPINが設定されているか要確認

iOS 10系のUICollectionViewでscrollToItem時にcrashする問題の処置

問題

iOS 11では発生しないが、iOS 10系のUICollectionViewで特定のIndexPathのitemにスクロールするscrollToItem(at indexPath: IndexPath, at scrollPosition: UICollectionViewScrollPosition, animated: Bool)を呼ぶとcrashした。

対処

stackoverflow.com

collectionView.collectionViewLayout.invalidateLayout()を呼ぶ

iOS 10系のみというトラップに見事引っかかった。

UICollectionViewを使った実装でIn-call Status Bar時、Cellのサイズと座標がおかしくなった時の処置

Simulatorで確認できるIn-call Status Bar時のレイアウト

Simulatorで⌘ + Yを押すことで、In-call Status Barの状態にできる

f:id:aryzae:20180820165303p:plain

この時、Status Barの高さが増すため、考慮していないレイアウトの時に崩れて表示される。

UICollectionViewのcellが崩れた時の処置

UICollectionViewを使った実装を行なっており、In-call Status Barの時に表示されているUICollectionViewは正常に伸び縮みして問題なかったが、UICollectionViewCellは、UICollectionViewにめり込んだりマージンが増えたり意図しない挙動になった。

UIApplicationWillChangeStatusBarFrameでNotificationを受けて座標やサイズを修正しようとしたが上手くいかず。

最終的に、UICollectionViewの初期化時に渡すUICollectionViewFlowLayoutでlayout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSizeを設定してやることで、In-call Status Barに追従した動きになった。

参照した記事 qiita.com

ありぜ、会社辞めるってよ

タイトルの元ネタ

退職エントリレギュレーション

  • タイトルで煽らない
  • かしこまった見出しもつけない
  • ウィッシュリストのせない
  • 東亜飯店張らない
  • fromとtoを両方書く
  • 職場崩壊を暴露しない
  • キラキラしない

退職した会社とこれから

2018年07月26(木)が最終出社で、一応月末までは所属している扱い。

退職した会社は、株式会社アイリッジです。お世話になりました。期間にして10ヶ月程でしょうか。

次はフリーランスで働くため不定です。副業もするつもりですし。お手伝いできることがあれば、お仕事ください。

退職理由

端的に言うともっと色んなものに触れて開発力を磨きたいと思ったから。

他にも色々細かい理由はあるけど、今まで所属してきた中では1番居心地は良かったです。

別の理由として、年齢的に今しか色々な会社を見て回るというのが難しいんのでどこかに落ち着く前に見て回って色々なプロダクトや開発者に触れたいという気持ち、そして確定申告等の書類周りを自分で全部やりたいという気持ちがあったので。

あと会社に所属するというのが自分に合ってないように感じていたので、その確認もかねてですかねー。

まとめ

Twitter上では、表立ってあまり退職するという話を出していなかったにも関わらず、何人かの目にとまり、会社見学等のお誘いありがとうございました。

フリーランスからまた会社へ所属したいと思った時には、よければ伺わせて頂こうと思います。

某SNSで購入できる画像セットを他でも使えるようにDLできるプログラム書いた

経緯

SNS(LI○E)で買える40枚1セットの画像は、そのSNS上でしか使用できず、Twitterとかでも使いたいと思ってた。

そのSNSの画像用StoreがWebページでも存在していて、サンプルのように画像が閲覧できるので、これをDLして使えばいいのでは?という発想に至ったが、40枚セットになっているため、1つずつDLして保存するのは手間がかかる。

ならばと、プログラムでDLするようにしてみた。

使用方法

プログラムはGitHubで公開しているが、ただ動くということを前提にしか考えず作っているため、main.swiftのみに詰め込んでいる。 動作環境はMacでしか確認していないので、他OSでは動かないと思う。

コードを修正する前提のため、まだDevelopでしか動かない。

github.com

使い方は、

  1. Terminalを開き、main.swiftディレクトリまで移動
  2. swift main.swift (DLしたい画像があるStoreのURL)を叩く
  3. DLされるはず
  4. スマホ等に取り込んで、Twitter等で使用

まとめ

SNSとか伏せて書いている理由として、画像を勝手に取ってきてTwitterとかで使うのはさすがに権利的にも問題ありそうだから。

尚、このプログラムを使用して起こる問題に当方は一切の責任を追いませんので、あしからず。 全て自己責任でお願いします。

のちのち、もうちょい便利かつ可読性あがるように、コードは整理したり、コマンドとしてinstallできるようにしたりする予定