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

Comments

Projects
None yet
@herrmannplatz
Contributor

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 from Add ability to package mac appstore app to Add ability to package mas app Oct 17, 2015

@maxogden

This comment has been minimized.

Show comment
Hide comment
@maxogden

maxogden Oct 17, 2015

Contributor

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

Contributor

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

@lipis

This comment has been minimized.

Show comment
Hide comment
@lipis

lipis commented Oct 17, 2015

💯

@kfranqueiro

This comment has been minimized.

Show comment
Hide comment
@kfranqueiro

kfranqueiro Oct 18, 2015

Collaborator

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

Collaborator

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?

@maxogden

This comment has been minimized.

Show comment
Hide comment
@maxogden

maxogden Oct 18, 2015

Contributor

@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

Contributor

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

@herrmannplatz

This comment has been minimized.

Show comment
Hide comment
@herrmannplatz

herrmannplatz Oct 18, 2015

Contributor

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.

Contributor

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.

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

@elronalds

This comment has been minimized.

Show comment
Hide comment
@elronalds

elronalds 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.

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.

@ex3ndr

This comment has been minimized.

Show comment
Hide comment
@ex3ndr

ex3ndr commented Oct 28, 2015

+1

@hankbao

This comment has been minimized.

Show comment
Hide comment
@hankbao

hankbao Oct 29, 2015

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

hankbao commented Oct 29, 2015

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

@jfurneaux

This comment has been minimized.

Show comment
Hide comment
@jfurneaux

jfurneaux commented Oct 29, 2015

+1

@mawie81

This comment has been minimized.

Show comment
Hide comment
@mawie81

mawie81 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?

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?

@marbemac

This comment has been minimized.

Show comment
Hide comment
@marbemac

marbemac Dec 17, 2015

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

marbemac commented Dec 17, 2015

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

@malept

This comment has been minimized.

Show comment
Hide comment
@malept

malept Dec 20, 2015

Member

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).

Member

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).

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

Merge pull request #223 from sethlu/master
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