しおメモスマートフォン用の表示で見るしおメモ雑多な技術系ブログです。RxSwift絶対忘れる自信があるので書いておきます。Xcodeせっかくインストールしたアプリを削除されたくないので、インストール後のバイナリサイズを削ってみました。今年は一切細かい作業やりたくないので、忘れないうちに記録に残しておくことにしました。LLDB毎回ソースコードいじってRxSwiftのdebug仕込むのってめんどいですよね。そこで、スクリプトを使ってLLDBから仕込めるようにしました。流れてくるイベントを簡単にチェックするのに役に立つかもしれません。Systemになってから、全体的にビルド時間は短くなりました。それでも諸々の原因によりビルドがめちゃくちゃ遅い場合があります。そんな場合でも、キレずに冷静に改善する方法紹介します。実装読んだ少し前に、RxSwift5のSchedulerの実装を読んでみたので、初めての読んだ系記事です。LLDB若干話題になって出尽くしてる感がありますが、XcodeのLLDBを絡めたデバッグでよく使う手法をまとめてみました。メモ忙しい人向けに、.xcactivitylogからメソッドのコンパイル時間を抽出するワンライナーです。SwiftNimbleでテストを書いていた際に、共通部分を`Predicate`として自作してまとめたいことがあったので、実装の方法と簡単なサンプルを記しておきます。SwiftUIView.animateは引数が多く、animationとcompletionで2つクロージャーを引数に取り、ネストも深くなりやすいため、メソッドチェーンで書けるように改良してみました。作った前にファイル出力できるロガーをつくっていたので、ターミナルで見やすいようにちょこっと改良してみました。Xcodeのウィンドウでは色がつけられなくなってしまったので、出てきたものにPerlで色を付けています(ゴリ押し)。SwiftSwiftには、assertと似た役割を持つメソッドとして、preconditionやfatalErrorがあります。これらのメソッドの使い方について考えてみます。SwiftUIPageViewControllerが登場したのが古いこともあり、公式ドキュメントや、ネットに出ているの情報だと、いまいち各メソッドの挙動までは掴みづらかったので、改めてまとめてみました。ただのaliasですが、少しでも楽しようとextensionにしてみる。UITableViewやUICollectionViewのDataSourceの追加、削除などの変更を検知して、RxSwiftに橋渡ししてくれます。メモ普通のアプリの場合は、NSLocalizedStringにキーを渡すだけで大丈夫なのですが、frameworkを公開する場合、デフォルトだとアプリ側のBundleを参照してしまうので、そちらも正しく指定しなくてはいけません。iOS正確には、RangeExpressionのような、containsで要素を含むかどうかを判定できる適当なクラスに落とし込みます。今回はRange(0.0...1.0みたいなやつ)だけではなく、RangeExpressionに適合するのすべてのクラスに対応したいと思います。Swift4他言語から入ると、一見取っつきづらいDispatchQueueですが、だいぶ浸透してきた気がします。Swift4Swiftのバージョンが上がる前に、クロージャーに対して各種方法で変数をキャプチャした際の挙動を整理します。ちなみに、新卒アドベントカレンダーではないです。Swift用のデバッグロガー"Linna"の紹介です。日本語ドキュメントはこちらです。RustのResult型を参考にした、エラーハンドルを取り入れてみました。swiftのcatchで拾えないものもこちらでハンドルできる。AppDelegate等に入れておく。Xcodehdiutilからマウントできました。iOSのシステムが数百MB使用するので、その分は最低限起動に必要です。はてなブログProiOSエンジニアです。