0

Web ページを解析し、画像を見つけて、マシンにダウンロードする非常に単純なスクリプトを作成しました。このスクリプトは、画像が変更されているかどうかを 5 分ごとに確認し、変更されている場合は、新しい画像をダウンロードします。これまでのところ、これをスタンドアロンの py2app にすることに成功しており、正常に動作します。私はそれを実行でき、それはそのことを行います。いくつかの質問を聞きたいんです:

このアプリは、おそらくバックグラウンド アプリケーションとして使用するのが最適です。LSBackgroundOnly=True次のように使用して、py2app setup.py でそれを指定できます。

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['downloader.py']
DATA_FILES = []
plist = dict(LSBackgroundOnly=True)
OPTIONS = {'argv_emulation': True, 'plist': plist}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

今。私が本当にやりたいことは、このアプリを Mac のログイン項目に追加することです。py2appでこれを行う方法はありますか? ドキュメントには何も見つかりませんでした。ただし、通常の Obj-C アプリでこれを行う方法については、Apple 開発者向けドキュメントを参照してください。 ログイン項目の追加

ただし、私の Objective C の知識はせいぜい限られているため、これに対する適切な解決策を見つけるのに苦労しました。助けてくれてありがとう。

4

2 に答える 2

2

私はpy2appに精通していませんが、アプリケーションバンドルを作成する場合、プロセスは簡単です。

ターミナルでこれを実行するだけです:

sudo defaults write \
    /Library/Preferences/loginwindow \
    AutoLaunchedApplicationDictionary -array-add \
    '{ Path="/Applications/YourApp.app"; }'

アプリケーションがインストールされている名前とパスに置き換えます。

于 2013-01-31T00:44:09.410 に答える
0

ログイン時にアプリを開くにはどうすればよいですか? は、Objective-C からアプリケーションを起動時間に追加する方法を示しており、PyObjC を使用して Python から同じメカニズムを使用できます。

あなたのアプリケーションが既に PyObjC を使用していない限り、(非推奨の) Applescript の方法を使用して同じことを行うのはおそらく簡単です。次のスクリプトは、現在のユーザーのログイン項目に Safari を追加します。

tell application "System Events"
make new login item at end of login items with properties {path:"/Applications/Safari.app"}
end tell

subprocess.Popen を使用してアプリケーションから起動できる osascript コマンドライン ツールを使用して、このスクリプトを呼び出すことができます。このスクリプトを 2 回実行すると、アプリケーションがログイン項目に 2 回追加されることに注意してください。これを避けるために、より複雑な AppleScript を使用できます (または、構成ファイルを使用して、アプリをログイン項目に既に追加したかどうかを記憶することができます)。ユーザーがログイン項目からアプリケーションを削除した場合、そのアプリケーションは再読み込みされません)。

于 2013-02-19T16:34:03.783 に答える