-
開発
SwiftUIで使うウインドウをAppKitで作る
macOS Monterey 12.4 + Xcode 13.4.1時点では、ウインドウ生成に関する処理をSwiftUIで作ろうとすると、WindowGroupとDocumentGroupしか選択肢がなく、シングルウインドウアプリは作れません。また、メニューバーをすべてアプリ側で定義することもできませ... -
開発
SwiftUIでウインドウサイズを設定する方法
SwiftUIを用いてmacOSアプリを開発する際、ウインドウサイズの初期値、最大値、最小値の設定方法を本記事で解説します。 【WindowGroupを使っているとき】 WindowGroupを使っているコードでウインドウを定義するコードが次のようになっているとします。 im... -
開発
SwiftUIでウインドウを閉じたときにアプリを終了する方法
SwiftUIで開発されたmacOSアプリで、ウインドウが閉じられた時点でアプリを終了する方法を本記事では解説します。 【WindowGroupを使っているとき】 プロジェクト作成時に、InterfaceにSwiftUIを指定すると、ウインドウを作成するコードは次のようになって... -
開発
SwiftUIでのタブの作り方
SwiftUIでタブを作るにはTabViewを使用します。本記事ではSwiftUIでのタブの作り方を解説します。 【基本的な構造】 TabViewは次のような構造で使用します。 struct ContentView: View { var body: some View { TabView { // --- ここから --- // タブ内に... -
開発
【SwiftUI】環境設定ウインドウの変換タブのレイアウト調整
MultiTextConverterをSwiftで再実装してみるという試みを行っています。今回は環境設定ウインドウのGUI作成の続きで、変換タブのレイアウト調整です。 経緯はこちらの記事をご覧ください。 【調整内容の確認】 前回の記事で環境設定ウインドウの変換タブを... -
開発
【SwiftUI】環境設定ウインドウのタブを作る
MultiTextConverterをSwiftで再実装してみるという試みを行っています。今回は環境設定ウインドウの見た目の作成です。 経緯はこちらの記事をご覧ください。 【MultiTextConverter 3.6のウインドウ】 MultiTextConverter 3.6では、MultiTextConverterメニ... -
開発
MultiTextConverterのSwift版の開発に興味が湧く
筆者が以前、開発して、フリーウェアとして公開しているMultiTextConverterというmacOSアプリがあります。主要な機能はテキストファイルのテキストエンコーディングの変換と改行文字の変換です。 アールケー開発のWebサイトで公開しています。 最初のバー... -
開発
GitLab CIとxcprettyのロケールエラー解消の手順
GitLabのCIによるXCTest実行中に、特定のエラーによりジョブが失敗する事象が確認されています。 /Library/Ruby/Gems/2.6.0/gems/xcpretty-0.3.0/lib/xcpretty/parser.rb:434:in `===': invalid byte sequence in US-ASCII (ArgumentError) from /Libr... -
開発
GitLab CIが実行するXCTestのテスト環境を指定する
GitLabのCIにXCTestを利用した、テストを設定する際、テスト環境を明示的に指定する必要があります。 テスト対象がmacOSアプリで、Runnerを実行しているマシンがApple Silicon Macである場合には、2つの選択肢があります。ネイティブで実行するのか、それ... -
開発
Marked2を使ってMarkdownからPDFを作る
Gitで管理するドキュメントは、WordやExcelよりもMarkdownで書くことで保守性が高まり、更新作業も容易になります。 しかし、Markdownで作成したドキュメントは、GitLabなどのMarkdownをレンダリングしてくれるサイトでは適切に表示されますが、外部配布向... -
開発
GitLab CIを活用したXCTestの自動化方法
GitLabにはCI(Continuous Integration: 継続的インテグレーション)機能があります。GitLabのCIを使えば、CI専用の別ソリューションを導入せずに、継続的インテグレーションを行えます。 この記事では、コードをGitLabにプッシュした際に、XCTestを起動し... -
開発
[2024/03/06 更新] Xcodeが対応しているSwiftのバージョン
アプリの動作環境や、対応OSバージョンに制限があるライブラリ(フレームワーク)等の要件から、時には古いバージョンのXcodeを使用せざるを得ない状況も生じます。 そうした旧バージョンのXcodeを利用する際、どのSwiftの言語バージョンに対応しているの... -
開発
FlutterでMacアプリをビルドする
Flutterでデスクトップアプリが作れるようになった点について、気になるポイントをいくつか確認しました。この記事ではビルド方法についてです。 【App Store Connectへの登録】 AppStoreで配布する場合は、App Store Connectでアプリの登録などを行います... -
開発
FlutterでMacアプリのメニューバーを作る
Flutterバージョン3.0から、Macのデスクトップアプリケーションが正式にサポートされるようになりました。 私自身、Macアプリケーションの開発者として、Mac特有の機能が実装できるかに興味を持ちました。Macらしい機能の最たるものの1つがメニューバーだ... -
開発
Flutter 3.0へのアップグレード
macOSのデスクトップアプリの開発が正式に対応されたFlutter 3.0がリリースされました。私自身、Macアプリの開発者として、このニュースは大変興味深いものでした。私の環境にインストールされていたFlutterをアップグレードしてみました。この記事は、こ... -
CG
Arnoldのレンダリング設定
Arnoldのレンダリング設定について、デフォルト設定から変更が望ましいと考えられる項目や、一時的に他の値に変更したあとで通常は元の値に戻すべきと思われる設定についてのメモです。 【スレッドの設定】 Arnoldでレンダリングしている際のビューポート... -
CG
Ai Toonシェーダーで漫画っぽくレンダリングする
MayaのAi Toonシェーダーを利用することで、レンダリング結果が漫画風になります。 この記事ではAi Toonシェーダーの使い方を紹介します。 【Ai Toonシェーダーのレンダリング結果】 Ai ToonシェーダーとAi Standard Surfaceシェーダーでのレンダリング結... -
CG
Mayaの学習メモ : レンダラーについて
レンダラーはレンダリングを行うプログラムです。レンダリングは3Dのデータ、たとえば、頂点、エッジ、フェース、アトリビュート、テクスチャー、カメラ(視点)といった情報を元に、2次元の画像を描画する処理です。 Mayaは、さまざまなレンダラーを利用... -
ブログ
「基礎から学ぶARKit」を執筆しました
ARKitを使ったARアプリの開発方法を解説した「基礎から学ぶARKit」を執筆しました。 発売日は2022年4月21日です。 詳細は次の記事をご覧ください。 -
開発
Ubuntu Server のシステム更新
Ubuntu Server に限らずですがシステム運用では、他のOSと同様にセキュリティアップデートの適用など、可能な限り最新版をインストールしていくことが重要だと思います。 筆者は内部で使用しているいくつかのシステムをHyper-V上に構築した仮想マシンにUbu...