NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

Technology - iOS

【Swift】アプリでbackgroundを検知した時に画面をマスクする方法

概要 作ったもの 環境 SwiftUIでの実装 UIKit LocalAuthenticationと組み合わせてみる まとめ 概要 金融系のアプリなどでよくある実装かと思いますが、アプリでbackgroundを検知した時に画面をマスクする方法について紹介したいと思います。 作ったもの 環境…

【Xcode】Apple siliconによるLibrary not found for - XXXX...エラーの対処方法

概要 環境 原因と対応方法 回避策 まとめ 概要 「Library not found for - XXXX...」のエラーは基本的にはLibrary Search PathsのPathが正しくなかったり、重複している場合に起こるエラーですが、Apple silicon起因でも表示されましたので、以下当てはまる…

【Swift】ChatGPTを利用してAIチャットアプリを作ってみる

概要 環境 前置き ドキュメントを見る 実際に検証してみる 検証の様子 まとめ 概要 OpenAI APIの中でChatGPTが利用できるので、そちらを利用してAIとチャットできるiOSアプリを試しに作ってみました。その中で作り方やpromptの調整による変化などを簡単に検…

aws-sdk-ios-spmを使用してAmazon Kinesisにデータを送る

概要 環境 aws-sdk-ios-spmを導入する Kinesisにデータを送ってみる まとめ 概要 本題の通りaws-sdk-ios-spmを使用してKinesisにデータを送る方法を紹介したいと思います。 spmと付いているのでお察しの方もいると思いますが今回はSwift Package Managerにて…

【Swift】LocalAuthenticationを使用して生体認証を試してみた

概要 環境 LocalAuthentication 試してみる Privacy - Face ID Usage Descriptionを追加 ViewやClassの実装 解説 まとめ 概要 ロック画面の解除に普段何気なく使用しているFace IDやTouch IDですが、セキュリティレベルを高めるのはもちろん、ユーザーがIDや…

【SwiftUI】Imageのサイズを変更する方法

概要 環境 前提 resizableでframeサイズを反映させる スケールやアスペクト比を調整する 元のアスペクト比を保ちつつ、frame内に収める まとめ 概要 SwiftUIでImageのサイズを変更する際にframeでwidth及びheightを指定するだけでは変更できません。resizabl…

アドベントカレンダー風UIを作ってわかる!SwiftUI

本記事は NRIネットコム Advent Calendar 2022 1日目の記事です。 本記事 ▶▶ 2日目 概要 環境 作成するUI アドベントカレンダーとは アドベントカレンダーアプリ アイコンの準備 UIを実装していく Stackを使用してアイコンを任意の位置に配置する overlay…

【UIKit】iOS16から使用できるcustomを使用して任意の高さのモーダルを実装する

概要 環境 sheetPresentationControllerの使用方法 customで任意の高さのモーダルを表示する まとめ 概要 iOS16からUIViewControllerで使用できるモーダルがcustomを使用することで任意の高さに設定できるようになりました。 今回は試しにSwiftUIのViewを呼…

【UIKit】UIHostingControllerを使ってUIViewControllerの中でSwiftUIのViewを表示する

概要 環境 実装 値を渡す まとめ 概要 SwiftUIのViewでUIViewControllerやUIViewを呼び出す方法はUIViewControllerRepresentableやUIViewRepresentableを使用することで可能です。 逆にUIViewControllerの中でSwiftUIのViewを表示するにはUIHostingControlle…

【SwiftUI】NavigationView及びNavigationStackのタイトルや背景色を変更する方法

概要 環境 実装方法 まとめ 概要 NavigationViewやNavigationStackのタイトルや背景色を変更する方法をご紹介します。 環境 この記事は以下のバージョン環境のもと作成されたものです。 【Xcode】14.1 【iOS】16.1 【macOS】Monterey バージョン 12.6 実装方…

【SwiftUI】UIKitで作成したUIViewControllerやUIViewをSwiftUI側で表示する方法

概要 環境 UIViewControllerRepresentableとUIViewRepresentable UIKit側の実装 SwiftUI側の実装 UIViewControllerRepresentableを使用して呼び出す まとめ 概要 UIKitで作成したUIViewControllerやUIViewをUIViewControllerRepresentableやUIViewRepresenta…

【UIKit】Storyboardを使わずにコードでAuto Layoutを設定し、SwiftUIのプレビューでViewを確認する方法

概要 環境 translatesAutoresizingMaskIntoConstraintsをfalseにする SwiftUIのプレビューを使用する まとめ 概要 Auto Layoutとはビューに設定された制約に基づいて、ビュー階層内のすべてのビューのサイズと位置を動的に計算するレイアウトでその制約など…

【SwiftUI】TextFieldやTextEditorで入力した文字数の制限やカウントを表示する方法

