while ループでフラグの更新を待つ時は Task.yield() が便利

Swift の Task.yield() は、非同期タスクから実行を一時停止して、他のタスクが実行されるようにするために利用するAPIです。よきタイミングでスレッドを譲ることで、CPU負荷の高い処理を効率的に実行することができたりします。 developer.apple.com この T…

FCM HTTP v1 API 移行における注意点

Firebase Cloud Messaging を利用してアプリケーションにプッシュ通知を送っている方は既にご存知かと思いますが、 2024年6月20日をもって Firebase Cloud Messaging(FCM)レガシーレジスタAPIとレガシー送信APIの数が削減されます。いくつかのAPIの廃止に…

コンフィグレーション生成のための静的型付き言語「Pkl」を試してみる

Vision Pro で盛り上がる最中、Apple からコンフィグレーションファイルを生成するための静的型付言語「Pkl」がオープンソースで公開されたので軽く触ってみました。 github.com 発音は "Pickle" (「ピックル?ピクルゥ?」 )だそうで、 Pickle と聞くと Py…

Simulator.app の「Stay On Top」をキーボードショートカットで切り替える

この記事は はてなエンジニア Advent Calendar 2023 の 2024年1月15日 の記事です。 developer.hatenastaff.com Xcode を利用したアプリケーション開発では、実装の確認にシミュレータを利用することが多いかと思います。デバッグの際にはシミュレータと Xco…

Swift の Optional パターンを駆使する

こんにちは。2023年7月からはてなのマンガアプリチームで働いています、id:fxwx23 です。 はてなに入社する前は React Native (TypeScript) や Go などを書くことが多かったため、 Swift を書くことは2021年の夏以来となります(!)。Swift を書くことを本…