在Mac应用程序商店的电子应用程序中实施应用程序内购买

我环顾四周,似乎有几个人有这个问题,但没有人似乎已经解决了这个问题:

添加苹果应用内购买电子HTML / JS应用程序

https://github.com/electron/electron/issues/3745

https://discuss.atom.io/t/osx-in-app-purchases-in-electron/22885

有人build议使用这个Node到Objective-C桥来做到这一点:

https://github.com/TooTallNate/NodObjC

其他人build议使用这个应用程序内库,但从我可以看到,它只validation收据:

https://github.com/voltrue2/in-app-purchase

有没有人实际上设法在苹果应用程序商店的电子应用程序中实施应用内购买?

你是怎么做到的?

如果没有人做到这一点,是不可能做到的?

首先解决scheme

我已经实现了这个解决scheme,它在开发中工作(尚未在生产中testing)。

  1. 使用XCode创build一个执行应用程序内购买的MacOS应用程序(InAppPurchase)(请参阅https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html
  2. InAppPurchase.app放在Electron应用程序文件夹的某个位置
  3. 使用require('electron').shell.openItemrequire('child_process').spawn('./InAppPurchase.app/Contents/MacOS/InAppPurchase'); 在您的电子应用程序启动应用程序内购买。

这绝对不是一个干净的解决scheme,但它似乎工作…

第二种scheme

我认为这也可以用NodObjC来完成。 但是,与第一种解决scheme相比,这个库非常重。

第三个scheme

直接向Electron添加应用内购买


如果我可以使用IAP在Mac Apple Store上发布我的Electron应用程序,或者如果我find其他解决scheme,我会及时通知您。