2022-01-01から1年間の記事一覧

UIButton.Configuration.Sizeの各サイズごとのデフォルト状態での高さ

iOS

iOS 16.1シミュレーターで確認してみた。 @2x @3x UIButton.Configuration.Size.large 50.5 50.33… UIButton.Configuration.Size.medium 34.5 34.33… UIButton.Configuration.Size.small 28 28 UIButton.Configuration.Size.mini 28 28 特別にHuman Interfac…

UINavigationController配下でUIHostingControllerによって表示しているSwiftUIのViewからNavigationLinkは使えるのか

結論としては使えます。端的なPlaygroundのコードとしては次のようになります。 import UIKit import SwiftUI import PlaygroundSupport struct RootView: View { var body: some View { NavigationLink("This is NavigationLink") { Text("Hello World!") }…

iOSシミュレーター・Androidエミュレーターにアプリをインストールだけする(起動までしない)方法

なぜ アプリの初回起動時専用の特別な処理や画面遷移を行うケースで、そのデバッグ実行・動作確認をするため。 iOS まずインストールするためのアプリは Build For Running でビルドしておく。次にシミュレーターを起動しておいて xcrun simctl install boot…

RenovateのGemfileやPodfileの更新でリリースノートを取得する

Renovateは様々なデータソース・パッケージマネージャーに対応していて、もちろんRubyのBundlerのGemfileにも対応しているのだが、APIリクエストのレートリミットを回避する関係で、https://rubygems.org をデータソースとする場合はリリースノートの取得が…

GraphQLスキーマをサーバーサイドからクライアントサイドに自動同期し、変更履歴も確認したい

似たような話が先日ありましたね。 こちらはGraphQLではなくてOpenAPI、かつサーバーサイド側のリポジトリからクライアントサイド側のリポジトリにプッシュする方式でした。 今関わっているプロダクトでは、1つのGraphQLスキーマが複数のリポジトリから必要…

期間の扱い方とその名前

とあるAPIのスキーマの叩き台をクライアントサイドとして検討している際に、コンテンツの公開期間やイベントの開催期間のような期間について議論が少し盛り上がった。 要件としては、期間の開始と終了の日時をそれぞれ取得できたい。 期間を考える時、開始と…

Mockolo 1.7.0のビルド済みバイナリがarm64にしか対応していない

iOS

https://github.com/uber/mockolo/releases/download/1.7.0/mockolo.tar.gz に含まれる mockolo バイナリがarm64アーキテクチャーにしか対応していなかった。これだとAppleシリコンMacでは実行できるが、Intel Macでは実行できない。 $ file mockolo mockolo…

SwiftUIのTextは+演算子で結合できる(fontやforegroundColorなどを変えていてもできる)

SwiftUI.Text には + 演算子が用意されているので Text("Foo") + Text("Bar") のように結合ができる +(_:_:) | Apple Developer Documentation Text("Foo").font(.title) + Text("Bar").foregroundColor(.secondary) のように一部のmodifierを付けていても結…

CircleCI公式のDockerイメージにはyqがプリインストールされているので、自分で入れる必要はない

CI

CircleCIのダイナミックコンフィグとsetupワークフロー*1で、path-filtering Orbやcontinuation Orbを使う時の話題ですが、タイトルがすべてです。 github.com 設定ファイルをマージする用途でyqを使うために、自分でインストールするような記述を色んなブロ…

Open Test Reporting: platform-agnosticなテストレポートのフォーマット

たまたまJUnit 5.9.0のリリースノートを読んでいたら面白いものが目に着きました。 XML reports in new Open Test Reporting format テストレポートのフォーマットとしてはJUnitがデファクトスタンダードのようになっていて、様々なプログラミング言語やテス…

SwiftUI.ViewとUIHostingControllerの初期化順序の調整

UIHostingControllerを使ってSwiftUI.Viewを表示する時に、Viewの引数に渡すクロージャーの中でViewControllerを使いたいことが稀によくある(本当に?)。 素直に考えるとこうなる。 // 順序的にvcを使えない let view = FooView(onTap: { // vcで何かした…

RenovateのHandlebarsテンプレート用の`lowercase`ヘルパーを追加した

RenovateとHandlebarsのテンプレート Renovateでは様々な設定オプションや正規表現を用いるregex managerでHandlebarsのテンプレートを使用できる箇所があります。 例えばPRのdescriptionの内容を追加できるprBodyNotesなどがありますが、RenovateがPRを作る…

Renovateの「About us」というドキュメントにcontributorとしてノミネートされた

はい。 RenovateのAbout usというドキュメントにcontributorとして名前を載せていただきました。今後もできる範囲で貢献していければと思います!https://t.co/3qjx9Fa446https://t.co/cH06beUtqy— Sho Ikeda (@ikesyo) 2022年5月27日 こちらのページからご…

Accompanistの開発版のバージョニングが独特で、Renovateと相性が悪い

Accompanistとは Google公式の、Jetpack Composeを補完する拡張ライブラリーです。 Accompanistの開発版のバージョニング 直近の0.24系の開発版が次のようになっている。 v0.24.0-alpha v0.24.1-alpha v0.24.2-alpha v0.24.3-alpha v0.24.4-alpha v0.24.5-al…

potatotips #77で「RenovateによるiOSライブラリーの自動更新」という発表をしました&いくつかの補足

発表資料はこちらです 発表の中では時間の都合で触れられなかったところをいくつか補足しようと思います。 CocoaPodsでRealmを使っているとPodfile.lockが更新できない件 CocoaPodsとXcodeGenを併用しているとPodfile.lockが更新できない件 おわりに CocoaP…

actions/checkoutのアップデートで、gitのsafe.directoryの件が対策されていました

先週盛り上がっていた、gitのCVE-2022-24765に対する修正でreviewdogなど一部のGitHub Actions(Dockerコンテナのアクション)が動かなくなっていた問題ですが Git security vulnerability announced | The GitHub Blog 一部の reviewdog が `exit status 12…

GitHub ActionsのVirtual Environmentの更新でnpmのバージョンが変わったことでreviewdog/action-eslintが動かなくなったという面白事例

社内のとあるリポジトリ yarn workspacesを使っていた npm 7でworkspace機能が入ったので、npmでもpackage.jsonのworkspacesを認識する 4月4日にGitHub ActionsのCIが突然エラーになるようになった Virtual Environmentのバージョンが変わっているようだった…