問題タブ [macos-carbon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ アプリケーションのプロセス ID を取得する方法はありますか?
C++ アプリケーションのプロセス ID を取得する方法はありますか? Carbon フレームワークを使用していますが、Cocoa は使用していません…</p>
objective-c - .webloc ファイルの作成
プログラム (Mac OS X 用、Objective-C を使用) を作成しており、プログラムで一連の .webloc ファイルを作成する必要があります。
.webloc ファイルは、Safari のロケーション バーから特定のフォルダに URL をドラッグ アンド ドロップした後に作成される単純なファイルです。
一般的に言えば、Web のある場所を指すファイル システム内にアイテムを作成する方法が必要です。私が理解しているように、Mac OS X では .webloc ファイルを使用する必要があります。
では、有効な URL とタイトルを持つ .webloc ファイルを作成することは可能ですか?
cocoa - 実行中の Mac OS X のバージョンをプログラムで確認するにはどうすればよいですか?
Tiger と Leopard では動作が少し異なるプログラムがあります。実行中の Mac OS XI のバージョンを正確に判断できるシステム コールを知っている人はいますか? ビルド マシンの OS を特定するためのマクロ定義をいくつか見つけましたが、実行中のマシンの OS を特定するのに適したものは何もありません。
ありがとう、ジョー
macos - Mac OS X でプログラムによって DNS サーバー設定を検索する
エンド ツー エンドの SMTP を実行するために使用するクロス プラットフォームの DNS クライアント コードがいくつかあります。Windows では、レジストリを調べることで現在の DNS サーバーの IP アドレスを見つけることができます。Mac では、最初の回答で述べたようにおそらく SystemConfiguration フレームワークを使用できますが、その正確な方法はすぐにはわかりません。
たとえば、SCDynamicStoreCopyDHCPInfo は動的 DHCP 関連データの一部を返しますが、DNS サーバー アドレスは返しません。
macos - 新しいボリュームの相対パスで AliasRecord を解決する
Alias Manager 機能を使用してAliasRecord
作成していますFSNewAlias(fromFSRef, targetFSRef, &aliasRecordHandle)
。私の理解では、結果として得られるエイリアス レコードには、相対パス検索の情報が含まれます ( を基準としたfromFSRef
)。私のユーザーはネットワーク上のホーム ディレクトリとモバイル アカウントを使用しているため、これらのエイリアスはネットワーク上のホーム ディレクトリとモバイル ホーム ディレクトリの間でユーザーのホーム ディレクトリ内のファイルの場所を保持しているようには見えません。オリジナルがネットワーク アカウントの /Network/.../Users/user/Desktop に対応していた場合、対応する /Users/user/Desktop (つまり、モバイル アカウント)を使用しfromFSRef
てエイリアスを解決できるようにしたいと考えています。これは可能ですか?FSResolveAlias(newFromFSRef, aliasRecordHandle, &targetFSRef, &changed)
newFSRef
私が頼った解決策は、エイリアス レコードと相対パスを永続化することです。エイリアスの解決に失敗した場合は、相対パスを使用して新しいエイリアスを作成します。
macos - 長いブロック期間なしで Carbon を使用して WebDAV ボリュームをアンマウントする方法は?
FSUnmountVolumeSync() または FSEjectVolumeSync() を使用して (FSMountServerVolumeSync() でマウントされた) WebDAV ボリュームをアンマウントしようとしています。これまでのところ、20 秒以上ブロックせずにボリュームを確実にアンマウントすることができませんでした。それらがブロックしている間、webdavfs_agent が Console.app で、WebDAV サーバーが応答していないことを訴えているのを見ることができます。ただし、エラーになることはなく、その後 WebDAV ボリュームは常にアンマウントされます。まるで一歩を踏み外したかのようです。
やり方が間違っているのでしょうか、それとも単に OS X の癖/バグなのでしょうか? ドキュメントは、これら 2 つのメソッドの違い、またはそれらが呼び出されるための前提条件に関する限り、かなりあいまいです。
macos - Mac OS X のコマンド ラインでのリソース フォークの編集
Mac OS X は、リソース フォークを使用していくつかのファイルを保存します。リソース フォークを含むファイルを作成する必要があります。問題は、このファイルをコマンド ラインで作成する必要があることです。Mac OS X のコマンド ラインでリソース フォークを使用してファイルを作成する方法を知っている人はいますか?
cocoa - 別のアプリケーションのウィンドウの一意の ID を取得する
私は初心者の Cocoa 開発者で、初めてのアプリケーションを開発しています。Cocoa であろうと Carbon であろうと、任意のアプリケーションの任意のウィンドウから一意の識別子を読み取りたいと考えています。Cocoa アプリケーションは、ウィンドウ ID を AppleScript で使用できるようにします (ただし、適切な Objective C ルートを介してこれを行うためのより良い方法があると確信しています) が、私は Adobe アプリのドキュメントからウィンドウ ID にアクセスしようとしています。これはかなりトリッキーなようです。参照ライブラリで見つけることができるのはHIWindowGetCGWindowID だけです。
「この関数は、ウィンドウの作成時にウィンドウ サーバーによって割り当てられたウィンドウ ID を返します。ウィンドウ ID は通常、他の Carbon 関数では役に立ちませんが、関数など、ウィンドウ ID を必要とする他の Mac OS X 関数で使用できます。 OpenGLで。」
これを使用して、プログラムから ID を取得できますか? それとも、ひとつのアプリ内で使える機能ですか?
誰かが私を正しい方向に向けることができれば、私は永遠に感謝します.
macos - リソースバインドファイルを作成するための AppleScript OSAX 以外の提案
OS X で特定の種類のファイルを作成する必要があります。特定の方法でリソースが必要です。現在、これを行う唯一の方法は、AppleScript と OSAX を使用することです。OSAX は開いてロードし、仕事をして終了する必要があるため、これは実行に約 1 秒の往復で時間がかかります。私はCでそれを行うことを検討しましたが、複数のマシンで動作させるためにアプリを構築する際に常に問題があるように見えるため、それは最後の手段です.
おそらくperl、または理想的にはbashがそれをやってのけることができると考えていましたが、100%確実ではありません. 私がする必要があることの仕様は次のとおりです。
電子メール メッセージとして書式設定されたテキスト ファイルを作成します (RFC 822/RFC 2822 形式)。
テキスト ファイルには、電子メール アドレス (SMTP MAIL FROM アドレスとして使用される) を持つ 'STR' リソース ID 8192 と、受信者アドレス (SMTP RCPT TO アドレスとして使用される) を持つ 'STR#' リソース ID 8192 が必要です。 .
テキスト ファイルの行末は CRLF で、「BODY」リソース ID 8192 を追加する必要があります。
'BODY' リソースには 4 バイトの値が含まれている必要があります。'822' は未指定のボディ タイプ、'7BIT' は 7 ビット データ、'8BIT' は 8 ビット データ、'BINM' はバイナリ データです。
もちろん、テキスト ファイルを作成する部分は単純ですが、それらの 'STR' リソースを詰め込むのは大変です。
c++ - OS XはOutputDebugString()に相当しますか?
既存の Windows MFC コントロールを OS X/Carbon に移植する可能性を検討しています。私のテスト ベッドは、XCode 3 Wizard を使用して生成された C++ Carbon アプリケーションです。
トレース情報をデバッガーまたは OS X の DbgView に相当するものにダンプする簡単な方法を探しています。Win32 では OutputDebugString() を使用します - OS X ではどうですか? Carbon アプリから std::cout に書き込まれたテストを表示する方法はありますか?
ありがとう
ジェリー