2017-01-27 15 views
0

OSX 용 데스크톱 소프트웨어는 Mac App Store 외부에서 pkg 설치 프로그램 패키지 형태로 배포됩니다. 우리가하고 싶은 일은 설치 도중 Safari 확장자과 데스크톱 응용 프로그램 을 설치하는 것입니다.데스크톱 소프트웨어 패키지에서 Safari Extension 설치

단계는 우리가 행한 :

  • 우리는 성공적으로 우리의 데스크톱 응용 프로그램에 대한 PKG 패키지를 생성하기위한 툴 체인이 준비되어 있습니다.
  • 또한 서명 된 safariextz 패키지 만들기가 준비되었습니다.
  • 둘 다 별도로 설치할 수 있지만 Safari 확장 프로그램과 데스크톱 설치 프로그램 패키지를 한 번에 패키지하는 것이 좋을 것입니다.

pkgbuild 또는 productbuild를 사용하면이 작업을 수행 할 수 있습니까?

답변

2

확장이 Safari App Extension 경우, 사파리 자동으로 확장을 감지합니다 (사파리 및 에 표시>환경 설정>확장)만큼 : 확장자가에 위치한

  1. 앱 번들의 적절한 경로 (PlugIns 폴더).
  2. 앱 번들이 /Applications에 설치되었습니다.
  3. 앱 번들이 개발자 ID로 올바르게 서명되었습니다.

그러나 확장 프로그램은 기본적으로 사용하지 않도록 설정되어 있으며 사용자 만 Safari 환경 설정을 통해 사용하도록 설정할 수 있습니다. (open the Safari preferences for the extension에이 API를 query its state에가 있지만 사파리 앱 확장을 가능하게 할 API는 없으며,.)


확장을 사용하여 만들어진 경우 .safariextz을 언급 한 이후 나는 그것이 가정 older method using Safari Extension Builder (), 다음 불행히도 only two permitted methods of installing it are : 확장 갤러리에서 설치 버튼을 클릭하면

  1. .
  2. Safari에서 (.safariextz) 파일을 열었습니다. (사파리가 설치를 확인하라는 메시지가 표시됩니다.)

애플은 경고 :

중요 :을 이들은 사파리 확장을 설치하는 유일한 허용 가지 방법이 있습니다. 확장 프로그램을 다른 방법으로 설치해서는 안됩니다.

사실, 그들은 다른 방법으로 확장 기능을 설치하기 위해 창조적 인 방법을 사용하는 것을 어렵게 만드는 조치를 취했습니다.(그들의 지식이없는 사용자에 확장을 foisting에서 악성 앱/설치를 방지하기 위해 가능성.)

, 당신은 너무 많은 작업없이 사파리 앱 확장에 기존 확장을 변환 할 수 있습니다 말했다

you are strongly encouraged by Apple to do so :

중요 : macOS 10.11.5의 Safari 10.0부터는 Safari 확장이 Xcode의 추가 앱 정보로 생성됩니다. 새로운 확장 기능은 포함 된 macOS 앱에 싸여 있으며 앱 스토어에서 배포되고 판매됩니다. 이 문서에서 설명하는 방법으로 확장을 만든 경우 새 확장 모델로 전환하는 것을 고려하십시오.

(참고 : 사파리 앱 확장을 제공하는 맥 앱 스토어를 통해 앱을 배포 할 필요가 없습니다 - 개발자 ID 서명 된 응용 프로그램도 작동합니다.)이 당신의 장점을 그물 것

Safari App Extensions의 설치 흐름이 훨씬 쉽습니다.