기본 MAC OS X 설치 프로그램 (MAC 비 MAC 플랫폼)을 구축하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/283480

  •  08-07-2019
  •  | 
  •  

문제

비 MAC 플랫폼에서 응용 프로그램을위한 기본 Mac OS X 설치 프로그램을 어떻게 구축 할 수 있습니까?

예를 들어 Windows PC와 Java 응용 프로그램이 있습니다. Windows PC가 Apple Installer와 함께 작동하는 설치 프로그램 (.dmg 아카이브 내부)을 빌드하기를 원합니다.

도움이 되었습니까?

해결책

이제 비 MAC 플랫폼에서 기본 Mac OS X 설치 프로그램을 만들 수 있습니다. Louis Gerbarg와 같이 까다로운 비트는 BOM (Bill-of Materials) 파일입니다. 그러나 MKBOM의 오픈 소스 버전 (Joseph Coffland의 OSXBOM 코드 기반)이 다음과 같습니다.

http://hogliux.github.io/bomutils

또한 웹 사이트에는 Linux에서 Mac OS X 설치 프로그램 작성에 대한 단계별 자습서도 있습니다. http://hogliux.github.io/bomutils/tutorial.html ).

우리 회사는이 방법으로 Linux에 Mac OS X 설치 업체를 정기적으로 구축했으며 지금까지 큰 문제가 없었습니다.

다른 팁

다른 사람들이 이미 지적했듯이, 당신은 실제로이 문제에 대한 어려운 해결책을 가지고 있으며, 당신은 당신이 진짜 그렇게해야 할 좋은 이유. 특정 유형의 응용 프로그램에는 Mac OSX 용 설치자가 필요합니다. 이것들은 일반적으로 다음을 포함합니다.

  • 사용자 정의 드라이버를 설치하는 응용 프로그램 (예 : 커널 확장)
  • 응용 프로그램 번들 내에 어떤 이유로 포장 할 수없는 프레임 워크 또는 기타 리소스를 설치 해야하는 응용 프로그램
  • 시스템 서비스로 실행 해야하는 응용 프로그램은 부팅 중에 앱을 시작하려면 일부 사후 스크립트를 실행해야합니다.
  • 사용자 시스템을 변경 해야하는 제대로 작성된 프로그램 (예 : 폴더 또는 무언가에 대한 권한 설정)을 변경해야하며 개발자의 손은 마케팅 부서에 의해 묶여있어 가장 고통스러운 방법으로 응용 프로그램을 배포합니다.

좋아, 마지막 지점은 약간 냉소적이지만 여기서 내 표류를 얻습니까? :) 기본적으로, 일반 최종 사용자 애플리케이션을 작성하는 경우, 응용 프로그램 번들이 포함 된 DMG 파일 인 Mac 사용자가 기대할 수있는 일반적인 방식으로 배포해야합니다. 또는 정말 화려하고 싶다면 DMG 내부의 "애플리케이션"폴더에 별명을 고수하여 사용자가 프로그램을 드래그 할 수 있도록 도와주십시오. 당신이 스스로 설치해야 할 것을 쓰지 않는 한 ~ 안으로 단순히 시스템이 아니라 시스템 실행하십시오 시스템은 여기에 설치 프로그램을 사용할 이유가 없습니다. 또한 이미 완전히 기능하는 Java JRE가 포함 된 OSX라는 점을 명심하십시오. 따라서 설치 프로그램이나 그와 비슷한 내용에 JRE를 포장하는 것에 대해 걱정할 필요가 없습니다.

이 질문을하기 위해 제대로 꾸짖 었으므로 소프트웨어가 위 카테고리 중 하나에 속한다고 가정하여 답변하겠습니다. 실제로, 가장 좋은 방법은 Vise Installer와 같은 상업용 솔루션을 사용하는 것입니다 (다시 한번,이 도구로 만든 제품을 설치할 때 대부분의 Mac 사용자가 테러로 반동 할 것이라고 확신 할 수 있습니다). 여기서 찾고있는 일을 정확하게 수행하려면 기본적으로 단일 설치 프로그램 파일에서 지원하려는 다양한 플랫폼을 구축하는 크로스 플랫폼 설치 프로그램을 만듭니다.

