2014-04-07 5 views
3

앱을 만들기 위해 Mac OS X 10.9에서 Python 2.7을 사용하고 있습니다. 이 앱은 파일 이름을 인수로 취한 다음 파일을 열고 파일이 닫힐 때까지 변경 사항을 모니터링합니다.Mac OS X에서 앱의 다중 프로세스 실행

하나의 파일에 잘 작동합니다. 파이썬 코드 .py 파일을 앱으로 변환하기 위해 py2app와 오리너구리를 사용했다.

응용 프로그램의 인스턴스 (프로세스)가 시작되면 (열려는 파일을 클릭하면) 파일이 열립니다. 그러나 동시에 한 번에 두 개의 파일을 열 수 없으므로 앱의 인스턴스로 시작할 수 없습니다. 터미널을 통해 앱의 여러 인스턴스를 시작할 수 있습니다.

그런 다음이 프로그램을 통해 한 번에 여러 파일을 클릭하여 한 번에 여러 파일을 열려면 어떻게해야합니까?

답변

2

이것은 실제로 py2app 문제는 아니지만 플랫폼 작동 방식으로 인해 발생합니다. 사용자가 이미 시스템을 실행중인 응용 프로그램과 관련된 파일을 열려고하면 응용 프로그램의 두 번째 인스턴스가 시작되지 않습니다. 이미 실행중인 응용 프로그램에 새 파일을 열 것을 알리는 이벤트를 보냅니다.

여러 파일을 처리하려면 사용자가 이미 파일을 열려고 할 때 전송되는 OSX 이벤트를 수신하는 데 사용할 수있는 일종의 GUI 이벤트 루프 (PyObjC, Tk 등 사용)를 구현해야합니다 실행중인 응용 프로그램.