7 ms·
Show HN: Appleshouter – iOS Push Notifications for PWAs and Web apps
- hauxir 5y agoBuilt this to send notifications for webapps on iOS without having to wrap it in an app and go through the hassle of submitting it to the app store.
- floatingatoll 5y agoThis is great for personal code, but anyone who tries deploying this to a wide audience on the App Store is risking a permanent ban by Apple.
- mrpelz 5y agoAnyone with a wide audience on the App Store already has the means of sending notifications to users via APNS…
- deleted 5y ago[deleted]
- chrisweekly 5y agoHuh? This is for webapps / PWAs, not native iOS apps.
- ruperp 5y agoFrom the Github: "What you will need: An Apple Developer Program account". That means you can easily be banned for abusing their wallet apis, and they'll probably also take down your other apps on that account.
- floatingatoll 5y agoThanks, this puts it better.
- chrisweekly 5y agoAh, of course. Thanks for clarifying.
- markh 5y agoMy thoughts exactly. Here’s hoping their anti-PWA stance might soften with increased antitrust scrutiny.
- ykat7 5y agoApp Store Guidelines [1] wouldn't apply here since this is for web apps opened in Safari. If anything, it'd be language in the Developer License Agreement that might cover this. [1] https://developer.apple.com/app-store/review/guidelines/ https://developer.apple.com/app-store/review/guidelines/
- FireBeyond 5y agoWeb apps opened in Safari. So if I build a web app on my own dime, on my own hosting resources, signing no developer agreements with Apple whatsoever... ... there's not a remote chance that I'm subject to any of Apple's whims, and there's very little they can do about it. Add my site to a Safari exclusions list? That will and should go down like a flaming mess.
- ficklepickle 5y agoThe first requirement is: An Apple Developer Program account. Presumably for creating the "passes".
- akazad11 5y agonice
- p2hari 5y agoI want to just appreciate the thought/hack process here. Might be legal or not. Or if we all start abusing it maybe Apple will stop. However.. for now all I got to say is thank you for this. Great one..
- captn3m0 5y agoThey'll just disable notifications for wallets passes
- Saint_Genet 5y ago"You might have figured out that Safari on iOS STILL has no support for the Web Push API." The STILL there makes it sound like Apple is just slow to implement it.
- ihuman 5y agoThey implemented it in macOS's Safari in 2013, so they are being slow to implement it on iOS.
- jessaustin 5y agoMy apologies if I'm whooshing on irony, but the clear fact is not that they are slow but rather that they have made a decision not to implement it, on every single development cycle over the last eight years.
- nsonha 5y agoit's not rare that vendors refuse to do things, then forced to follow standards. When they do, it'll be just like they are incredibly slow to come to a final decision.
- lxgr 5y agoAs far as I know, Safari on macOS does not support Web Push, but rather a proprietary predecessor of it.
- deleted 5y ago[deleted]
- ihuman 5y agoOh, you're right. I thought OP was talking about the Notifications API [0], since I didn't know there were 2 different notification APIs. The Push API is still a working draft and "experimental technology", but it's implemented in all the major browsers except Safari [1]. [0] https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API https://developer.mozilla.org/en-US/docs/Web/API/Notificatio... [1] https://developer.mozilla.org/en-US/docs/Web/API/Push_API https://developer.mozilla.org/en-US/docs/Web/API/Push_API
- jhunter1016 5y agoThis is really smart. It’s sure to be blocked by Apple at some point, but until Apple supports proper web notifications and stops fighting against web standards, workarounds like this need to exist.
- swiley 5y agoIf they block it then it will be one more piece of evidence in an antitrust case.
- Crazyontap 5y agoApple has no incentive to make PWA or web apps work natively since they don't get their 30% cut on that. Steve jobs made it abundantly clear when he blocked Flash on iOS citing battery and security reasons and every developer including myself hailed it as the best thing that could to the internet then; never figuring out the insidiousness of such changes and how it was a priority for Apple to cripple the web browser and keep it crippled to make their App store flourish and get more % cut on apps. They have made billions of dollars doing that and Steve jobs was truly a visionary in this regard.
- tehwebguy 5y agoAs someone who was glad that Flash was never supported in the first place I'm twice as glad mobile web notifications aren't supported!
- adav 5y agoWhat does the flow to add a notification-supporting Wallet pass look like for the end user?
- swiley 5y agoThis is fantastic, thank you! I was thinking about pirating OSx to do this.
- mikece 5y agoI don't suppose there's such a thing as an open push notification service that could work on iOS, Android, and security-focused mobile OSes such as GrapheneOS, is there? Lacking such an ability are websockets or polling the only options for push-like notifications on an OS like Graphene?
- slowwwclap 5y agoAlso see Pushover https://pushover.net/ https://pushover.net/
- GranPC 5y agoWhoa, this is super clever! Thanks for sharing!
- coolspot 5y agoWhat stops Chrome or Firefox or Brave for iOS from providing push API? AFAIK iOS “browsers” can inject js into pages, extending available we APIs, like e.g. web3 browsers do.
- lxgr 5y agoThe problem is that Web Push requires active JavaScript execution to handle pushes and show the actual resulting notification (if any). (Notifications are the most common but not the only use case of web push.) This isn't (reliably) possible using iOS APIs.
- wayneftw 5y agoI'd like to know more about these limitations. The iOS APIs include a JavaScript runtime engine don't they? (JavaScript Core)
- mbzi 5y agoApple forbids other web engines explicitly (or only allows the WebKit respectively) in § 2.5.6 of App Store Review Guidelines: https://developer.apple.com/app-store/review/guidelines/ https://developer.apple.com/app-store/review/guidelines/ 2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript. This means they cannot add a new API standard on iOS. This is why WebRTC was hamstrung until November last year. https://bugs.webkit.org/show_bug.cgi?id=208667 https://bugs.webkit.org/show_bug.cgi?id=208667 https://bugs.chromium.org/p/chromium/issues/detail?id=752458 https://bugs.chromium.org/p/chromium/issues/detail?id=752458 If the browser uses WKWebView or UIWebView, you're right, you can "mock" an API by injecting JS, and through tunnelling you can recreate native functionality. Not if its SFSafariViewController. As someone who has done a lot of fiddling with JS to Obj-C/Java tunnelling for iOS and Android in production, it can be prone to errors and/or get your app rejected. Browser makers probably do not see the commercial value in going down this bespoke path.
- wayneftw 5y ago> If the browser uses WKWebView or UIWebView, you're right, you can "mock" an API by injecting JS, and through tunnelling you can recreate native functionality. So, technically it can be done. What's stopping them? Do you think Apple would count that sort of feature as "implementing your own web engine"?
- chrisshroba 5y agoThis is a great hack but is likely to get you in trouble with Apple if you make it onto their radar. Their guidelines [1] say, in section 3.2.1(iv): > Wallet passes can be used to make or receive payments, transmit offers, or offer identification (such as movie tickets, coupons, and VIP credentials). Other uses may result in the rejection of the app and the revocation of Wallet credentials." There's no app to be rejected since we're dealing with PWA's/webapps, but wallet credentials could certainly still be revoked. [1]: https://developer.apple.com/app-store/review/guidelines/ https://developer.apple.com/app-store/review/guidelines/
- durpkingOP 5y agoAnyone got a demo up to see this in action?