2016-06-21 7 views
11

Timingが特定のファイルに費やす時間を知ることができるかどうか不思議です。私は、アクセシビリティのアクセス許可が必要だと理解していますが、その後、画面上にあるものをどのように検出して、与えられたファイルへのパスにアクセスすることができますか?私は興味をそそられていると思います。例えば、私がXcodeにいることは分かっていますが、Xcodeの中で特定のファイルを扱っていることはどうですか?Mac OS Xのタイミングアプリでファイルを追跡する方法

+0

を。 – Droppy

答えて

7

Timingでは動作しません。そのため、自分のアプリがどのように実装されたかを知ることができます。

タイミングは、使用するアプリ、訪問したウェブサイト、編集したドキュメントの3つの主なデータポイントを記録していると主張しています。

アプリケーションの場合、Timingはおそらく、起動されたばかりのアプリケーションに関する情報を含むNSWorkspaceDidLaunchApplicationNotification通知をリッスンします。タイミングが起動されたときに、現在開いているアプリケーションを確認するには、それはおそらく、おそらくこのように、システムイベントから非バックグラウンドプロセスをチェック:

osascript -e 'tell application "System Events" to get name of (processes where background only is false)' 

(出典Get list of running Apps on Mac OS X in Bash?)の歴史については

、タイミングはHTML5を使用する場合がありますSafariのHistory API(Timingがこの機能でどのブラウザをサポートしているかわかりません)、Charles Proxyのようなアプローチをとり、送受信されるパケットとリクエストを監視します。タイミングは管理者権限が必要かどうかによって実装が異なる場合があります。

ドキュメントの場合、Timingはコメントで提案されたDroppyとしてlsofコマンドを使用するか、Appleインターフェイスの1つを使用することがあります。 Pre-El Capitan、Appleは最近の文書をパス~/Library/Preferences/com.apple.recentitems.plistのplistファイルにリストアップしました。エルキャピタンより新しいMacOSのバージョンでは、mdfindコマンドを使用して、2つの日付の間に変更されたファイルを見つけるためにkMDItemContentModificationDate値を指定することができます:おそらくlsof` `と同じAPIを使用して

mdfind -onlyin $HOME '((kMDItemContentModificationDate > $time.now(-60m)) && (kMDItemContentModificationDate < $time.now()))' | grep -v /Library/ 

(出典Alfred