L08084のブログ

技術記事の執筆は、祈りに近い

Angular

iOSのFace ID, Touch IDを使用したログイン機能を設計する - Part2

はじめに 以前、iOSのFace ID, Touch IDを使用したログイン機能を設計する - l08084のブログ という記事を書いたんだけど、実装してて辛かったり、そもそもセキュリティ的にマズそうだったので、色々と設計を変えた。 前回の設計 前回した設計なんですが、だ…

【JavaScript】Promise チェーンで、戻り値がPromiseのメソッドをつなぐ

戻り値がPromiseのメソッドを順番に実行し、前の処理の結果を次の処理で使いたいという場合があります。そんな時は、Promise チェーンを使いましょう。 バージョン情報 Angular: 5.0.1 TypeScript: 2.4.2 サンプルコード 下記のコードは、iOSのFace ID/Touch…

【Angular】お互いにDIしあっている(循環参照)と発生するエラー「Uncaught Error: Can't resolve all parameters for XXXService: (?, [object Object], [object Object]).」

バージョン情報 Angular: 5.0.1 エラー内容 AサービスクラスにBサービスクラスをDI、BサービスクラスにAサービスクラスをDI みたいなこと(循環参照状態)をしていた結果、タイトルのエラーが発生 Uncaught Error: Can't resolve all parameters for XXXServ…

iOSのFace ID, Touch IDを使用したログイン機能を設計する

業務でFace ID, Touch IDを使ったログイン機能を実装することになったので色々と調べた。 作成予定のシステム Face ID, Touch IDに対する誤解について 処理詳細 初回ログイン Face ID, Touch IDによるログイン Appleのレビューガイドライン 考えた点・補足 …

IonicでiOSの生体認証(Face ID, Touch ID)を扱う

モチベーション 業務でFace ID, Touch ID対応のiOSアプリを作成することになったので、触っておきたい。 バージョン情報 Angular(JavaScriptのWebフレームワーク)ベースの、ハイブリットモバイルアプリ用フレームワークである「Ionic」を使っています ioni…

【メモ】Xcodeでエラー「Showing All Messages clang: error: linker command failed with exit code 1 (use -v to see invocation)」

Xcodeで実機ビルドをしたタイミングで、下記のエラーが発生した。 Showing All Messages clang: error: linker command failed with exit code 1 (use -v to see invocation) バージョン情報 Xcode: 9.3 cordova-plugin-touch-id: 3.3.1 原因 cordova-plugin…

【JavaScript】Ionicで架空のECアプリを作成する #10 - 完成

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成していました。 最低限の機能は、実装できたかな?というところまで来たので、今回で一旦完成ということにします。 後からリ…

【JavaScript】Ionicで架空のECアプリを作成する #9 - スワイプするとボタンが表示されるリスト

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成していきます。 第9回目である今回は、ショッピングカート画面のリストを、スライドすると削除ボタンが表示されるリストに変…

【JavaScript】Ionicで架空のECアプリを作成する #8 - ヘッダーにボタンをつける

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成します。 第8回目である今回は、ショッピングカート画面のヘッダーに「空にする」ボタンをつけます デモ こちらのURLで、完成…

【JavaScript】Ionicで架空のECアプリを作成する #7 - 同じ商品を買った場合は、まとめて表示したい

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第7回目である今回は、同じ商品を二つ買った場合でも、まとめて表示されない問題について解決します。 デモ こちらのU…

【JavaScript】Ionicで架空のECアプリを作成する #6 - タブバーのアイコンにバッジをつける

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第6回目である今回は、カートアイコンにショッピングカート内の商品数を表示するバッジをつけるところまで デモ こち…

【JavaScript】Ionicで架空のECアプリを作成する #5 - カート画面を作る(後編)

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第5回目である今回は、カート画面を作成するところまで デモ こちらのURLで、完成版のアプリを実際に操作することがで…

【JavaScript】Ionicで架空のECアプリを作成する #4 - カート画面を作る(前編)

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第4回目である今回は、ショッピングカートに商品を追加する処理の実装まで デモ こちらのURLで、完成版のアプリを実際…

【JavaScript】Ionicで架空のECアプリを作成する #3 - 商品詳細画面を作る

前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第3回目である今回は、商品詳細画面を作成するところまで デモ こちらのURLで、完成版のアプリを実際に操作することが…

【JavaScript】Ionicで架空のECアプリを作成する #2 - 商品リスト画面を作る

今回作成する画面 前回の記事はこちら ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第2回目である今回は、商品リスト(ホーム)画面を作成するところまで デモ こちらのURLで、完成版…

【JavaScript】Ionicで架空のECアプリを作成する #1 - 商品データを作る

ハイブリットモバイルアプリフレームワークのIonicを使って、架空のアパレルショップにおける注文アプリを作成する。 第1回目である今回は、商品(洋服)データを作成するところまで デモ こちらのURLで、完成版のアプリを実際に操作することができます http…

仮想通貨取引所のAPIを使ってみる #3 - Private API にアクセスする

