📝 Update Korean docs as upstream
[ci skip]
This commit is contained in:
parent
d7fdb16078
commit
2b7c3735bd
6 changed files with 177 additions and 28 deletions
|
@ -26,7 +26,7 @@ OS X에선 `auto-updater` 모듈이 [Squirrel.Mac][squirrel-mac]를 기반으로
|
|||
서버 사이드 요구 사항은 [서버 지원][server-support]을 참고하세요.
|
||||
|
||||
**참고:** Mac OS X에서 자동 업데이트를 지원하려면 반드시 사인이 되어있어야 합니다.
|
||||
이것은 `Squirrel.Mac`의 요구사항입니다.
|
||||
이것은 `Squirrel.Mac`의 요구 사항입니다.
|
||||
|
||||
### Windows
|
||||
|
||||
|
|
|
@ -14,11 +14,14 @@
|
|||
* `event` String
|
||||
* `callback` Function
|
||||
|
||||
OS X의 네이티브 알림을 구독하며, 해당하는 `event`가 발생하면 `callback`이 호출됩니다.
|
||||
OS X의 네이티브 알림을 구독하며, 해당하는 `event`가 발생하면 `callback`이
|
||||
`callback(event, userInfo)` 형태로 호출됩니다. `userInfo`는 알림과 함께 전송되는
|
||||
사용자 정보 딕셔너리를 포함하는 객체입니다.
|
||||
|
||||
구독자의 `id`가 반환되며 `event`를 구독 해제할 때 사용할 수 있습니다.
|
||||
|
||||
이 API는 후드에서 `NSDistributedNotificationCenter`를 구독하며, `event`에서 사용
|
||||
가능한 값은 다음과 같습니다:
|
||||
이 API는 후드에서 `NSDistributedNotificationCenter`를 구독하며, `event`의 예시
|
||||
값은 다음과 같습니다:
|
||||
|
||||
* `AppleInterfaceThemeChangedNotification`
|
||||
* `AppleAquaColorVariantChanged`
|
||||
|
|
|
@ -895,6 +895,10 @@ win.webContents.on('did-finish-load', () => {
|
|||
|
||||
`WebContents`객체들은 다음 속성들을 가지고 있습니다:
|
||||
|
||||
### `webContents.id`
|
||||
|
||||
이 WebContents의 유일 ID.
|
||||
|
||||
### `webContents.session`
|
||||
|
||||
이 webContents에서 사용하는 [session](session.md) 객체를 반환합니다.
|
||||
|
|
|
@ -8,7 +8,7 @@ Electron 소스 코드가 중단점을 통해 순차적으로 쉽게 디버깅
|
|||
## 요구 사항
|
||||
|
||||
* **Electron의 디버그 빌드**: 가장 쉬운 방법은 보통
|
||||
[Windows용 빌드 설명서](build-instructions-windows.md)에 명시된 요구사항과 툴을
|
||||
[Windows용 빌드 설명서](build-instructions-windows.md)에 명시된 요구 사항과 툴을
|
||||
사용하여 스스로 빌드하는 것입니다. 물론 직접 다운로드 받은 Electron 바이너리에도
|
||||
디버거 연결 및 디버깅을 사용할 수 있지만, 실질적으로 디버깅이 까다롭게 고도의
|
||||
최적화가 되어있음을 발견하게 될 것입니다: 인라인화, 꼬리 호출, 이외 여러 가지
|
||||
|
|
|
@ -20,13 +20,32 @@ Electron은 v0.34.0 버전부터 앱 패키지를 Mac App Store(MAS)에 제출
|
|||
앱 스토어에 어플리케이션을 제출하려면, 먼저 Apple로부터 인증서를 취득해야 합니다. 취득
|
||||
방법은 웹에서 찾아볼 수 있는 [가이드][nwjs-guide]를 참고하면 됩니다.
|
||||
|
||||
### Team ID 얻기
|
||||
|
||||
어플리케이션에 서명하기 전에, 먼저 개발 계정의 Team ID를 알아야 합니다. Team ID를
|
||||
알아보려면 [Apple Developer Center](https://developer.apple.com/account/)에
|
||||
로그인한 후, 사이드바의 Membership을 클릭합니다. Team ID는 Membership Information
|
||||
섹션의 팀 이름 밑에 위치합니다.
|
||||
|
||||
### 앱에 서명하기
|
||||
|
||||
Apple로부터 인증서를 취득했다면, [어플리케이션 배포](application-distribution.md)
|
||||
문서에 따라 어플리케이션을 패키징한 후 어플리케이션에 서명 합니다. 이 절차는 기본적으로
|
||||
다른 프로그램과 같습니다. 하지만 키는 Electron 종속성 파일에 각각 따로 서명 해야 합니다.
|
||||
준비 작업이 끝난 후, [어플리케이션 배포](application-distribution.md) 문서에 따라
|
||||
어플리케이션을 패키징한 후 어플리케이션에 서명 합니다.
|
||||
|
||||
첫번째, 다음 두 자격(plist) 파일을 준비합니다.
|
||||
먼저, Team ID를 키로 가지고 있는 어플리케이션의 `Info.plist`에 `ElectronTeamID` 키를
|
||||
추가해야 합니다:
|
||||
|
||||
```xml
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
...
|
||||
<key>ElectronTeamID</key>
|
||||
<string>TEAM_ID</string>
|
||||
</dict>
|
||||
</plist>
|
||||
```
|
||||
|
||||
그리고, 다음 두 자격 파일을 준비해야 합니다.
|
||||
|
||||
`child.plist`:
|
||||
|
||||
|
@ -52,13 +71,16 @@ Apple로부터 인증서를 취득했다면, [어플리케이션 배포](applica
|
|||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.temporary-exception.sbpl</key>
|
||||
<string>(allow mach-lookup (global-name-regex #"^org.chromium.Chromium.rohitfork.[0-9]+$"))</string>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<string>TEAM_ID.your.bundle.id</string>
|
||||
</dict>
|
||||
</plist>
|
||||
```
|
||||
|
||||
그리고 다음 스크립트에 따라 어플리케이션에 서명합니다:
|
||||
`TEAM_ID` 부분은 Team ID로 치환하고, `your.bundle.id` 부분은 어플리케이션의 Bundle
|
||||
ID로 치환해야 합니다.
|
||||
|
||||
그리고 다음 스크립트를 통해 어플리케이션에 서명합니다:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
@ -101,22 +123,6 @@ productbuild --component "$APP_PATH" /Applications --sign "$INSTALLER_KEY" "$RES
|
|||
사용할 수 있습니다. 참고로 업로드하기 전에 [레코드][create-record]를 만들었는지
|
||||
확인해야 합니다.
|
||||
|
||||
### `temporary-exception`의 사용처 설명
|
||||
|
||||
어플리케이션을 샌드박싱할 때 `temporary-exception` 엔트리가 자격에 추가되며
|
||||
[어플리케이션 샌드박스 임시 예외 적용][temporary-exception] 문서에 따라
|
||||
왜 이 엔트리가 필요한지 설명해야 합니다:
|
||||
|
||||
> Note: If you request a temporary-exception entitlement, be sure to follow the
|
||||
guidance regarding entitlements provided on the iTunes Connect website. In
|
||||
particular, identify the entitlement and corresponding issue number in the App
|
||||
Sandbox Entitlement Usage Information section in iTunes Connect and explain why
|
||||
your app needs the exception.
|
||||
|
||||
아마 제출하려는 어플리케이션이 Chromium 브라우저를 기반으로 만들어졌고, 또한
|
||||
멀티-프로세스 구조를 위해 Mach 포트를 사용하는 것도 설명해야 할 수 있습니다. 하지만
|
||||
여전히 이러한 문제 때문에 어플리케이션 심사에 실패할 수 있습니다.
|
||||
|
||||
### 어플리케이션을 심사에 제출
|
||||
|
||||
위 과정을 마치면 [어플리케이션을 심사를 위해 제출][submit-for-review]할 수 있습니다.
|
||||
|
|
136
docs-translations/ko-KR/tutorial/windows-store-guide.md
Normal file
136
docs-translations/ko-KR/tutorial/windows-store-guide.md
Normal file
|
@ -0,0 +1,136 @@
|
|||
# Windows 스토어 가이드
|
||||
|
||||
Windows 8부터, 오래되고 좋은 win32 실행 파일이 새로운 형제를 얻었습니다: Universial
|
||||
Windows Platform. 새로운 `.appx` 포맷은 Cortana와 푸시 알림과 같은 다수의 강력한
|
||||
API뿐만 아니라, Windows Store를 통해 설치와 업데이트를 단순화합니다.
|
||||
|
||||
Microsoft는 개발자들이 새로운 어플리케이션 모델의 좋은 기능들을 사용할 수 있도록
|
||||
[Electron 어플리케이션을 `.appx` 패키지로 컴파일시키는 도구를 개발했습니다](http://github.com/catalystcode/electron-windows-store).
|
||||
이 가이드는 이 도구를 사용하는 방법과 Electron AppX 패키지의 호환성과 한정 사항을
|
||||
설명합니다.
|
||||
|
||||
## 기본 상식과 요구 사항
|
||||
|
||||
Windows 10 "기념일 업데이트"는 win32 `.exe` 바이너리를 가상화된 파일 시스템과
|
||||
레지스트리를 함께 실행시킬 수 있도록 만들었습니다. 두 가지 모두 실행 중인
|
||||
어플리케이션과 Windows 컨테이너 안의 인스톨러에 의해 컴파일되는 동안 만들어지며,
|
||||
설치가 되는 동안 Windows가 확실하게 어떤 변경 사항이 운영 체제에 적용되는지 식별할 수
|
||||
있도록 합니다. 가상 파일 시스템과 가상 레지스트리를 페어링 하는 실행 파일은 Windows가
|
||||
원-클릭으로 설치와 삭제를 할 수 있도록 만듭니다.
|
||||
|
||||
더 나아가서, exe는 appx 모델 안에서 실행됩니다 - 이 말은 즉 Universial Windows
|
||||
Platform에서 제공되는 수많은 API를 사용할 수 있다는 이야기입니다. 더 많은 기능을
|
||||
사용하기 위해, Electron 어플리케이션은 숨겨진 UWP 앱과 페어링 하여 `exe`와 같이
|
||||
실행할 수 있습니다 - 이렇게 헬퍼와 비슷하게 실행되고 작업을 실행하기 위해
|
||||
백그라운드에서 작동하며, 푸시 알림을 받거나, 다른 UWP 어플리케이션과 통신하는 역할을
|
||||
합니다.
|
||||
|
||||
현재 존재하는 Electron 어플리케이션을 컴파일 하려면, 다음 요구 사항을 충족해야 합니다:
|
||||
|
||||
* Windows 10 기념일 업데이트 - 엔터프라이즈 에디션 (이 업데이트는 빌드 번호가 14316
|
||||
이거나, 더 높습니다 - 2016년 5월, Windows Insiders Preview 업데이트에 포함되어
|
||||
있습니다)
|
||||
* 64 비트 (x64) 머신과 프로세서, 하드웨어-보조 가상화, 그리고 Second Level Address
|
||||
Translation (SLAT)
|
||||
* Windows 10 SDK, [여기서](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)
|
||||
다운로드할 수 있습니다.
|
||||
* 최소 Node 4 버전 이상 (버전을 확인하려면 `node -v`를 실행하세요)
|
||||
|
||||
그리고 CLI에서 `electron-windows-store`를 설치합니다:
|
||||
|
||||
```
|
||||
npm install -g electron-windows-store
|
||||
```
|
||||
|
||||
## 설정과 준비
|
||||
|
||||
처음 CLI를 실행하기 전에, "Windows Desktop App Converter"를 먼저 설정해야 합니다.
|
||||
이 작업은 약 몇 분 정도 소요됩니다. 하지만 걱정하지 않아도 됩니다 - 이 작업은 딱 한
|
||||
번만 하면 됩니다. Desktop App Converter는 [여기](https://www.microsoft.com/en-us/download/details.aspx?id=51691)에서
|
||||
다운로드받을 수 있고, `DesktopAppConverter.zip`와 `BaseImage-14316.wim` 두 파일을
|
||||
모두 받아야 합니다.
|
||||
|
||||
1. `DesktopAppConverter.zip`의 압축을 풉니다. 그다음 PowerShell을 관리자 권한으로
|
||||
실행하고 압축을 푼 위치로 이동합니다. (실행하는 모든 명령에 "관리자 권한"을
|
||||
적용하려면 `Set-ExecutionPolicy bypass`를 실행하면 됩니다)
|
||||
2. 그리고, `.\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-14316.wim`를
|
||||
실행하여 Windows 베이스 이미지 (`BaseImage-14316.wim`)를 Desktop App Converter로
|
||||
전달하고 설치를 진행합니다.
|
||||
3. 만약 위 명령이 재시작을 요구하면, 기기를 재시작하고 위 명령을 다시 실행시키세요.
|
||||
|
||||
설치가 완료되면, 컴파일할 Electron 어플리케이션 경로로 이동합니다.
|
||||
|
||||
## Electron 어플리케이션 패키지 만들기
|
||||
|
||||
[electron-packager](https://github.com/electron-userland/electron-packager)를
|
||||
사용하여 어플리케이션을 패키징합니다. (또는 비슷한 도구를 사용합니다) 마지막으로 최종
|
||||
어플리케이션에선 `node_modules`가 필요 없으며 그저 어플리케이션의 크기를 늘릴 뿐이니
|
||||
확실하게 지웠는지 확인합니다.
|
||||
|
||||
출력된 파일들은 대충 다음과 같아야 합니다:
|
||||
|
||||
```
|
||||
├── Ghost.exe
|
||||
├── LICENSE
|
||||
├── content_resources_200_percent.pak
|
||||
├── content_shell.pak
|
||||
├── d3dcompiler_47.dll
|
||||
├── ffmpeg.dll
|
||||
├── icudtl.dat
|
||||
├── libEGL.dll
|
||||
├── libGLESv2.dll
|
||||
├── locales
|
||||
│ ├── am.pak
|
||||
│ ├── ar.pak
|
||||
│ ├── [...]
|
||||
├── msvcp120.dll
|
||||
├── msvcr120.dll
|
||||
├── natives_blob.bin
|
||||
├── node.dll
|
||||
├── pdf.dll
|
||||
├── resources
|
||||
│ ├── app
|
||||
│ └── atom.asar
|
||||
├── snapshot_blob.bin
|
||||
├── squirrel.exe
|
||||
├── ui_resources_200_percent.pak
|
||||
├── vccorlib120.dll
|
||||
└── xinput1_3.dll
|
||||
```
|
||||
|
||||
## 명령줄 도구 실행하기
|
||||
|
||||
관리자 권한의 PowerShell ("관리자 권한으로 실행")을 실행하고, 디렉토리 입력과 출력,
|
||||
어플리케이션의 이름과 버전, 마지막으로 `node_modules`를 평탄화시키는 인수들과 함께
|
||||
`electron-windows-store`를 실행합니다.
|
||||
|
||||
```
|
||||
electron-windows-store `
|
||||
--input-directory C:\myelectronapp `
|
||||
--output-directory C:\output\myelectronapp `
|
||||
--flatten true `
|
||||
--package-version 1.0.0.0 `
|
||||
--package-name myelectronapp
|
||||
```
|
||||
|
||||
명령이 실행되면, 도구는 다음과 같이 작동합니다: Electron 어플리케이션을 입력으로 받고,
|
||||
`node_modules`를 평탄화하고 어플리케이션을 `app.zip`으로 압축합니다. 그리고
|
||||
인스톨러와 Windows Container를 사용하여, "확장된" AppX 패키지를 만듭니다 -
|
||||
Windows Application Manifest (`AppXManifest.xml`)와 동시에 가상 파일 시스템과 가상
|
||||
레지스트리를 포함하여 출력 폴더로 내보냅니다.
|
||||
|
||||
확장된 AppX 파일이 만들어지면, 도구는 Windows App Packager (`MakeAppx.exe`)를
|
||||
사용하여 디스크의 파일로부터 단일-파일 AppX 패키지를 생성해냅니다. 최종적으로, 이
|
||||
도구는 새 AppX 패키지에 서명하기 위해 컴퓨터에서 신뢰된 인증서를 만드는 데 사용할 수
|
||||
있습니다. 서명된 AppX 패키지로, CLI는 자동으로 기기에 패키지를 설치할 수 있습니다.
|
||||
|
||||
## AppX 패키지 사용하기
|
||||
|
||||
Windows 기념일 업데이트 (코드네임 Windows 레드스톤)가 아직 모든 일반 사용자에게
|
||||
배포되지 않았기 때문에, 올해까지는 어플리케이션을 Windows Store에 올릴 수 없을 것
|
||||
입니다 - 하지만 개발자 또는 회사 환경에서 `Add-AppxPackage`
|
||||
[PowerShell Cmdlet을 통해](https://technet.microsoft.com/en-us/library/hh856048.aspx)
|
||||
기기에 어플리케이션을 설치할 수 있습니다.
|
||||
|
||||
또 다른 중요한 제약은 컴파일된 AppX 패키지는 여전히 win32 실행 파일이 담겨있다는
|
||||
것입니다 - 따라서 Xbox, HoloLen, Phone에서 실행할 수 없습니다.
|
Loading…
Reference in a new issue