Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to package OSX build as an App Store compliant app #163

Closed
herrmannplatz opened this issue Oct 17, 2015 · 12 comments
Closed

Add ability to package OSX build as an App Store compliant app #163

herrmannplatz opened this issue Oct 17, 2015 · 12 comments

Comments

@herrmannplatz
Copy link
Contributor

@herrmannplatz herrmannplatz commented Oct 17, 2015

Since the electron team made a big step forward and provided an mac appstore compliant version of electron, it would be really nice to use electron packager to bundle these apps.

I uploaded an app a couple of days before and based on what apple complained, the following things need to be changed.

  1. Adjust Info.plist (LSApplicationCategoryType, NSHumanReadableCopyright)
  2. Set proper bundle name, identifier and executable for all Electron Helpers
  3. Sign the app and create a package

I hacked a version that includes step 1 and 2. I could make a proper PR with test if wanted. The last step ist most likely the hardest issue, since it includes also adding all of the entitlements. You can find a script to sign the app with entitlements in the electron docs. What is not mentioned in the docs is that you need to define the capabilities of your sandboxed app. (Note to myself... RTFM)

@herrmannplatz herrmannplatz changed the title Add ability to package mac appstore app Add ability to package mas app Oct 17, 2015
@maxogden
Copy link
Contributor

@maxogden maxogden commented Oct 17, 2015

Is there any way we can do all that stuff with another module? i'd like to keep this one as simple as possible

Loading

@lipis
Copy link

@lipis lipis commented Oct 17, 2015

💯

Loading

@kfranqueiro
Copy link
Contributor

@kfranqueiro kfranqueiro commented Oct 18, 2015

I'm a little confused at where electron-packager does or should draw the line, since doesn't it already modify some plist entries?

Loading

@maxogden
Copy link
Contributor

@maxogden maxogden commented Oct 18, 2015

@kfranqueiro yea the first two items wouldn't be that much of a code change probably (though it would be nice some day to move all the plist stuff out of here). I was mostly talking about the entitlements/capabilities stuff which would be a lot of new code

Loading

@herrmannplatz
Copy link
Contributor Author

@herrmannplatz herrmannplatz commented Oct 18, 2015

Having the full control over what to put into the plist would solve step 1 anyway. And as electron-packager already changes the Electron Helper, it would be just straightforward to do it also for the rest.

I agree that especially the signing could be done in a different place. This is what i am doing right now.

Loading

@malept malept changed the title Add ability to package mas app Add ability to package OSX build as an App Store compliant app Oct 18, 2015
@elronalds
Copy link

@elronalds elronalds commented Oct 23, 2015

Is this issue going to involve adding the mas build to the --platform flag? So the options would be linux, win32, darwin, mas. Since Electron v0.34.0 introduced the new separate Mac App Store binary.

Loading

@ex3ndr
Copy link

@ex3ndr ex3ndr commented Oct 28, 2015

+1

Loading

@hankbao
Copy link

@hankbao hankbao commented Oct 29, 2015

+1 for a new --platform flag. Currently we have to pack our MAS build manually.

Loading

@jfurneaux
Copy link

@jfurneaux jfurneaux commented Oct 29, 2015

+1

Loading

@mawie81
Copy link

@mawie81 mawie81 commented Nov 4, 2015

I added a new mas platform on mawie81@c0af821 Tests are looking good as well (the ones that require wine failed for me because I dont have it installed currently).

Tried to handle all the plist stuff in a not so repetitive manner. Could create a PR if wanted.
After manual signing and packaging the Application Loader app gave no errors and and I could upload my test app.

Maybe step 3 could be solved by adding two new entitlements parameters to pass in the child.plist and parent.plist?

Loading

@marbemac
Copy link

@marbemac marbemac commented Dec 17, 2015

Huge +1 - @mawie81 was your app accepted in the end?

Loading

@malept
Copy link
Member

@malept malept commented Dec 20, 2015

FYI, PR #223 has some additional discussion and a call for help directed at those interested in seeing this feature integrated into electron-packager (which I assume is most of those who are subscribed to this issue).

Loading

sethlu added a commit to sethlu/electron-packager that referenced this issue Feb 14, 2016
sethlu added a commit to sethlu/electron-packager that referenced this issue Feb 16, 2016
sethlu referenced this issue in sethlu/electron-packager Feb 17, 2016
@malept malept closed this in 92a63a9 Feb 18, 2016
malept added a commit that referenced this issue Feb 18, 2016
Platform: Mac App Store support

Fixes #104, #163, #261.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet