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

Mac App Store #249

Closed
tanx opened this issue May 6, 2014 · 67 comments
Closed

Mac App Store #249

tanx opened this issue May 6, 2014 · 67 comments

Comments

@tanx
Copy link

tanx commented May 6, 2014

first of all thanks for open sourcing atom(-shell). It looks very interesting.

We currently have a chrome packaged app in the chrome web store and were looking at using node-webkit to package the app for the mac app store. Is this possible with atom-shell as well? I ask this because this was an issue for node-webkit at first, since it used private mac os apis:
nwjs/nw.js#936

Thanks

@probablycorey
Copy link

You could try and use atom-shell in the app store, but I think that sandboxing rules would prevent it from being accepted. I'd love to be proven wrong though!

@mstade
Copy link

mstade commented May 6, 2014

👍 give it a shot – I reckon @probablycorey is probably right though.

@gobijan
Copy link

gobijan commented May 7, 2014

This is a show stopper for me. App-Store compliance seems to be fixed for node-webkit. I will hand in a node-webkit app tomorrow and will provide definitive feedback to the app store issue. atom-shell seems to have nice mac like handles (window blur, beep, bouncing dock icon etc.) but it is also heavier (92mb) than node-webkit(72mb). I also like macgap (<10MB) but unfortunately some of their apis are broken atm and they don't really have a solution for saving files and accessing os functionality. So for mac app store I would recommend node-webkit atm.

Is app store compliance on the roadmap for atom-shell?

@probablycorey
Copy link

My previous assumption about sandboxing would apply just as much to
node-WebKit as it does atom-shell. So if node-webkit is accepted by the App
Store, atom-shell could too.

Do you have any links to a discussion about node-webkit and the App Store?

@tanx
Copy link
Author

tanx commented May 7, 2014

Do you have any links to a discussion about node-webkit and the App Store?

See my initial comment on this issue.

@gobijan
Copy link

gobijan commented May 7, 2014

Here is the discussion about node-webkit and app store:
nwjs/nw.js#936

@mstade
Copy link

mstade commented May 7, 2014

Given the comments in that issue, it'd seem it's alright so long as no private APIs are used. I don't know this project well enough to comment whether that's the case, but again it seems following @trevorlinton's lead and submitting a simple app is one way to find out. I don't have a current dev license so I can't try it, but I'd be keen to know the results if someone did.

@trevorlinton
Copy link

Hello. Well, I can tell you if its using chromium or chromium embedded there are several hoops you have to do in order to get things to work. Some of the private API's have been removed but there are deprecated libraries chromium uses in addition to entitlements that must be VERY carefully set to get it to work, also, removing chromium's persistent file handles to /etc/resolve.conf and /etc/hosts. Finally, some minor modifications to the IPC socket systems to prevent it from using /tmp, /var/private.

It's not as bad as it sounds, there's a patch at: https://github.com/trevorlinton/chromium/blob/node/MacAppStoreSupport.diff.

Downside is it removes support for MacOS X snow leopard.

@trevorlinton
Copy link

Actually, I just downloaded Atom, and I doubt this will ever be accepted unfortunately (but not because of chromium or chromium embedded). No application is allowed to read or write to any of the files outside of whats listed in the entitlements unless they're selected through a user dialog. This obviously kills most dev tools in its tracks unless you can sandbox the entire command line tools and code to a single directory.

@tanx
Copy link
Author

tanx commented May 8, 2014

@trevorlinten awesome! Thanks for your insight.

I guess it's a question of what atom-sells's goals are then. If they are interested in becoming a generic packaging system for other use-cases than atom, then maybe they're interested to in patching and allowing build parameters for atom-shell to work within a mac sandbox.

Our use case is an email client (https://whiteout.io) which would work well within a sandbox and dialogs for file access.

@zcbenz
Copy link
Member

zcbenz commented May 8, 2014

@trevorlinton Thanks for sharing your patch, it really helps a lot!

I'll try making atom-shell work within mac sandbox in future (I don't have time for it recently though), and PRs would be welcomed.

@mstade
Copy link

mstade commented May 8, 2014

I've got some time and would be interested in helping out in whatever way I can, but I don't know in what end to start. Should I look into porting over @trevorlinton's patch? What about the entitlements, does that comment apply to atom-shell as well? I'm sorry that these are n00b questions, but you gotta start somewhere.

@zcbenz
Copy link
Member

zcbenz commented May 9, 2014

You can start from the atom branch of libchromiumcontent, which is the foundation of atom-shell, it also has a patch system that can be used to put @trevorlinton's patch.

@mstade
Copy link

mstade commented May 9, 2014

Thanks @zcbenz – I'll start looking at it this weekend!

@thewebdreamer
Copy link

@mstade & @zcbenz I was curious, has any progress been made?

@mstade
Copy link

mstade commented Jan 5, 2015

Not by me I'm afraid, I had to move abroad shortly after the last conversation took place and so that took up my time and I unfortunately never got back to this. I don't think I will anytime soon either, sorry.

@callumlocke
Copy link

No update since January... has there been any progress on Mac App Store compatibility?

@alexzhang2015
Copy link

