쉘 스크립트로 Mac OS X .app를 만드는 방법?


12

몇 가지 자습서를 따르려고했지만이를 얻습니다. PowerPC 오류

이 문제를 어떻게 해결할 수 있습니까? info.plist에 추가했습니다 (방금 다른 응용 프로그램의 파일을 복사하여 붙여 넣었으며 몇 가지 사항을 변경했습니다).

또한 chmod +x myApp스크립트를 실행 가능하게 만들었습니다.

추신 : 나는 엘 캐피 탄을 사용하고 있습니다


오류 메시지가 표시되기 전에 수행 한 작업을 추측 할 수 없습니다. 어느 튜토리얼을 따랐습니까? 어느 단계를 밟았습니까?
nohillside

1
myApp.app라는 폴더를 만든 다음 Contents라는 하위 폴더, MacOS, 다음에 포함 된 myApp 셸 스크립트 #!/bin/bash ; say "Hi" ; exit 0(각각의 명령은 서로 다른 줄에 있고 세미콜론은 없음)를 만들었습니다 .
플레어 고양이

1
실행 비트 세트가있는 bash 스크립트는 실행될 번들에 반드시 배치 할 필요는 없습니다. Finder에서 직접 또는 터미널에서 실행하는 경우 간단히 두 번 클릭하십시오. 응용 프로그램 번들을 정말로 원한다면 AppleScript 또는 Automator를 사용하여 생성하십시오. 후자는 쉽습니다. 쉘 스크립트 실행 조치를 추가하고 코드를 배치하십시오.
user3439894

@ user3439894 게시하기 전에 설명한 방법으로 automater를 시도했지만 앱이 대상 컴퓨터에서 실행되지 않습니다.
플레어 고양이

@ user3439894 글쎄, 어떤 이유로 든 이전 주석을 편집 할 수 없습니다. 오류는 '이 유형의 응용 프로그램은이 컴퓨터에서 지원되지 않습니다.'
플레어 고양이

답변:


21

글쎄, 나는이 간단한 트릭을 사용하여 응용 프로그램에 bash 스크립트를 가지고 있습니다 (그리고 실제로 모든 사람들이 왜 "Contents"폴더, info.plist를 만들거나 Automator 또는 Platypus를 사용하는 것처럼 복잡한 솔루션을 시도하는지 이해하지 못합니다 .. ????) : "YourApplication.app"라는 이름의 폴더를 만듭니다. bash 스크립트 파일을 가장 적합한 방법 (Finder, terminal 등)으로이 폴더에 직접 넣으십시오. bash 스크립트는 물론 실행 가능해야합니다 (필요한 경우 chmod + x 사용). 다른 폴더 나 파일이 필요하지 않습니다 (물론 스크립트 내에서 다른 스크립트 나 실행 파일을 호출해야 할 때까지). 트릭은 응용 프로그램 폴더와 이름이 정확히 동일하지만 확장자가없는 스크립트의 이름을 지정하는 것입니다. 여기에 설명 된 경우 스크립트 파일의 이름은 "YourApplication"이어야합니다. 그게 다야 ! Snow Leopard부터 Mavericks까지 Mac OS x에서 작동합니다. 누구든지 최신 OS 버전을 사용 해보고 말해 줄 수 있다면.

참고 : 스크립트 , 그렇지 않으면 실행되지 않습니다, 크기가 최소 28 바이트 여야합니다. 최소 크기를 달성하기 위해 빈 줄로 채워질 수 있습니다. 또한 스크립트의 첫 번째 줄은 shebang이어야합니다. 예를 들어 #!/bin/bash또는 #!/bin/perl.


줄을 더 추가하면 스크립트에 줄이 충분하지 않은 경우 메시지가 표시됩니다.
Pierre Lagarde

중요한 누락 정보를 포함하도록 귀하의 답변을 편집하여 투표했습니다.
user3439894

정정 및 투표에 감사드립니다 ... 너무 오랫동안 사용하여 28 바이트가 필요하다는 것을 잊어 버렸습니다 ... 물론 작은 스크립트가 없습니다 : D
Pierre Lagarde

1
방금 macOS Sierra에서 이것을 테스트했으며 거기에서도 작동합니다.
user3439894

1
@FlareCat 사실, 방금 확인한 결과 기존 통역사와 함께하는 shebang이 할 것이라고 생각합니다 (펄로 시도). 다른 언어를 시도했다면;) 만 알려주십시오.
Pierre Lagarde

7

간단한 셸 스크립트 인 경우 응용 프로그램 번들로 래핑 할 필요가 없습니다. 스크립트 자체를 두 번 클릭 할 수 있습니다. 그러나 사용자 정의 아이콘 또는 이와 유사한 것을 가질 수는 없습니다.

간단한 스크립트를 래핑 할 수있는 몇 가지 도우미가 있다고 생각하지만, 내가 경험 한 유일한 것은 Platypus 입니다. O 리디렉션 등


오리너구리는 좋아 보이지만 수동으로 수행하는 방법을 아는 것이 좋습니다.
플레어 고양이

1
오리너구리를 테스트하고 내가 원하는 방식대로 작동합니다! 제안 해 주셔서 감사합니다.
플레어 고양이
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.