はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena
  • Hatena

    はてなブックマーク

    トップへ戻る

    • 総合
      • 人気
      • 新着
      • IT
      • 最新ガジェット
      • 自然科学
      • 経済・金融
      • おもしろ
      • マンガ
      • ゲーム
      • はてなブログ(総合)
    • 一般
      • 人気
      • 新着
      • 社会ニュース
      • 地域
      • 国際
      • 天気
      • グルメ
      • 映画・音楽
      • スポーツ
      • はてな匿名ダイアリー
      • はてなブログ(一般)
    • 世の中
      • 人気
      • 新着
      • 新型コロナウイルス
      • 働き方
      • 生き方
      • 地域
      • 医療・ヘルス
      • 教育
      • はてな匿名ダイアリー
      • はてなブログ(世の中)
    • 政治と経済
      • 人気
      • 新着
      • 政治
      • 経済・金融
      • 企業
      • 仕事・就職
      • マーケット
      • 国際
      • はてなブログ(政治と経済)
    • 暮らし
      • 人気
      • 新着
      • カルチャー・ライフスタイル
      • ファッション
      • 運動・エクササイズ
      • 結婚・子育て
      • 住まい
      • グルメ
      • 相続
      • はてなブログ(暮らし)
      • 掃除・整理整頓
      • 雑貨
      • 買ってよかったもの
      • 旅行
      • アウトドア
      • 趣味
    • 学び
      • 人気
      • 新着
      • 人文科学
      • 社会科学
      • 自然科学
      • 語学
      • ビジネス・経営学
      • デザイン
      • 法律
      • 本・書評
      • 将棋・囲碁
      • はてなブログ(学び)
    • テクノロジー
      • 人気
      • 新着
      • IT
      • セキュリティ技術
      • はてなブログ(テクノロジー)
      • AI・機械学習
      • プログラミング
      • エンジニア
    • おもしろ
      • 人気
      • 新着
      • まとめ
      • ネタ
      • おもしろ
      • これはすごい
      • かわいい
      • 雑学
      • 癒やし
      • はてなブログ(おもしろ)
    • エンタメ
      • 人気
      • 新着
      • スポーツ
      • 映画
      • 音楽
      • アイドル
      • 芸能
      • お笑い
      • サッカー
      • 話題の動画
      • はてなブログ(エンタメ)
    • アニメとゲーム
      • 人気
      • 新着
      • マンガ
      • Webマンガ
      • ゲーム
      • 任天堂
      • PlayStation
      • アニメ
      • バーチャルYouTuber
      • オタクカルチャー
      • はてなブログ(アニメとゲーム)
      • はてなブログ(ゲーム)
    • おすすめ

      大阪万博

    『maiyama4.hatenablog.com』

    • 人気
    • 新着
    • すべて
    • SwiftUI の Text がなぜか省略されてしまう問題とそのレイアウトプロセスのデバッグ - maiyama4's blog

      24 users

      maiyama4.hatenablog.com

      こんにちは、 はてなエンジニア Advent Calendar 2024 の12日目です。昨日は id:tomato3713 さんの Goによる独自スクリプトでテストケースを記述するテスト手法紹介 でした。 最近仕事で iOS アプリを作っていて、 SwiftUI の Text の文字列がなぜか省略されてしまうけど原因がよくわからなくて悲しいということがありました。この記事では、 SwiftUI のレイアウトプロセスの理解を深めつつこの問題をデバッグしていこうと思います。 省略されてしまう Text 実際に文字列が省略されてしまう問題が発生した View はけっこう複雑なものだったのですが、問題が起きる状態を維持しつつめちゃくちゃ単純化すると以下のようになります。 struct ContentView: View { var body: some View { VStack(spacing

      • テクノロジー
      • 2024/12/12 22:10
      • Swift
      • techfeed
      • あとで読む
      • 他のモジュールの型を勝手に protocol に準拠させるのは避けたほうがよい - maiyama4's blog

        3 users

        maiyama4.hatenablog.com

        以下のプロポーザルに書かれている問題を踏んでしまっていたのでまとめておきます。 github.com どういうことか 他のモジュールの型を勝手に protocol に準拠させる というのは例えば以下のような実装のことで、これをできるだけ避けるべきということです。この例では Foundation フレームワークの型である Date 型を勝手に Identifiable に準拠させています。 extension Date: Identifiable { // ... } 気づいたきっかけ 他のモジュールの型を protocol に準拠させるなんていつやるんだと思うかもしれませんが、実は自分が作っているライブラリでまさにそういう実装をしてしまっていて、以下の PR で noppefoxwolf さんに直していただいたことにより気づくことができました。この例では PackagePlugin.Pac

        • テクノロジー
        • 2024/08/14 17:42
        • これからは RSS の時代かと思って iOS / macOS で動く RSS リーダーを作った - maiyama4's blog

          7 users

          maiyama4.hatenablog.com

          タイトルは嘘で、これからは RSS の時代とはとくに思っていないのですが RSS リーダーは作りました。まだリリースしたばかりで不具合がありそうですが、まったく使えないということもないはずなのでよかったら使ってみてください。 iOS 版 : ‎「Riverside - RSS Reader」をApp Storeで macOS 版 : ‎「Riverside for Mac - RSS Reader」をMac App Storeで ソースコードはパブリックにしています。 github.com なぜ作ったか 気に入っているブログやニュースレターをもれなく読みたいと思って Feedly を RSS リーダーとして使っていたのですが、 Pull to Refresh の触り心地がネイティブっぽくないとか、アイコンの色がちょっときつすぎるとかめちゃくちゃどうでもいいことが気になって徐々にアプリを使わ

          • テクノロジー
          • 2024/03/27 10:42
          • iOS
          • 開発
          • Unified Logging の出力をアプリから見られるようにする - maiyama4's blog

            6 users

            maiyama4.hatenablog.com

            Apple プラットフォームのアプリには Unified Logging というログの仕組みがあります。Unified Logging のログはユーザのデバイスに溜まるだけで開発者が見られるわけではないため、サーバサイドアプリケーションのログと比べると役立つ場面は限定的です。しかし、出力しておくとアプリが想定しない挙動をした時の調査などで助かることがあります。 以下の WWDC のセッションではログを不具合解決に役立てる様子が紹介されています。 developer.apple.com 個人的な経験としても、開発しているアプリの TestFlight 版を常用していて変な動作があったらログを見ることがあります。また、例えばデバッグビルドでは再現しなかったり、 QA エンジニアでの端末でのみ発生する不具合などを修正する際にはデバッガで動作を追うことができないのでログが唯一の手掛かりになり得ます

            • テクノロジー
            • 2024/02/07 10:22
            • iOS
            • 開発
            • Core Data / SwiftData の iCloud 同期が実行されていることを可視化する - maiyama4's blog

              3 users

              maiyama4.hatenablog.com

              iOS / macOS アプリのデータベースに Core Data や SwiftData を使うと、 iCloud 同期を無料かつ簡単に使うことができます。ちょっとやってみるレベルの個人開発だと絶対に自分でサーバーを管理したくないので、複数デバイスからまともに使えるアプリを作ろうと思うと iCloud 同期はリーズナブルな選択肢だと思います。 ただし、アプリから iCloud 同期を実行したり停止したりする API はないので、同期の実行は OS のご都合のよいタイミングでよろしくお願いしますという感じになっています。これは iCloud 同期を利用するアプリの開発者としても利用者としてもかなり気になる点で、 ある端末でデータを更新したのにもう一方の端末には反映されていなくて、それぞれの端末でアプリを操作してみたり再起動してみたりしても全然同期されないということが起こったりします。 同期

              • テクノロジー
              • 2024/01/29 19:38
              • Mac のメニューバーで PR の状況を把握する - maiyama4's blog

                52 users

                maiyama4.hatenablog.com

                仕事をしていると PR のレビュー依頼に一瞬で気づきたいので、メールや slack 連携などの通知を設定することになると思う。ただ、それだけだと一瞬で気づいたけど今は手が離せないので10分後くらいに見よう...と思ったまま忘れてしまうということが起こるのでなんらかの工夫が必要で、自分はメニューバーに関係する PR 一覧を表示している。 具体的には、以下のように、 自分がレビューするべき PR の数 自分が出していてマージされていない PR の数 をメニューバーに常に表示し、それをクリックすると PR へのリンクのリストが登場するようになっている(仕事の様子を公開するわけにはいかないのでダミーデータにしています)。 リストは3つのセクションに分けていて、 自分がレビューするべき PR すべて 自分が出してマージされていない PR すべて 自分が出してマージされた PR 直近3件 をそれぞれ表

                • テクノロジー
                • 2024/01/10 11:03
                • github
                • mac
                • あとで読む
                • dev
                • work
                • programming
                • 仕事
                • *あとで読む
                • 個人開発の SwiftUI アプリのアーキテクチャを MVVM から MV にした - maiyama4's blog

                  64 users

                  maiyama4.hatenablog.com

                  概要 SwiftUI Advent Calendar 2023 の 21 日目です。 最近趣味で iOS の podcast クライアントを SwiftUI で作っているのですが、やってみると podcast クライアントはアプリとしてそれなりに難しいことがわかってきました。作っているうちにどんどん状態管理が複雑になってきて、個人開発でなぜこんなにがんばりが必要なんだと思って開発が止まっていたのですが、最近 iOS 17 の登場をきっかけにアプリを全般的に書き直すことにして、同時にアーキテクチャを変えてみました。これにより構成がシンプルになって開発効率が上がり、開発を再開することができました。具体的には、 from: 1画面に1つ ViewModel(ObservableObject)を作り、 View から ViewModel を監視する MVVM to: View から直接 Model

                  • テクノロジー
                  • 2023/12/27 14:33
                  • アーキテクチャ
                  • あとで読む
                  • swift
                  • 開発
                  • iOS アプリのマルチモジュール開発とインターフェースモジュール - maiyama4's blog

                    7 users

                    maiyama4.hatenablog.com

                    この記事は はてなエンジニア Advent Calendar 2023 の 13 日目です。 昨日は シンプルで使いやすいマイクロHTTPフレームワーク『Cask』を紹介するよ - Lambdaカクテル でした。 Scala にもこういう入りやすそうなフレームワークがあるんですね。easy で fun なツールをどんどん使っていきたいし、人生も easy で fun になってほしい。 今日は iOS アプリについて書きます。 概要 アプリケーションを継続的に開発していくことで、コードベースもどんどん大きくなっていきます。とくに iOS アプリではコードベースが大きくなることにより、ビルド時間が長くなってしまい開発効率が悪くなってしまうことがあります。 機能とともにアプリのサイズが増えるのは自然なことなので、その問題への対応としてアプリ自体のサイズを小さくする...というのはなかなか難しいで

                    • テクノロジー
                    • 2023/12/13 19:21
                    • iOS
                    • アプリ
                    • あとで読む

                    このページはまだ
                    ブックマークされていません

                    このページを最初にブックマークしてみませんか?

                    『maiyama4.hatenablog.com』の新着エントリーを見る

                    キーボードショートカット一覧

                    j次のブックマーク

                    k前のブックマーク

                    lあとで読む

                    eコメント一覧を開く

                    oページを開く

                    はてなブックマーク

                    • 総合
                    • 一般
                    • 世の中
                    • 政治と経済
                    • 暮らし
                    • 学び
                    • テクノロジー
                    • エンタメ
                    • アニメとゲーム
                    • おもしろ
                    • アプリ・拡張機能
                    • 開発ブログ
                    • ヘルプ
                    • お問い合わせ
                    • ガイドライン
                    • 利用規約
                    • プライバシーポリシー
                    • 利用者情報の外部送信について
                    • ガイドライン
                    • 利用規約
                    • プライバシーポリシー
                    • 利用者情報の外部送信について

                    公式Twitter

                    • 公式アカウント
                    • ホットエントリー

                    はてなのサービス

                    • はてなブログ
                    • はてなブログPro
                    • 人力検索はてな
                    • はてなブログ タグ
                    • はてなニュース
                    • ソレドコ
                    • App Storeからダウンロード
                    • Google Playで手に入れよう
                    Copyright © 2005-2025 Hatena. All Rights Reserved.
                    設定を変更しましたx