그것은 루비 OS X 응용 프로그램을 쉽게 만들 수 있습니다 -이 같은 구조를 만들 :루비 배경 OS X 용 응용 프로그램
xxx.app
└── Contents
├── Info.plist
├── MacOS
│ └── xxx
└── Resources
└── xxx.icns
와 XXX로 실행하는 코드를 삽입. 하지만 실행 시간이 눈에 띄기 때문에이 앱이 백그라운드에서 실행되고 앱이 열릴 때 어떤 메소드를 실행 시키길 원합니다. 그래서 앱을 처음 실행하면 코드가 백그라운드에서 실행되고 다른 시간에 실행하면 앱이 실행됩니다. 이미 백그라운드에 있기 때문에 지정된 메소드 만 실행합니다. 최소 Info.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleExecutable</key>
<string>newTabHere</string>
<key>CFBundleIconFile</key>
<string>newTabHere</string>
<key>LSUIElement</key>
<true/><!-- hides icon from Dock -->
</dict>
</plist>
@tig 이것은 아주 좋은 질문이나 팁입니다. xxx가 세 자리에 있고 "xxx로 실행할 코드 넣기"라고하면 3 가지 모두에 대해 동일한 문자열을 사용해야합니까? – Phrogz
@Phrogz :이 구조는 OS X 응용 프로그램의 표준이므로, 실행 파일과 icns 파일의 이름은'Info.plist'에 지정되어 있으며 그 이름은 다를 수 있습니다. 최소한의 Info.plist 내용을 질문에 추가 할 것이다. – tig
@Phrogz : 내 질문에 대해 - 나에게이 앱을 만드는 것은 일종의 해킹 인 것 같습니다. 앱 아이콘 (숨겨지지 않은 경우)은 프로그램이 완료 될 때까지 Dock에서 튀고 여러 번 연속 실행되는 긴 스크립트가있는 앱을 열면 아무것도하지 마라. 그런 앱에서 러닝 루프를 만드는 것은 어렵거나 불가능한 것처럼 보인다. 루비를 사용하여 OS X 앱을 만들고 싶다면 MacRuby를 사용해야 할 것 같습니다. – tig