しおメモ

雑多な技術系ブログです。ニッチな内容が多いです。

Xcode

XCTestを使ったflaky testの扱い方

Xcode13からXCTest周りの機能が強化され、特にflaky testに対応しやすくなったので、実際の対応方法をいくつか書きます。 Flaky testの再現確認 XCTSkipを利用してskipする XCTExpectedFailureを利用して結果を成功扱いにする 動画リンク Flaky testの再現確…

XcodeのSnippetsなどのカスタマイズ情報をgitで管理する

Xcodeのキーバインドや、コードスニペットなどのカスタマイズした情報(UserData)をgit管理する方法を記載します。 個人サーバーやGitHub等を使ってリモートで管理しておくと、Xcodeのバージョンアップの際や複数の環境で設定を揃える際に非常に楽になります…

iOSアプリの圧縮済みAssets内の画像のサイズを調べて小さくする

せっかくインストールしたアプリを削除されたくないので、インストール後のバイナリサイズを削ってみました。 今年は細かい作業やりたくないので、忘れないうちに記録に残しておくことにしました。 まず見るWWDCのセッション アプリのサイズ Assetsの中でか…

Xcodeのコンパイラやリンカの警告をDangerで指摘するプラグインを作っていた

danger-xcode_warningsという名前で、Pull Requestを投げた際に、Xcodeのcompiler warningsやlinker warningsを指摘するDangerプラグインを作りました。 xcodebuildのログと、xcprettyで整形済みのログに対応しています。 github.com rubygems.org 実はだい…

Xcodeのビルド時間をキレずに改善する

Xcode10でNew Build Systemになってから、全体的にビルド時間は短くなりました。 しかし、それでも諸々の原因によりビルドがめちゃくちゃ遅い場合があります。 そんな場合でも、キレずに冷静に改善する方法紹介します。 ビルド時間の計測方法 ビルド設定の見…

XcodeのLLDBデバッグでよく使う技

若干話題になって出尽くしてる感がありますが、XcodeのLLDBを絡めたデバッグでよく使う手法をまとめてみました。 特定の行をスキップ 特定の行を書き換える ブレークポイントをon/offする アドレスからオブジェクトに戻して変数に格納する 組み込みメソッド…

iOS Simulatorにディスクイメージをマウント

hdiutilからマウントできました。Xcode 10です。 ディスクイメージ作成 iOSのシステムが数百MB使用するので、その分は最低限起動に必要です。 # APFS hdiutil create -size 1g -fs APFS /tmp/ios.dmg # HFS+ hdiutil create -size 1g -fs HFS+ /tmp/ios.dmg …