【Swift】「Terminating app due to uncaught exception RLMException, reason: Realm accessed from incorrect thread.」のエラーでiOSアプリがクラッシュする事象【備忘録】【Xcode】
iOS アプリ開発でよく使うデータベースといえば、RealmSwift が代表的だと思います。 (この記事を書くまで知らなかったのですが、2019 年に Realm は Mongo ...
【Swift】TableView で長押しを検知してメニューやアラートダイアログを表示する簡単な方法・手順の備忘録【Xcode】
UITableView で長押しを検知したい iOS アプリでリストを長押しした時に何らかの処理をしたいケースは多いと思います。 例えば以下のような用途ですね。 長押しされたリスト ...
【Xcode】「Failed to prepare device for development」のエラーが発生して iPhone 実機ビルド・デバッグができない事象【備忘録】
ある日、いつものようにXcodeで実機ビルドしようとすると、「Failed to prepare device for development」というエラーが発生して、いつまで経っ ...
Macに日本語対応の等幅フォントをインストールして Xcode の行の高さが勝手に変わらないようにする
Xcode でソースコードのコメント等に日本語を入力すると、行の高さが他と変わってしまうことがあります。実装に特に影響はありませんが、少し不自然な見た目になってしまうため、気になる ...
【iOS】applicationWillTerminate、willTerminateNotification がアプリのバックグラウンドで呼ばれない(not working, not called)【Swift】
applicationWillTerminate、willTerminateNotification が呼ばれない アプリキル時のクリーンアップ処理について、以下の記事でまとめさせ ...
【iOS】アプリが終了する直前(タスクキル前)にデータ保存などのクリーンアップ(cleanup)処理を行う【Swift・Xcode】
アプリが終了する直前の処理 iOSアプリの終了直前に、何らかの処理を行いたい場合があるかと思います。例えば・・・ データの保存(キャッシュ)処理何らかの処理を中断してクリーンアップ ...
【iOS】UserDefaults にバックグラウンドスレッドからデータを格納するとメモリリークした【Xcode/Swift】
iOSアプリのメモリリーク アプリでメモリリークが発生すると、メモリの空き容量を食いつぶして、いずれアプリがクラッシュしてしまう危険性があります。 iOSアプリのメモリリークの発生 ...
【iOS】キーボードの開閉に応じて TextField の高さを自動で移動してくれる IQKeyboardManager ライブラリ【Swift】
IQKeyboardManager ライブラリ iOSアプリでは TextField をタップすると、キーボードが下からニュルッと伸びてきます。 この際に、TextField の位 ...
【RxSwift】TextFieldの初期値設定やバリデーションチェック(Scanオペレータ)をViewModelから行う【iOS/Swift】
概要 この記事では、MVVMアーキテクチャでiOSアプリを作る場合において、テキストフィールドを使う際に個人的によく使うユースケースをまとめています。 まず、テキストフィールドを使 ...
【Swift】プロパティラッパ(Property Wrapper)で UserDefaults へのアクセスを簡単にする【Xcode】
iOS エンジニアなら一度は使ったことがあるであろう UserDefaults。 今まで私は以下のようなクラスを作って、UserDefaultsからデータを取り出したり格納したりし ...
【Xcode】スプラッシュ画面(LaunchScreen)で画像が表示されない・画面が真っ黒になる事象の解消【iOS・Swift】
Xcode で iOSアプリ開発をしている際に、スプラッシュ画面が真っ黒になる事象が発生しました。 事象は以下のような感じで、アプリ起動直後に真っ黒な画面が表示されています。 スプ ...
WordPress で大なり(>)・小なり(<)記号が自動変換されてエスケープ文字列(>)(<)のまま表示されるのを防ぐ方法
ブログ記事にソースコードを載せる時に、大なり・小なりなどの記号を使用することがよくあります。 WordPress を使用しているのですが、こうした記号がエスケープされた文字列に勝手 ...
【Swift】enum でIF文によるcase判定やassociated valueの取り出し方、enum同士を比較(==)する方法について【備忘録】
Swift でアプリ開発をしていると、enum は個人的に必須といえるほど頻繁に使用しています。 ねじまき enum なくして私のコーディングライフは存在し得ない...! まだまだ ...
場所通知と行動ログの記録ができるiOSアプリをリリースしました【エリアアラーム】
「エリアアラーム」をリリースしました 未経験からiOSエンジニア(SES)にジョブチェンジして1年半弱が経過しました。 SES企業特有の 客先ガチャ と ...
【Swift】GoogleMapでマーカーがチカチカ点滅・明滅する原因と対処法【Xcode/iOS】
GoogleMapにマーカー(GMSMarker)を複数表示すると、まれに以下のようにチカチカ明滅・点滅する事象に遭遇しました。 今回はその原因と対処法についてまとめています。 チ ...
騒音対策にオススメの耳栓!睡眠用イヤープロテクターのノイズキャンセリング効果【レビュー】
騒音に悩まされて夜に寝付けない・・・ 作業に集中できない・・・ そういった悩みを抱えている方は多いのではないでしょうか? ねじまき 私は木造ハイツのアパートに一人暮らしをしています ...
【Android】BitmapとCanvasでアイコン画像に通知件数バッジをつける【Kotlin】
アプリ内で使用するアイコン画像に、通知件数を表示するようなバッジを付与したいケースがあると思います。 こんな感じです。 上記はAndroidプロジェクトに初めから入っているドロイド ...
RecyclerView の使い方。ドラッグ&ドロップで並び替え、スワイプで削除する。【Android】
RecyclerView の基本的な使い方を確認したので、備忘録として残しています。 ItemTouchHelper を使用して RecyclerView のアイテムをドラッグ ...
【Kotlin】高階関数、ラムダ式・無名関数、クロージャに関する備忘録
Kotlin の関数まわりのことを学習したので、備忘録として残しています。 Kotlin では「関数」も「第一級オブジェクト」 第一級オブジェクトとは、簡単に言うと、Int 型や ...
10 考えて 3 だけ書く?読者を置いてけぼりにしない情報開示を意識する!【星海社座談会の抜粋】
第24回 星海社 FICTIONS 新人賞座談会 にて、受賞作「傭兵と小説家」に対する論評で、以下のようなコメントがありました。 林 台詞の中でキャラクターや設定の補強ができて ...