다시 말하지만, 여기서 가장 좋은 방법은 해당 플랫폼의 사용자가 가장 편안한 일을하는 것입니다 (질문에 대한 모든 응답은 설치자를 만들지 말 것을 촉구하는 이유입니다). 그러나 실제로 설치 프로그램을 만들어야한다면 사용해야합니다. -크로스 플랫폼 프레임 워크; Windows 사용자는 표준 MSI 설치 프로그램이 제시 될 때 집에서 가장 많이 느끼고 Mac 사용자는 Apple 설치 프로그램 PKG를 통해 집에서 가장 느끼게됩니다. 그러나 Packagemaker 프로그램은 악명 높게 제한되어 있어야하므로 사용해야합니다. 빙산 대신에. 이것은 2 개 (또는 그 이상) 별도의 설치 업체 후에 경향이 있어야하지만 소프트웨어를 요구할 정도로 복잡하다면 편안함을 위해 희생을 기꺼이 만들어야합니다. 사용자의.

Windows에서 .dmg를 만드는 것은 어렵지만 다른 사람들이 언급 한 것처럼 지퍼 할 수있는 .app 파일 구조를 만들 수 있습니다. 정기적 인 .pkg가 그것을 자르지 않고 대화 상자, 사전 설치 점검 등을 제공하려는 경우가 있습니다. BitRock InstallBuilder, 다른 플랫폼에서 Mac, Linux, Windows, Solaris 용 설치 프로그램을 구축 할 수 있습니다.

그래서 몇 가지 빠른 질문이 있습니다.

먼저, 왜 설치 프로그램을 원하십니까? 대부분의 MAC 사용자는 드래그 설치된 앱을 선호합니다. Mac OS X 특정 코드를 작성하지 않는 경우 응용 프로그램 지원 또는 LaunchDaemons와 같은 특별 장소에 비트를 배치해야한다고 상상하기 어렵습니다. 한 폴더에 들어간 모든 것을 가정하면 설치 프로그램을 전혀 귀찮게하는 이유는 무엇입니까?

둘째, Mac에서 Mac Installer를 구축하는 것이 왜 문제입니까? 분명히 당신은 앱을 테스트하기 위해 주변에 매킨토시를 가지고 있습니다 (Mac에서 테스트하지 않고 Mac 용으로 맹목적으로 배송하는 것은 아닙니다.)

좋아, 실제로 PC에 실제로 이것을 빌드할만한 충분한 이유가 있다고 가정하면 쉽지 않은 비트가 있습니다. 기본적으로 .pkg는 많은 텍스트 스크립트, 로컬 로이션, 아카이브 파일 (archive.pax.gz) 및 자료 청구서 (Archive.bom)입니다.

빌드간에 많은 변경 사항이 없다고 가정하면 Mac에서 설치 프로그램을 만들고 BOM 및 PAX.GZ를 재건하고 기존 .pkg로 교체 한 다음 몇 가지 메타 데이터를 배치 할 수 있습니다. PAX는 처리하기에 충분히 쉬워야합니다 (PAX는 표준 아카이브 형식입니다). 그러나 BOM 파일은 공개적으로 문서화되어 있다고 생각하지 않기 때문에 BOM 파일은 약간 까다로울 수 있습니다. 다윈의 일부 (OpenSource 아님). 따라서 BOM 파일을 만들기 위해이를 알아 내고 사용자 정의 도구를 작성해야합니다.

다시 말해, 이것은 많은 양의 작업 일 가능성이 높습니다.

Mac에 앱을 설치하는 일반적인 방법은 응용 프로그램 폴더로 앱을 드래그하는 것입니다. 대부분의 프로그램은 앱이 포함 된 DMG와 응용 프로그램 폴더에 대한 상징적 링크로 제공됩니다. 왜 다른 방법으로 원하십니까? 훌륭한 Mac 응용 프로그램을 구축하려면 Mac을 생각해야합니다! 외관과 느낌은 특히 Mac 사용자에게 매우 중요합니다.

BOM 파일을 읽으려면이 코드를 확인하십시오. https://cauldrondevelopment.com/svn/osxbom/trunk

모든 것을 하나의 항아리 파일에 넣고 지퍼에 추가하십시오. 완료.

그러나 진지하게, 먼저 테스트하지 않고 Macintosh 사용자에게 응용 프로그램을 배포하고 싶습니까? 당신은 어떤 행성에 있습니까!?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top