概要 環境 Combineでの実装 onChangeでの実装 まとめ 概要 テキストの文字数をリアルタイムでカウントして表示したり、入力文字数の制限をする方法についてCombineフレームワークとonChangeを使用した手法をそれぞれ紹介したいと思います。 環境 この記事は…

Xcodeで任意のiOSバージョンのシミュレーターを追加する方法

概要 環境 シミュレーターの追加 確認 まとめ 概要 常に最新のOSバージョンで開発できればいいものですが、そんな事はまずなく、検証する際もそのOSに対応した環境で行うために、任意のバージョンのシミュレーターが欲しくなると思います。 そんな時は以下の…

【SwiftUI】TabViewを使ってOnboardingを作成する

概要 環境 TabViewの基本的な使い方 Tabの背景色やアイコンに色を付ける方法 Onboardingを作成 まとめ 概要 TabViewを使って以下の様なアプリ起動時に表示するOnboardingを作成してみたいと思います! 環境 この記事は以下のバージョン環境のもと作成された…

【SwiftUI】ESP32使用してスマートキーを自作する【CoreBluetooth】

概要 環境 BLEを使用するために押さえておきたい知識 ペリフェラル セントラル アドバタイズ 接続までの流れを整理 実装 ペリフェラルの実装 NimBLEDeviceをESP32で使用する ペリフェラルのサンプルコード セントラル側の実装 CoreBluetoothを使用したサンプ…

iOS×ESP32でBLE接続して制御するための準備

概要 環境 準備するもの(物理) ESP32とは iPhone®とESP32をBLEで接続する Arduino IDEをダウンロード ESP32のボードを追加 スケッチ例からサンプルコード起動 nRF Connect for Mobileを使用してBLE接続する まとめ 概要 iPhone®とESP32をBLEで接続し、制御…

【SwiftUI】Pixel Artアプリを作ってみる-その2

概要 環境 きっかけ 追加、修正機能 Pixelのコンポーネント作成 タップ動作でPixelを選択する 任意の色を着色できる おまけ まとめ 概要 【SwiftUI】ForEachでPixel Artアプリを作ってみるの続きとなります。 今回はColorPickerを使用して任意の色を選択して…

【SwiftUI】ForEachでPixel Artアプリを作ってみる

概要 SwiftUIではForEachを使用することでViewを繰り返し処理で生成することができます。 そんなForEachの使い方をご紹介しつつ今回は以下のようにドット絵が描けるPixel Artアプリを作ってみたいと思います。 環境 この記事は以下のバージョン環境のもと作…

【Swift】ChartとGeometryReaderで動的に動くグラフを作成する

概要 環境 参考サンプル 範囲選択から値をリスト表示する 特定のグラフを選択した時に値を抽出して表示する まとめ 概要 ChartにGeometryReaderを使用することで以下のようにタップなどの動作で特定のグラフの値を抽出したり、範囲選択して、値をリスト表示…

【Swift】Chartで作成したグラフの背景色やラベルなどの表示制御について

概要 環境 サイズ、背景色、枠線の制御 XやY軸に対してラベルの表示制御 グラフに対してグリッド線や目盛り線の表示制御 まとめ 概要 Chartで作成したグラフに対して背景色をつけたり、X軸やY軸のグリッドやラベルの表示を制御する方法を紹介します。 環境 …

【Swift】Chartで表示された値の範囲を指定する

概要 環境 chartXScale、chartYScale includesZero reversed グラフ内に余白を追加する まとめ 概要 Chartでグラフを作成した際に縦軸、もしくは横軸に基準となる値が自動で調整されて表示されます。 今記事は各軸に表示される値の範囲を指定する方法の紹介…

Apple Eventが終わりいよいよiOS16の公開が間近になったので気になる新機能等について整理してみた

https://www.apple.com/jp/apple-events/ 概要 Apple Event Apple Watch iPhone 新機能についておさらい ロック画面のWidget SwiftUIの新しいAPI in-app purchase Use SwiftUI with UIKit App Clips Concurrency Dynamic Island 最後に 概要 先日のApple Eve…

Apple Walletで管理できるビジネスカード風なPassの作り方

概要 作成前に確認すること Passの種類を把握する Passのデザイン 共通したレイアウト 搭乗券 クーポン券 イベントのチケット 店舗カード 汎用パス(その他の一般的なパス) 作成 最後に 概要 今回は前回の「Apple WalletやPassについて調査し、Passを作って…

Apple WalletやPassについて調査し、Passを作ってみた

概要 Apple WalletやPassについて調査編 WalletとPassの違い Passでできること Passの作成編 Pass作成のおおまかな流れ 証明書周り作成 passファイル作成 signpass取得 Passの生成 最後に 概要 今回は以前から気になっていたApple WalletやPassについて調査…