Additional updates to adhere to styleguide

Per @jlord's recommendations.
This commit is contained in:
Greg Gamel 2015-10-16 18:25:30 -05:00
parent b5478eaef7
commit 5e7a30deea

View file

@ -1,26 +1,27 @@
# Mac App Store Submission Guide # Mac App Store Submission Guide
Since v0.34.0, Electron allows submitting packaged apps to the Mac App Store (MAS). Since v0.34.0, Electron allows submitting packaged apps to the Mac App Store
This guide provides information on: how to submit your app & the limitations (MAS). This guide provides information on: how to submit your app and the
of the MAS build. limitations of the MAS build.
## How to Submit Your App ## How to Submit Your App
The following steps introduce a simple way to submit your app to Mac App Store. However, these steps The following steps introduce a simple way to submit your app to Mac App Store.
do not ensure sure your app will be approved by Apple; you still need to read However, these steps do not ensure sure your app will be approved by Apple; you
Apple's [Submitting Your App][submitting-your-app] guide on how to meet the Mac still need to read Apple's [Submitting Your App][submitting-your-app] guide on
App Store requirements. how to meet the Mac App Store requirements.
### Get Certificate ### Get Certificate
To submit your app to the Mac App Store, you first must get a certificate from Apple. You can follow these [existing guides][nwjs-guide] on web. To submit your app to the Mac App Store, you first must get a certificate from
Apple. You can follow these [existing guides][nwjs-guide] on web.
### Sign Your App ### Sign Your App
After getting the certificate from Apple, you can package your app by following After getting the certificate from Apple, you can package your app by following
[Application Distribution](application-distribution.md), and then proceed to signing your app. [Application Distribution](application-distribution.md), and then proceed to
This step is basically the same with other programs, but the key is to sign every signing your app. This step is basically the same with other programs, but the
dependency of Electron one by one. key is to sign every dependency of Electron one by one.
First, you need to prepare two entitlements files. First, you need to prepare two entitlements files.
@ -52,7 +53,7 @@ First, you need to prepare two entitlements files.
</plist> </plist>
``` ```
...and then sign your app with the following script: And then sign your app with the following script:
```bash ```bash
#!/bin/bash #!/bin/bash
@ -78,10 +79,10 @@ codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/$APP
codesign -fs "$APP_KEY" --entitlements parent.plist "$APP_PATH" codesign -fs "$APP_KEY" --entitlements parent.plist "$APP_PATH"
productbuild --component "$APP_PATH" /Applications --sign "$INSTALLER_KEY" "$APP_PATH" productbuild --component "$APP_PATH" /Applications --sign "$INSTALLER_KEY" "$APP_PATH"
``` ```
a
If you are new to app sandboxing under OS X, you should also read through Apple's If you are new to app sandboxing under OS X, you should also read through
[Enabling App Sandbox][enable-app-sandbox] to have a basic idea, then add keys Apple's [Enabling App Sandbox][enable-app-sandbox] to have a basic idea, then
for the permissions needed by your app to the entitlements files. add keys for the permissions needed by your app to the entitlements files.
### Upload Your App and Submit for Review ### Upload Your App and Submit for Review
@ -91,8 +92,8 @@ before uploading. Then you can [submit your app for review][submit-for-review].
## Limitations of MAS Build ## Limitations of MAS Build
In order to satisfy all requirements for app sandboxing, the following modules have been In order to satisfy all requirements for app sandboxing, the following modules
disabled in the MAS build: have been disabled in the MAS build:
* `crash-reporter` * `crash-reporter`
* `auto-updater` * `auto-updater`
@ -103,8 +104,9 @@ and the following behaviors have been changed:
* Certain accessibility features may not work. * Certain accessibility features may not work.
* Apps will not be aware of DNS changes. * Apps will not be aware of DNS changes.
Also, due to the usage of app sandboxing, the resources which can be accessed by the Also, due to the usage of app sandboxing, the resources which can be accessed by
app are strictly limited; you can read [App Sandboxing][app-sandboxing] for more information. the app are strictly limited; you can read [App Sandboxing][app-sandboxing] for
more information.
[submitting-your-app]: https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/SubmittingYourApp/SubmittingYourApp.html [submitting-your-app]: https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/SubmittingYourApp/SubmittingYourApp.html
[nwjs-guide]: https://github.com/nwjs/nw.js/wiki/Mac-App-Store-%28MAS%29-Submission-Guideline#first-steps [nwjs-guide]: https://github.com/nwjs/nw.js/wiki/Mac-App-Store-%28MAS%29-Submission-Guideline#first-steps