文字っぽいの。

文字を書いています。写真も混ざります。

SwiftUIでTabキー単体のキーショートカットを実装する方法。

SwiftUIでのキーボードショートカット SwiftUIではButtonやToggleに対して .keyboardShortcut(_:modifiers:) でキーボードショートカットを実装することができる。 Toggle("Toggle", isOn: $flag) .keyboardShortcut("1", modifiers: [.control]) Button("Bu…

SwiftUIのライブプレビュー関係のショートカット

表示・非表示 Option + Command + Return 押す度に出たり消えたりする。 リロードしたい時 Option + Command + P

2022年の買ってよかったもの。

良くて使い続けてるものだけ書いていく。 デスク周り fromatom.hatenablog.com デスク周りをどかっとリニューアルした。コード周りもいい感じにまとまったし、デスクの色もダークブラウンになって満足している。 エスプレッソメーカー ついに買ってしまった…

時代は着る布団。

かなり前から着る毛布が流行っており、冬場の寒さ対策グッズとして人気です。しかし、日本には古来から着る布団があります。 そう、半纏(綿入れ半纏)ですね。前から欲しかったのですが、Amazonのブラックフライデーで安くなっていたので購入しました。もう…

UITextViewで `""` が `“”` に、 `--` が`—` に勝手に変換される問題の対処法

課題 UITextViewでエディタを作っていると、 "" が勝手に “”に変換される '' が勝手に ‘’ に変換される -- が勝手に — に変換される という状況に出会って困ることがあります。 これはなに? これはスマート引用符とスマートダッシュという機能です。Macでコ…

swift-markdownを利用してUITextViewのカーソル位置が特定記法であるか調べる。

やりたいこと Markdownエディタを実装していくと、カーソルのいる場所がリストなのか太字なのか見出しなのかを知りたくなります。単純に記法によって見た目を変えたいのであれば、NSAttributedString.init(markdown:options:baseURL:) を使えばよいです。 一…

素振り

最近、「エンジニアリングスキルを高めるにはどうしたらよいか」といったニュアンスの話をすることが何回かありました。エンジニアリングスキルにはコーディング能力だけではなく、チームワークだったりプロダクト志向だったりステークホルダーの調整だった…

#iOSDC Japan 2022でLT登壇してきました!

帰ってきたオフライン開催! 今年のiOSDCはオフライン・オンライン両方のハイブリッド開催で、家で配信を見るのもよし、現地でトークを聞いたりブース出展を眺めるも良しの贅沢なカンファレンスになっていました。 3年ぶりに物理ブースが並んでいる様子をみ…

SwiftでURLやファイル拡張子から画像か動画か判別する。

やりたいこと WKWebViewの func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) でタップされたリンクが画像ならAという処理、動画ならBという処理…

シミュレーターのPHPickerViewControllerでHEIC形式の画像を読み込めない問題の解決方法

環境 Xcode: Version 13.3 (13E113) Simulator: iPhone 13 mini (iOS 15.4) 起こること PHPickerViewControllerを利用して画像を取得する時、インターネットに転がってるコードを参考に実装していくとこんな感じになる。 func showPicker() { var configurat…

スネてる暇はないんだよ。

力を入れて書いたブログに反応がなかった時、これは賢いと思った設計変更が受け入れられなかった時、絶対にバズると思った企画が通らなかった時、これは通ると思ったプロポーザルが不採択になった時、便利なライブラリを作ったけどスターがつかない時、絶対…

Swiftでファイル名からMIMEタイプを生成する。

やりたいこと ファイル名からMIMEタイプを生成したい時がある。例えば、 "image.png" -> image/png "movie.mov" -> video/quicktime という感じ。 実装方法 Uniform Type Identifiers を利用する。そのため、iOS 14以降じゃないと使えない。 上述したPNG画像…

「僕の考えた最強のデスク環境」をアップデートした。

2年前にデスク環境をがっちり整えた。 fromatom.hatenablog.com そこから時は経ち、書斎の棚を処分したり新しくWindowsPCを購入したりと環境も変わってきたので、アップデートをした。 この記事では、この状態になるまでに行った作業や、使った製品を紹介し…

#iOSDC Japan 2022で『 サポートiOSバージョンを定期的にあげる仕組みづくり』というLTをします。

今年もiOSDC Japanの季節がやってきましたね!ありがたいことにLTが採択されたので、登壇します!5年連続登壇することができるので、うれしみに舞い踊っております。 fortee.jp プロポーザルは サポートOSバージョン、どんどんあげていきたいですよね? しか…

ラーメン→スーパー銭湯→ラーメン

ゴールデンウィークのほとんどが飼い猫の看病と通院で消失してしまったので、ちょっとしたお出かけをした。「ラーメンと、温泉やな。」ということになり、弟と2人で電車で行ける範囲で出かけた。 味噌っ子 ふっく 朝の10時30分に荻窪駅に集合して、味噌っ子…

Apexでソロダイヤを達成するために、買ってよかったゲーミングデバイス。

去年の2月にApexデビューをしてからコツコツ続けて、ようやく今年の3月にソロダイヤを達成しました。めでたい。 この記事では、ソロダイヤを達成するまでに買ってよかったと感じているデバイスを紹介します。 新しいPC いやPCは持ってて当然でしょって感じで…

UISegmentedControlを角丸にする

できたもの コード import UIKit final class RoundedSegmentedControl: UISegmentedControl { private let segmentInset: CGFloat = 5 override func layoutSubviews() { super.layoutSubviews() layer.cornerRadius = bounds.height / 2.0 let foregroundI…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

APNs証明書に「証明書は信頼されていません」と出る問題の解決法

起きること 恒例行事のAPNs用証明書更新作業。いつもの手順で作って、ローカルで.cerファイルとKeychainに追加すると、下記の画像のように「証明書は信頼されていません」と出てくる。 このままでも特に問題なく.p12ファイルは作れるけども、なんだか不安が…

横断型テックリードという働き方

みなさんこんにちは。FromAtomです。 自分は今『モバイルアプリ分野テックリード』という肩書で仕事をしています。世の中のテックリードの皆様におかれましては「"分野" テックリードって?」「横断型テックリードって?」という感じかと思います。そんなテ…

WordPressにOAuth認証してRubyでREST APIを叩いて記事投稿する。

やりたいこと WordPressのREST APIを使って記事を更新したい 認証方法にはBasic認証ではなく、OAuthを使いたい 公式ドキュメントでも開発やテスト以外でBasic認証は使うなと言っている Note that this plugin requires sending your username and password w…

SwitchBotを使って、加湿器の水を入れ忘れないようにした。

モチベーション 加湿器、水を入れ忘れると乾燥した部屋でMTGなどを続けることで喉が破滅しがち。忘れずに水を入れていきたい。 できたもの こんな感じで、湿度が30%未満だったらSlackに通知されるようにした。加湿器に水が入っていれば30%は超える家の環境…

自動で泡のハンドソープが出てくるやつを買った。

これを買った。今までは手動でハンドソープを出していたけども、毎日何度もプッシュするのが面倒だったので購入。 2020年 Umimile ソープディスペンサー ハンドソープ 自動 泡 吐出量3段階調節 充電式 防水 詰め替え 400ml 大容量 壁掛けUmimileユミマイルAm…

複数のライブラリを含むPackageをSwiftPMで利用する方法。

環境 Xcode 13.2.1 Swift 5.5.2 やりたいこと The Composable Architecture や Firebase iOS SDK のように、XcodeのPackage Dependencies経由で入れるとこんな感じで複数のライブラリが内包されていて、使いたいものを選択して利用するタイプのライブラリ。 …

SwiftでLatoフォントを簡単に使えるLatoSwiftをつくりました。

UIKitやSwiftUI製のアプリで、簡単にLatoフォントを扱えるようになります。

SwiftPMでAssetsを含んだtargetを別のtargetで呼んでSwiftUI Previewするとクラッシュする。

わけわからんタイトルだけど、そのままなので仕方ない。 環境 Xcode: 13.2.1 Swift: 5.5.2 背景 iOSDC 2021でこの発表をみて、SwiftPM中心のプロジェクト構成にしようとする人は多いだろう。 fortee.jp 自分もその一人で、その中ではまった問題。 SwiftPM中…

2021年買ってよかったもの。

良くて使い続けてるものだけ書いていく。 LGの有機ELテレビ だいたい下記の記事に書いたとおり。ソフトウェアが良くできているので、使っていて不快感が少ない。もちろん発色は最高。 fromatom.hatenablog.com 新しいWindows PC ハチャメチャに古いPCを使い…

「駄目な隣人」の新宿店に行ってきた。

新宿周辺で時間を潰す必要があり、せっかくなので今年の7月にオープンした駄目な隣人に行ってきた。 キャッシュレスのお店で食券をキャッシュレスで買うことになる。店員に声をかけると現金でも払えるらしい。 机の上には生卵、のり、鰹粉、胡椒、ニラがあっ…

あんまりお酒を飲まなくなった。

お酒をあまり飲まなくなった。といっても禁酒をしているわけじゃないし、禁酒する気もない。飲み会には行きたいし、餃子を作ったら「これはビールや」とビールを飲む。 前までは毎日ビール2缶とか飲んでいたけれど、なんとなく「お茶で良いな」となってから…

Amazonブラックフライデーで買ったもの。

今年もブラックフライデーですね。例年、サイバーマンデーのほうが安くなっていて悲しみを得たりしますが、安くならないかもしれないので買うしか無いという戦いを強いられています。 下記ではブラックフライデーセールで購入したものをまとめていますが、セ…