加载产品详细信息时,Cordova iOS In App Purchase 崩溃
Posted
技术标签:
【中文标题】加载产品详细信息时,Cordova iOS In App Purchase 崩溃【英文标题】:Cordova iOS In App Purchase crashing when loading product details 【发布时间】:2020-05-16 18:59:48 【问题描述】:我在 Cordova (Ionic 4) 应用程序中使用 cordova-plugin-purchase
(https://github.com/j3k0/cordova-plugin-purchase),该应用程序在 android 上运行没有问题。当我尝试在 ios 上测试购买时,应用程序崩溃并出现以下无法解释的消息。
该应用也无法从商店中检索产品详细信息。我提到该应用尚未发布,目前处于 TestFlight 中。
这是通过 Xcode 输出的日志:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SKProduct localizedPrice]: unrecognized selector sent to instance 0x28191ca40'
这就是我尝试获取产品详细信息的方式(上面的输出崩溃)
this.store.get("coin_pack_1");
这就是我尝试发起购买的方式(上面的输出崩溃)
let productId = "coin_pack_1";
let iapOptions: IAPProductOptions =
id: productId,
alias: productId,
type: this.store.CONSUMABLE
;
this.store.register(iapOptions);
this.store.verbosity = this.store.DEBUG;
let product: IAPProduct = this.store.get(productId);
// register handlers
this.store.once(productId).approved((data: IAPProduct) =>
// Fired when a purchase has been approved by the store
console.log("approved, ", data);
product.finish();
resolve(true);
);
this.store.refresh();
【问题讨论】:
【参考方案1】:我现在已经切换(强制)到 WKWebView,因为 App Store 上不再允许 UIWebView,这以某种方式解决了这个问题。
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
【讨论】:
以上是关于加载产品详细信息时,Cordova iOS In App Purchase 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
Cordova / Ionic iOS 应用程序在加载插件时挂在启动屏幕上