開発– category –
-
【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/09/16 更新] Xcodeが対応しているSwiftのバージョン
アプリの動作環境や、対応OSバージョンに制限があるライブラリ(フレームワーク)等の要件から、時には古いバージョンのXcodeを使用せざるを得ない状況も生じます。 そうした旧バージョンのXcodeを利用する際、どのSwiftの言語バージョンに対応しているの... -
FlutterでMacアプリをビルドする
Flutterでデスクトップアプリが作れるようになった点について、気になるポイントをいくつか確認しました。この記事ではビルド方法についてです。 App Store Connectへの登録 AppStoreで配布する場合は、App Store Connectでアプリの登録などを行います。Ap... -
FlutterでMacアプリのメニューバーを作る
Flutterバージョン3.0から、Macのデスクトップアプリケーションが正式にサポートされるようになりました。 私自身、Macアプリケーションの開発者として、Mac特有の機能が実装できるかに興味を持ちました。Macらしい機能の最たるものの1つがメニューバーだ... -
Flutter 3.0へのアップグレード
macOSのデスクトップアプリの開発が正式に対応されたFlutter 3.0がリリースされました。私自身、Macアプリの開発者として、このニュースは大変興味深いものでした。私の環境にインストールされていたFlutterをアップグレードしてみました。この記事は、こ... -
Ubuntu Server のシステム更新
Ubuntu Server に限らずですがシステム運用では、他のOSと同様にセキュリティアップデートの適用など、可能な限り最新版をインストールしていくことが重要だと思います。 筆者は内部で使用しているいくつかのシステムをHyper-V上に構築した仮想マシンにUbu... -
ARKitの物理シミュレーション
ARKitは物理シミュレーション機能を持っています。 アプリ内で動的に作成したモデルでも、USDZファイルから読み込んだモデルでも、物理情報やコリジョンの設定をすれば、重力も適用される物理シミュレーションが利用できます。 ARKitが持っている力は衝撃... -
ARKitでコリジョンとアニメーション
執筆中の「基礎から学ぶARKit」のCHAPTER 8ではコリジョンについて解説します。 コリジョンは仮想コンテンツが別のコンテンツやシーン再構築によって構築されたメッシュとの衝突したときにイベントが発生する機能です。アプリはイベントを拾って、色々な処... -
基礎から学ぶ ARKit
ARKitはiPhoneやiPadを使ったAR(拡張現実)アプリを作るためのフレームワークです。 ARを使うとカメラで映る映像をリアルタイムに解析して、物理空間がどのようになっているかを認識し、3Dの仮想コンテンツをコンテンツを配置して、合成した映像を作り出... -
システム整合性保護(SIP) の再有効化手順
macOSに組み込まれているシステム整合性保護 (SIP: System Integrity Protection) 機能を一時的に無効化して、再度有効化するときの手順についてです。T2チップなどがなく、昔のmacOSでは単純に有効化するだけでも問題なかったと思うのですが、MacBook Pro... -
ARKitで物体検出のためのスキャンの背景
ARKitで物体検出を行うためには、先に物体をスキャンしておいて、特徴点データを作っておく必要があります。 よりよいスキャンのためにはどうするのが良いのか?については、ARKitのサンプルコードの中で次のような記載があります。 - Light the object wi... -
IOレジストリから見たキーボードの接続方法は本当に有線接続?
ここ最近のメインMacはMacBook Proなのですが、キーボードはHHKB Professional Hybrid Type-Sを使っています。このキーボードはUSB Type-Cでの有線接続の他に、Bluetooth接続で最大4台のMac/PCとペアリング可能です。このような有線と無線のインターフェイ... -
macOSでのデバイス通信プログラムの開発と仮想マシン
Macに接続するUSB機器と通信するプログラムを開発するときに、OSのバージョンによってコードやバイナリが異なるときにデバッグ環境をどうするかというお話しです。 デバッグ環境の用意 OSのバージョンによってデバイスと通信する方法が異なることがありま... -
Parallels Desktop 17.1 + Apple Silicon + Montereyゲストを試してみた
Paralles Desktop 17.1 で M1 Mac でも macOS をゲストOSとして使えるようになりました。どんな感じになるのか試してみました。 結果を先に行ってしまうと、普通のデスクトップOSの仮想化として使うには時期尚早な感じが否めませんでした。 仮想マシンの作...