問題タブ [nsworkspace]
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.
objective-c - ObjC を使用して Mountain Lion のバンドル コンテンツを明らかにする
を使用して Mountain Lion でバンドルの内容を表示するにはどうすればよい[NSWorkspace selectFile:nil inFileViewerRootedAtPath:pathEndingWithDotBundle]
ですか? つまりpathEndingWithDotBundle
、ベース名が「folder.bundle」のようなパスです。この方法でこのメソッドを呼び出すと、ターミナルが開き、理由がわかりません...
xcode - [NSWorkspace fileLabels]からFinderラベルのローカライズされた名前を取得するにはどうすればよいですか?
[NSWorkspace fileLabels]を使用すると、Finderラベルの名前の配列が表示されます。これらの名前は常に英語です。それらをローカライズする(または取得する)方法は?
cocoa - cocoa Mac OSX10.5で別のアプリケーションを強制終了する方法
私はこのタスクを実行しました。自分のアプリケーションから別のアプリケーションを強制終了する必要があります。問題は、他のアプリケーションに終了確認ダイアログがあることです(保存する重要なデータはなく、ユーザーが終了する意思を確認するだけです)。
10.6以降では、以下を使用します。
/li>しかし、<10.6では、この一般的に使用されるApple Event:
強制終了できません!!!
それで、あなたは何を使うことができますか?
cocoa - NSWorkspace launchApplication:showIcon:autolaunch: - 自動起動フラグを確認するには?
この投稿で推奨されているように、ログイン項目を実装しました。NSWorkspace
ヘルパー アプリでは、 methodを使用してメイン アプリを起動し、自動起動パラメーターlaunchApplication:showIcon:autolaunch:
に送信します。YES
問題は次のとおりです。開始ツールチップを表示しないように、アプリケーションが自動起動されたかどうかを確認する必要があります。私が見つけた唯一のバリアントは[[NSUserDefaults standardUserDefaults] boolForKey:@"autolaunch"]
で、常に返されますNO
。
この問題は起動引数を使用して解決できますが、残念ながら、サンドボックスもそれらをカットします。
見逃したものはありますか?
objective-c - NSWorkspace selectFile:inFileViewerRootedAtPath: が初めて呼び出されたときに機能しない
サンドボックス化された Cocoa アプリがあります。[[NSWorkspace sharedWorkspace] selectFile:path inFileViewerRootedAtPath:path]
Finderウィンドウを呼び出さないと、最初に呼び出されることに気付きました。Finder.app が前面に表示されます (メニュー バーが Finder に変わります) が、それ以外は何も起こりません。
アプリを前面に戻し、再度 Finder でファイルを選択すると、Finder ウィンドウが開き、期待どおりにファイルが選択されます。@""
同じことを2番目の引数としてこれを試しました。
Finder ウィンドウがすでに開いている場合、すべてが期待どおりに機能します。
他の誰かがこの問題を見たことがありますか? 回避策は、すぐに 2 回呼び出すselectFile:...
ことですが、それは正しくないようです。
編集:サンドボックスとは関係ありません。サンドボックスなしで同じ問題。
objective-c - ファインダーを有効にせずに NSWorkspace activateFileViewerSelectingURLs:atFilesDest を使用する
これを使用して、正常に動作する最前面のファインダー ウィンドウで多数のファイルを選択しています。
しかし、ファインダーは私が実際に望んでいないものを前面に出します。
それを行う方法の手がかりはありますか?
objective-c - ユーザーがゴミ箱を空にしたときに通知しますか?
ユーザーがゴミ箱を空にしたときに、私のココア アプリはどのように通知を受け取りますか。これは私がこれまでに持っているものです:
しかし、ユーザーがゴミ箱を空にしても何も表示されない場合。このコードが機能しない理由はありますか?
macos - OS x アプリからブラウザの URL を更新する方法
OS x アプリから URL を開いています。以下のようにしています
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:urlString]];
ボタンアクションでやっています。しかし、ボタンを押すたびに、新しいタブが開かれます。とにかく防ぐことはできますか?私が達成する必要があるのは、URLの新しいタブを開くのではなく、すでに開いている場合はタブを更新することです。それは達成できますか?
前もって感謝します!
macos - OS X でのアクティブなドキュメントの変更の通知?
NSWorkspace を使用しNSWorkspaceDidActivateApplicationNotification
て、アクティブなアプリケーションがいつ変更されたかを検出しています。NSRunningApplication
通知の userInfo キーから取得します。
アクティブなドキュメントが変更されたときに通知を受け取る必要があります。アクセシビリティ フレームワークのNSAccessibilityDocumentAttribute
キーを使用して、アクティブなドキュメントを取得できますAXUIElementCopyAttributeValue()
。
ポーリング以外でドキュメントの変更をより正確に検出する方法が必要です。複数のウィンドウを使用するアプリケーションもあれば、複数のタブを持つ 1 つのウィンドウを使用するアプリケーションもあります。タブ付きアプリケーションでは、ウィンドウは現在表示されているドキュメントを返します。
アクセシビリティ フレームワークを使用する必要はありません。AppleScript (スクリプト ブリッジ) もウィンドウのドキュメントを取得できるようですが、アクセシビリティ フレームワークはより多くのアプリケーションで動作するようです。
アクティブなドキュメント、アクティブなウィンドウ、アクティブなアプリケーションだけを気にします。現在、システムに焦点を当てているもの。
Sublime Text 2 や Xcode などのアプリケーションでテストしてきました。Sublime は現在選択されているタブを返し、Xcode はアクティブなプロジェクトを返します。
cocoa - NSRunningApplication のウィンドウを取得する方法
実行中のアプリケーションのウィンドウ リストを取得したい。から実行中のアプリケーション リストを取得できます[[NSWorkspace sharedWorkspace] runningApplications]
が、ウィンドウ リストは でしか利用できませんNSApplication
。NSRunningApplication
からに変換する方法NSApplication
、またはウィンドウ リストをより直接的に取得する方法はありますか?