問題タブ [appkit]
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 - Mac OSX 用のソフトウェアを開発する動機は何ですか?
私は自分の Mac が大好きで、将来的には Mac 用のソフトウェアを開発することを考えています。あなたがMac Softwareを作っている理由は何ですか? Macがとてもクールだと思うからですか?それとも、市場はとても面白いですか?私たちの多くは知りたいと思いますよね?
私にとっては、先ほど言ったように、それは Mac のクールさです。私は市場について何も知りません。
objective-c - NSWindowControllerオブジェクトを解放する責任は何ですか?
次のようなウィンドウを表示するとします。
[[TBAddTaskWindowController new] showWindow:self];
TBAddTaskWindowControllerオブジェクトはどこでリリースされる予定ですか?windowWillCloseで[selfrelease]を呼び出す一般的なソリューションはありますか?
他のオブジェクトがウィンドウを「所有」するのは正しくないと感じます。これは、ユーザーがウィンドウを閉じるまで存在することを意図しているためです。
swift - macOS で最前面のアプリケーションから選択したテキストを取得する方法は?
Safari、Pages、TextEdit、Word など、最前面のアプリケーション ウィンドウで現在選択されているテキストを取得し、そのテキストで何かを行う必要があるアプリケーションにすぐに取り組みます。
私の目標は、できるだけ多くのアプリケーションで機能するソリューションを見つけることです。これまでAppleScriptを使用することを考えていましたが、それでは私のサービスで使用できるアプリケーションの量が制限されてしまいます。少なくとも、Safari、Firefox (AppleScript なし?)、Word、Pages、Excel、TextEdit などの一般的なアプリケーションをサポートする必要があります。
また、 clipboardのコンテンツを一時変数に保持してから、テキストのコピー操作 (Cmd-C) をシミュレートし、テキストを取得してから元のコンテンツに戻すことも考えました。これにより、コピー操作時に [編集] メニュー項目が強調表示される可能性があります。シミュレートされており、私には少しハッキーに思えます。IMO このソリューションは、商用製品には十分ではないようです。
また、将来的にいくつかの追加機能を追加するために、選択以上のもの (つまり、Safari や Word のページの完全なコンテンツなど) を取得したいと考えています。
この動作を実装する方法に関するアイデア/詳細はありますか?
ヒントを事前にありがとう!
注意: 少なくとも 10.4 以降をサポートする必要がありますが、理想的には 10.4 よりも古いバージョンもサポートする必要があります。
アップデート:
私が選んだ解決策: 「責任の連鎖」デザイン パターン (GOF) を使用して、3 つの異なる入力方法 (ペーストボード、AppleScript、およびアクセシビリティ) を組み合わせ、利用可能な最適な入力ソースを自動的に使用します。
NSAppleScript の executeAndReturnError: NSAppleEventDescriptor (「記述子」インスタンスとしましょう) を返すメソッドを使用する場合、[descriptor stringValue] メソッドが何かを返すには、AppleScript で「tell」ブロックの外側で「return someString」を使用する必要があることに注意してください。それ以外の場合は何も返されません。
cocoa - NSLevelIndicator - ココア
NSLevelIndicator をどのように使用できますか? 私はこれに非常に慣れていないので、アプリケーションで進行状況バーを使用する方法についてあまり知りません。
objective-c - 画面を記録するためにどのObjective-Cフレームワークを使用する必要がありますか?
pyobjcブリッジとQTKitフレームワークを使用して、PythonスクリプトからiSightからすでに記録しています。
組み込みのiSightの代わりに、画面のビデオをキャプチャするためにどのフレームワーク/デバイス/ ...を使用する必要がありますか?
PS私はLeopard(Snow Leopardではない)を使用しているため、QuicktimeXAPIを自由に使用できません。
objective-c - NSApplicationWillTerminateNotification が受信されない
アプリケーションの終了時に実行する必要があるコードがいくつかあります。次のように、コントローラーを NSApplicationWillTerminateNotification に登録します。
これで、アプリを起動して最初の 20 秒以内に終了すると、 applicationWillTerminate
呼び出されます。後でアプリケーションを終了しても、終了しません。アプリケーションの何がこの動作を引き起こす可能性がありますか? また、コントローラを NSApplication のデリゲートとして設定しようとしましたが、同じ結果が得られました。何か案は?
ありがとう。
ああ、これは 10.5 SDK を使用した XCode 3.2、Snow Leopard 10.6.1 です。デバッグ ビルドとリリース ビルドの両方で発生します。
cocoa - AppKit で UI イベントを無視する
iPhone の UIKit でタッチ イベントを無視したい場合は、次のようにします。
これにより、アプリケーションの状態を変更するユーザーの操作を心配することなく、「無視」呼び出しの間のコードを操作できます。
私の質問は、Mac OS X アプリ (AppKit と UIKit) を作成している場合、どうすればこれを行うことができるでしょうか? 私は基本的に、いくつかの操作中にユーザーを「ロックアウト」したいと考えています(具体的には、ネットワーク呼び出しを行い、状態をすばやく変更すると、大量のネットワーク呼び出しがキューに入れられ、互いにすぐに邪魔になります)。
これを AppKit で手動で管理する必要がありますか? つまり、進行状況バーを表示し、すべての UI 要素を手動で無効にしますか?
objective-c - NSBitmapImageRep での大量のメモリ リーク
CGImageRef から構築された NSBitmapImageRep 内のピクセル データを分析するメソッドがあります。関連するコードは次のとおりです。
CGImageRef と NSBitmapImageRep を適切に解放していることはわかっていますが、-bitmapData の呼び出しは呼び出されるたびに約 2 MB リークし、適切に解放する方法がわかりません。何か案は?
更新:重要な点を 1 つ追加するのを忘れていました。メモリ リークは、フル スクリーン アプリケーションが実行されている場合にのみ発生します。通常の使用では、メモリは問題なく解放されます。