【macOS,Xcode】Dockに表示しないアプリを開発する (INFOPLIST_KEY_LSUIElement)メニューバーに常駐するアプリを開発するときは、Dockにアイコンを表示したくない場合が多い。Info.plistのLSUIElementがtrueのアプリは、Dockから隠れるエージェントアプリとして扱われる。MAC 2026-10-08 2026-10-08
【PlistBuddy】Info.plistの値をコマンドで読み書きするPlistBuddyを使うと、Info.plistなどのplistの値をコマンドで読み書きできる。-cでコマンドを渡す。 $ /usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" Info.plist 1.2.3 $ /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString 1.2.4" Info.plist PlistBuddyは/usr/libexec/にあり、PATHに含まれない。フルパスで実行する。MAC 2026-10-08 2026-10-08
【xcodebuild】MACOSX_DEPLOYMENT_TARGETの優先関係を-showBuildSettingsで確認するMACOSX_DEPLOYMENT_TARGETは、プロジェクト・ターゲット・xcconfig・コマンドラインのどこにでも書ける。複数の階層に書くと、最終的にどの値が使われるのか分かりにくい。xcodebuild -showBuildSettingsを使うと、最終的な値を確認できる。MAC 2026-10-08 2026-10-08
【vtool】バイナリのSDKバージョンを確認して公証エラーに対処する公証がThe binary uses an SDK older than the 10.9 SDK.で失敗したときは、バイナリのビルドバージョンをvtoolで確認する。vtool -show-buildで、バイナリのデプロイメントターゲット(minos)とビルドに使ったSDK(sdk)が表示される。MAC 2026-10-06 2026-10-06
【dmg】作り方まとめdmgは、macOSで使われるディスクイメージのファイル形式。アプリの配布や、ファイルの保管に使われる。dmgは、hdiutilかdiskutil imageで作る。ここでは、dmgの作り方を解説した記事へリンクする。MAC 2026-10-06 2026-10-06
【dmg】配布用のレイアウトにするmacOSアプリを配布するdmgは、開くと、アプリとApplicationsフォルダのショートカットが並び、背景に説明の画像が表示されているものが多い。ユーザーは、アプリのアイコンをApplicationsにドラッグしてインストールできる。このレイアウトは、dmgの中の/Applicationsへのシンボリックリンクと、Finderのウィンドウ設定を保存する.DS_Storeで作る。MAC 2026-10-06 2026-10-06
【diskutil】image createでdmgを作るhdiutil createは非推奨になり、実行すると、diskutil image createへの移行を勧める警告が表示される。diskutil image createは、フォルダやdmgから作るfromと、空のdmgを作るblankの2つのサブコマンドを持つ。MAC 2026-10-06 2026-10-06
【hdiutil】dmgをパスワードで暗号化するdmgに入れたファイルを、パスワードで保護したい場合がある。hdiutil createに-encryptionを指定すると、dmgを暗号化できる。パスワードは、-stdinpassで標準入力から渡す。MAC 2026-10-06 2026-10-06
【hdiutil】空のdmgを作って中身を書き込むフォルダを用意せずに、先に空のdmgを作り、あとからファイルを書き込みたい場合がある。hdiutil createの-sizeで、容量を指定した空のdmgを作れる。作ったdmgをマウントしてファイルをコピーし、配布用には圧縮した形式に変換する。MAC 2026-10-06 2026-10-06
【hdiutil】dmgのファイルシステムを指定するdmgの中には、ファイルシステムが入っている。hdiutil createの-fsで、dmgに作るファイルシステムを指定できる。大文字と小文字を区別するファイルシステムが必要な場合や、HFS+やFAT32など、APFS以外が必要な場合に指定する。MAC 2026-10-06 2026-10-06