@tanx Does the email client (https://whiteout.io) with atom electron upload to mac app store successfully?

@tanx
Copy link
Author

tanx commented Jun 15, 2015

@tanx Does the email client (https://whiteout.io) with atom electron upload to mac app store successfully?

We haven't gotten around to the Mac App yet. Using Chrome Apps on all desktop platforms.

@zcbenz zcbenz mentioned this issue Jun 29, 2015
@scottdraves
Copy link

👍 we need this for https://github.com/twosigma/beaker-notebook

@gobijan
Copy link

gobijan commented Jul 6, 2015

Hi friends just for reference:

I am member of MacGap2:
https://macgapproject.github.io/

With MacGap2 you can bring your web based stuff into the app store as it is a very lightweight html container app.

I also wrote https://github.com/tschundeee/maverix as a OSX UI Bootstrap + Angular Starting Point that can be used together with macgap. So give it a try. Feedback is always welcome :)

@anaisbetts
Copy link
Contributor

@tschundeee Can you delete this comment? It's not helpful or appropriate.

@callumlocke
Copy link

@paulcbetts I know what you mean, it feels spammy, but in this case I think it's relevant. The subscribers for this issue are looking for an AppStore-compatible way of building JS-based desktop apps, so his comment is both helpful and appropriate IMO. It just also happens to be self-promotional :)

@sphw
Copy link

sphw commented Jul 6, 2015

Hey All. I believe I have successfully patched Electron. I'm going to release the binaries if my app is accepted onto the store.

@Jonty
Copy link

Jonty commented Jul 6, 2015

@wisesascha That's incredible news! Please push your patches somewhere so others can use/fix them.

@anaisbetts
Copy link
Contributor

@wisesascha That's awesome! We can work with you to get those patches into mainline

@scottdraves
Copy link

➕ ➕

@anaisbetts
Copy link
Contributor

@wisesascha This is amazing, thank you so much for the hard work and the writeup!

@engelgabriel
Copy link

Hi @zcbenz and @paulcbetts,

Should we try to replicate what @wisesascha did in our applications? Or will you re-implement what he did in same shape or form back into the main repository so all the Electron apps would be able to safely submit to the Mac App Store?

Thanks all for the great work!

@frankhale
Copy link
Contributor

As a side note to this, has anyone attempted to put an Electron based app in the Windows app store?

@anaisbetts
Copy link
Contributor

@frankhale Only Modern™™™ apps can go in the Windows app store until Project Centennial ships. Desktop apps in the store right now are effectively just a marketing page, hitting the "Install" button just takes you to a 3rd party site

@anaisbetts
Copy link
Contributor

Or will you re-implement what he did in same shape or form back into the main repository so all the Electron apps would be able to safely submit to the Mac App Store?

There will probably be a 2nd version of Electron OS X posted for future releases that is MAS compatible

@frankhale
Copy link
Contributor

Thanks @paulcbetts!

@behrangsa
Copy link

@paulcbetts any ETAs for the MAS compatible version of Electron?

@herrmannplatz
Copy link
Contributor

Was checking @wisesascha approach. But its seems like that with Version 0.31.0 this no longer works, since ffmpeg lib is no longer shipped with the app. Any ideas to how to solve this?

@sphw
Copy link

sphw commented Sep 15, 2015

I'll look into fixing this, but my first guess is that you have to modify
some of the gyp files to no longer include ffmpeg.

On Tue, Sep 15, 2015 at 8:17 AM René Herrmann notifications@github.com
wrote:

Was checking @wisesascha https://github.com/wisesascha approach. But
its seems like that with Version 0.31.0
https://github.com/atom/electron/releases/tag/v0.31.0 this no longer
works, since ffmpeg lib is no longer shipped with the app. Any ideas to how
to solve this?


Reply to this email directly or view it on GitHub
#249 (comment).

@herrmannplatz
Copy link
Contributor

It looks like that one issue is that ffmpeg is using QTKit. Isn't it possible to create a patch in libchromiumcontent that compiles ffmpeg without using QTKit, like mentioned here?

@zcbenz zcbenz mentioned this issue Sep 28, 2015
5 tasks
@zcbenz
Copy link
Member

zcbenz commented Sep 29, 2015

@wisesascha How much time did the "processing" step take for you in iTunes Connect? I have waited for hours and I'm now wondering whether it is going to last forever.

@herrmannplatz
Copy link
Contributor

@zcbenz I used the Application Loader App. And it took a couple of minutes to upload to itunes connect. Before i managed to upload it, i ran into a couple of issues that where already detected by the application loader app.

@herrmannplatz
Copy link
Contributor

any updates?

@behrangsa
Copy link

@herrmannplatz See #2920

@herrmannplatz
Copy link
Contributor

I know. The question was related to the upload experiment.

@scottdraves
Copy link

🐬 🐬

kevinsawicki added a commit that referenced this issue May 9, 2017
Add verifiers for known certificate transparency logs
kevinsawicki added a commit that referenced this issue May 9, 2017
Add verifiers for known certificate transparency logs
kevinsawicki pushed a commit that referenced this issue Jul 6, 2017
@holgersindbaek
Copy link

I know if might be a little off topic, but I need to do in app purchases in mu Electron app for the Mac App Store. It doesn't seem like anyone has figured out how to do that yet, so I've created a post on Stackoverflow with a 300 reputation points worth of bounty. If you think you can get more specific with how you'd do in app purchases, please let me know in there:

https://stackoverflow.com/questions/46753835/implementing-in-app-purchase-in-an-electron-app-for-the-mac-app-store

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests