📝 Update Korean docs as upstream

[ci skip]
This commit is contained in:
Plusb Preco 2016-05-19 17:22:51 +09:00
parent d7fdb16078
commit 2b7c3735bd
6 changed files with 177 additions and 28 deletions

View file

@ -26,7 +26,7 @@ OS X에선 `auto-updater` 모듈이 [Squirrel.Mac][squirrel-mac]를 기반으로
서버 사이드 요구 사항은 [서버 지원][server-support]을 참고하세요.
**참고:** Mac OS X에서 자동 업데이트를 지원하려면 반드시 사인이 되어있어야 합니다.
이것은 `Squirrel.Mac`의 요구사항입니다.
이것은 `Squirrel.Mac`의 요구 사항입니다.
### Windows

View file

@ -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`

View file

@ -895,6 +895,10 @@ win.webContents.on('did-finish-load', () => {
`WebContents`객체들은 다음 속성들을 가지고 있습니다:
### `webContents.id`
이 WebContents의 유일 ID.
### `webContents.session`
이 webContents에서 사용하는 [session](session.md) 객체를 반환합니다.

View file

@ -8,7 +8,7 @@ Electron 소스 코드가 중단점을 통해 순차적으로 쉽게 디버깅
## 요구 사항
* **Electron의 디버그 빌드**: 가장 쉬운 방법은 보통
[Windows용 빌드 설명서](build-instructions-windows.md)에 명시된 요구사항과 툴을
[Windows용 빌드 설명서](build-instructions-windows.md)에 명시된 요구 사항과 툴을
사용하여 스스로 빌드하는 것입니다. 물론 직접 다운로드 받은 Electron 바이너리에도
디버거 연결 및 디버깅을 사용할 수 있지만, 실질적으로 디버깅이 까다롭게 고도의
최적화가 되어있음을 발견하게 될 것입니다: 인라인화, 꼬리 호출, 이외 여러 가지

View file

@ -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]할 수 있습니다.

View 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에서 실행할 수 없습니다.