前回記事はこちら 仮想通貨取引所のbitFlyerのHTTP Private APIにアクセスして、自分の資産残高を取得する。 バージョン情報 今回アクセスするAPIは認証が必要 Private APIの認証 下準備 コード 動作確認 参考サイト バージョン情報 JavaScriptのフレームワ…

Angular Material でヘッダーを作る

Angular Materialを使ってナビゲーション付きのヘッダーを作る Angular Materialのインストールから解説している記事は、こちら バージョン情報 NgModuleの設定 テンプレートを編集する バージョン情報 Angular: 5.2.9 Node: 8.1.4 @angular/material: 5.2.4…

IonicをAndroid/iOSでビルド・パッケージ化

毎回やり方を忘れるので書きました...PCはMacです。Ionic以外のハイブリットモバイルアプリフレームワークでも概ね同じ手順になると思います。 バージョン情報 ビルド手順 プラットフォーム作成(Android/iOS共通) Android 実機ビルド パッケージ化 iOS 実機…

便利な「ionic cordova resources」コマンドで各種モバイル・タブレット端末のアイコン・スプラッシュスクリーンを作成する〜

Ionicだと、ionic cordova resourcesコマンドで、端末によって様々なサイズが必要になるアイコン・スプラッシュスクリーン画像を一発で作れて便利 バージョン情報 事前準備 STEP1 ベース画像の用意 STEP2 ionic config set backend pro -gとionic loginコマ…

【Ionic, Cordova】カスタムプラグインを導入した時のiOSビルド手順

はじめに バージョン情報 ビルド手順 カスタムプラグインを作る iOSビルド はじめに ionic-pluginやcordova-pluginなどのプラグインをインストールした後、オリジナル版とは違う修正を加えて、カスタムプラグインを作る事がある。そんなカスタムプラグインを…

【Xcode】iPhoneでは縦向き固定に、iPadでは横向き固定で表示したい

はじめに バージョン情報 手順 iPhoneはPortrait固定に設定 iPadはLandscape固定に設定 関連ライブラリ はじめに JavaScript(Ionic)を使ってiOSアプリを作成していた時に、「iPadで縦向き(Portrait)表示するとレイアウトが崩れるから、横向き(Landscape)固…

【Angular】HTTPのレスポンスヘッダを取得したい

HTTPのレスポンスヘッダの一つであるETagを取得しようとして四苦八苦した話。 バージョン情報 JavaScriptフレームワークであるAngularを使います Angular: 5.2.9 ionic-angular: 3.9.2 ETagとは https://ja.wikipedia.org/wiki/HTTP_ETag ETag(エンティティ…

iOS シミュレーター上でだけアプリが動かない!そんな時....

実機(iPhone)だと動くのに、iOSシミュレーターだと動かない!みたいなことがあったので。 バージョン情報 Ionicなどのハイブリットモバイルフレームワークを使用して、JavaScriptでiOSアプリを作った時の話となります ionic-angular 3.9.2 Xcode: Version …

【Angular】app.module.tsからルーティングのRoute設定を分離する

ファットになりがちなapp.module.tsファイルから、ルーティングの設定を分離したい バージョン情報 Angular: 5.2.9 ルーティングの設定を分離する Before app.module.tsの中にルーティングのRoute設定も含まれている src/app/app.module.ts: // ...省略 impo…

Ionic2からIonic3(Angular2.2 -> 5.2)へアップグレードした

アプリのIonicバージョンを2から3に上げた。 特に参考にしたサイト アップグレードの大まかな流れ バージョン情報 PC周りの環境 アプリのバージョン - アップグレード前 アプリのバージョン - アップグレード後 package.jsonを更新する ブラウザで動作確認(…

【Angular】APIの戻り値の型を型パラメーターとして渡す

以前の記事で書いた、仮想通貨取引所のWeb APIにアクセスした時のコードが冗長だったので、リファクタリングする。 バージョン情報 Angularを使う Angular: 5.2.9 Node: 8.1.4 リファクタリング前のコード RxJSのmapメソッド内で、レスポンスの型をBitflyerT…

【VSCode】Angular Language Service を使ってテンプレート内で補完、エラーチェックを行う

Angular Language Serviceなるものの存在を最近知ったので、使ってみます。 バージョン情報 Visual Studio Code以外のエディタをお使いの方は、他記事を参照していただくようお願いします。 Visual Studio Code: 1.21.1 Angular: 5.2.9 Angular Language Ser…

仮想通貨取引所のAPIを使ってみる #2 - 各種取引所のBTC価格を取得する

前回記事はこちら 国内仮想通貨取引所5種(bitFlyer、Coincheck、Zaif、bitbank、QUOINEX)のWeb APIにアクセスして、現在のビットコイン価格を表示するアプリケーションを作成しました。 バージョン情報 実装 アプリケーション概要 bitFlyer APIの呼び出し …

Angular Material の Tableを使う

Angular Materialをインストールして、テーブルを表示するところまでやる。 バージョン情報 Angular Materialをインストールする AppModuleの設定 CSSのインポート Tableを表示する 動作確認 参考サイト バージョン情報 Angular: 5.2.8 Angular CLI: 1.7.3 N…