問題タブ [applescript-objc]
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 - 「システムイベント」にアクセスせずにAppleScriptを使用してosxメニュー項目をクリックする方法はありますか?
このようなコードを使用して、メニューのクリックを毎回自分で行うのではなく、自動的に行います。
さて、これを osx ライオン サンドボックスで機能させるために、資格ファイルは次のようになります (これを理解するために多くの調査を行いました)。
そして今、神が望んでいるように、私がアクセスしているため、アップルはこのアプリを拒否しcom.apple.systemevents
ます. System Events
特定のアプリのメニューで特定のメニュー項目をクリックすることを回避する方法はありますか?
objective-c - NSAppleScript の結果として返されたレコードを解釈する方法
NSAppleScript の executeAndReturnError メソッドを使用して、objective-c アプリケーションから AppleScript を実行します。これは、スクリプトの結果を含む NSAppleEventDescriptor オブジェクトを返します。私のスクリプトは、applescript レコードを返します。Objective-C のレコードをどのように解釈しますか? たとえば、返されたスクリプト レコードが { name:"Jakob", phone:"12345678" } の場合、name プロパティで文字列 "Jakob" を取得するにはどうすればよいですか?
applescript - AppleScript入力ボックスのオートコンプリート/提案機能
私は自分が取り組んでいることを追跡するのに役立つアップルスクリプトダイアログを作成しようとしています。それを本当に効果的にするために、私はそれが私のtodoリストからアイテムを検索し、私がlagooglesuggestまたは他のjavascriptオートコンプリート機能を入力するときにそれらを提案するようにしたいです。
プロジェクトまたはタスクの#キーを示すために使用したい@キーの入力をキャプチャしただけで、かなり簡単になると思っていました。その時点で、入力をタスクまたはプロジェクトのリストに一致させ始めました。たとえば、次のように入力するとします。
「@の機能に取り組んだ」
この時点で、@の入力はキーボード入力のキャプチャを開始し、私のToDoリストにあるプロジェクトの1つを提案しようとします。これは私が立ち往生しているところです。入力ボックスにリスナーなどを添付できるはずなのに、そのような機能の例や参照が見つからないようです。
applescript-objc - cocoa-applescript (AppleScriptObjc) アプリケーションで PDF サービスを作成するにはどうすればよいですか?
私は無謀なことに、GMail PDF サービスを使用して独自の電子メール PDF を作成し、同時に AppleScriptObjC を学ぶことにしました。印刷ダイアログから実際にファイルを受け入れることができることを除いて、すべてが機能しています。
これまでのコードは次のようになります: script gmailpdfAppDelegate property parent : class "NSObject"
コンパイルして PDF Services フォルダーに追加すると、このエラーが発生します (アプリの名前は GMail PDF:
The document “Google News.pdf” could not be opened. GMail PDF cannot open files in the “Portable Document Format (PDF)” format.
AppleScriptObjC アプリケーションがファイルを受け入れるようにするにはどうすればよいですか?
applescript-objc - AppleScriptObjC を使用してクラス メソッドを作成するにはどうすればよいですか
ASOC を使用してクラスの +initialize メソッドをオーバーライドしようとしていますが、クラス メソッドをオーバーライドする方法が見つかりません。それは可能ですか?
私が話している言語について混乱を避けるために、ここにいくつかのコードがあります:
xcode - cocoa-applescript (Xcode) での UI のスムーズな変更
フォルダーの各サブフォルダーで bash スクリプトを実行し、実行中にプログレスバーを表示する単純な Xcode cocoa-applescript プログラムを作成しようとしています。
私はいくつかの有益なテキストを表示するためにリンクさNSProgressIndicator
れるべきセットアップを持っています:barStatus
NSTextField
lblStatus
これは、メイン アクションが発生するループです。
すべてが正常に機能しているように見えますが、UI は多少グリッチです。プログレスバーはスムーズに増加するのではなく、各ステップで消えてしばらく表示された後、再び消えます。のテキストはlblStatus
スムーズに変更されます。
ループからを削除すると、物事が完全に失われdelay
ます。ループが終了するまで、(スクリプトが適切に実行されても) UI の変更は行われません。そのため、ループが完了すると、プログレスバーが消えて再び表示されます。
これは、ちらつきのある UI のYouTubeビデオです。
私は何を間違っていますか?xcodeでプログレスバーをスムーズに描画するにはどうすればよいですか?
Xcode アプリを作成するのはこれが初めてであり、Applescript に関する私の知識はやや大ざっぱであることに注意してください。
編集:
同じ関数を処理する関数を呼び出しても、メニュー項目から呼び出された場合 (またはそのメニュー項目にバインドされたキー コンボを使用した場合)、ちらつきのある UI がないことがわかりました。
cocoa - NSMakePoint への ApplescriptObjC 呼び出しで exc_bad_access エラーが発生する
AppleScriptObjC はガベージ コレクションを単独で適切に処理する必要があるため、この問題には本当に困惑しています。
とにかく、このエラーを再現する手順は次のとおりです。
- 新しい Cocoa-AppleScript-Application プロジェクトを作成します
/li>NSMakePoint
プロジェクトのnameAppDelegate.applescript
ファイルの任意の場所に単一の呼び出しを挿入します。ファイルは次のようになります。- アプリケーションを実行する
上記のアプリケーションは起動して警告を表示しますが"X-value of point: 5.0"
(期待どおり)、警告の直後にEXC_BAD_ACCESS
ファイルに次のエラーが表示されてクラッシュしますmain.m
: main.m エラー
したがって、どこかで、もはや存在しないオブジェクトへの呼び出しが行われています。アプリケーションをNSZombies
有効にしてプロファイリングすると、ゾンビにメッセージが送信されたことが確認され、次の追加情報が表示されます:ゾンビ情報
NSMakeRange
代わりにandでも同じことを試しましたが、NSMakeRect
まったく同じ結果が得られます。Core Foundation 関数を呼び出すたびに、この方法でアプリケーションがクラッシュするのではないかと思います。ただし、例として NSTextField の stringValue() を呼び出すと、問題なく動作します。
呼び出しを の外に置いてapplicationWillFinishLaunching_
も解決しません。それで、私は何を間違っていますか?
OSX Lion 1.7.4でXCode 4.3.3を使用しています
編集:さらに調査した結果、 を呼び出す必要がないことに気付きました。AppleScriptNSMakePoint
レコードを作成する{|x|:0, |y|:0}
だけで、NSPoint オブジェクトと同じように機能します。それで解決すると思います。
objective-c - コマンドラインからMACOSXObjectiveCオプションを起動するさまざまな方法
MAC OSXのObjectiveCアプリケーションであるfirst.appがあり、管理者権限を持つNSAppleScriptを使用してシェルスクリプトを実行しています。このスクリプトは、別のObjectiveCアプリケーションであるsecond.appを起動するためにインデントされています。
シェルスクリプトでopenコマンドEx: "open second.app"を使用すると、正常に動作します。
ただし、シェルスクリプトでバイナリEx: "/second.app/Contents/MacOS/second"を呼び出してsecond.appを起動すると、second.appが閉じるまでコントロールはfirst.appに戻りません。second.appを閉じると、first.appが再開します。
上記のように、openコマンドからアプリケーションを起動することと、アプリケーションのバイナリを直接呼び出すことの違いは何ですか?
xcode - ApplescriptObjCを使用してXcodeのスライダーから一定のフィードバックを取得するにはどうすればよいですか?
読み続けるとわかると思いますが、私はApplescriptObjCを初めて使用します。スライダーから一定のフィードバックを取得して、値が1になるとすぐにスクリプトAを実行し、値が0に変更されるとすぐにスクリプトBを実行する方法を考えていました。
私はあなたが次のようなボタンのアクションを持つことができることを知っています:
buttonClicked_(送信者)でアクションを実行しますbuttonClicked_
しかし、スライダーの値の変化を常にチェックし、適切なアクションを実行するものを作成するにはどうすればよいですか?getStringValueFrom()を使用してスライダーをテキストボックスに接続するのと似ていますか?
どんな助けでもいただければ幸いです。ありがとう :)
cocoa - Cocoa-Applescript アプリケーションを URL ハンドラとして登録するには? (Applescript Studio の「開いている場所」に相当)
比較的簡単なはずですが、これについては何も見つからないようです-ここで説明されているように、URLハンドラーをCocoa-Applescriptアプリケーションに追加しようとしています: http://www.macosxautomation.com/applescript/linktrigger /index.html
その例を除いて、Xcode/Cocoa-Applescript アプリケーションでは機能しないようです。
私の AppDelegate.applescript では、applicationDidFinishLaunching_ の後、次のようになりました。
そして、すべての CFBundleURLTypes/CFBundleURLschemes を info.plist に追加しました。
myAppScheme:// リンクをクリックするとアプリがアクティブになるため、後者は機能しているようです。
しかし、ログ ステートメントは起動しません。
私も次のようなことを試しon handleGetURLEvent_(this_URL)
ましたが、この時点ではちょっと推測しています:)
どんな助けでも大歓迎です..