问题描述
我在App Store上有几个现有应用程序,我试图添加另一个应用程序,但是由于应用程序内购买问题,我的应用程序一直被Apple拒绝。我尚未更改inapp购买代码,因此不确定可能出了什么问题。我没有Mac,因为我在云上构建事物。因此,想向社区寻求指导。请在下面找到我观察到的内容:
- 我知道您无法在模拟器上测试inapp购买。但是,模拟器可以很好地显示商店数据。换句话说,应在iTunes一侧将inapp设置为OK。
- 在iOS 11上,购买会弹出一个窗口供用户登录。但是,在iOS 13上,它会直接通过
"Cannot connect to the itunes store"
消息失败。因此,我认为问题可能与iOS13有关,或者我应该做一些处理iOS 13的事情。 Apple在iOS13上测试了我的应用程序,而我以前的应用程序过去曾被批准过,可能在iOS11上得到了批准。此外,苹果的拒绝也表明了相同的错误消息。 - 在iOS13上,我还在日志中看到以下错误:
Found nil parameter when creating SKPaymentdiscount
下面是我的代码的基本结构:
configurePurchasing() {
try {
this.iapStore.register({
id: this.productId,alias: this.productAlias,type: this.iapStore.CONSUMABLE
});
this.iapStore.when(productId).approved((product) => {
product.finish();
// Purchase is completed
});
this.iapStore.when(productId).updated((product) => {
this.renderProductInfo();
});
this.iapStore.when(productId).cancelled((product) => {
// Show purchase cancelled message
});
this.iapStore.error((err) => {
// Show error message
});
this.iapStore.ready((status) => {
this.renderProductInfo();
});
this.iapStore.when(productId).error((err) => {
// Show error message
});
this.iapStore.refresh();
}
catch (err) {
}
}
renderProductInfo() {
try {
let product = this.iapStore.get(this.productId);
if (!product) {
// Show error message
}
else if (product.state === this.iapStore.INVALID) {
// Show error message
}
else if (product.state === this.iapStore.VALID) {
// Product loaded and valid.
if (this.storeInfoLoadedFlag == false) {
this.title = product.title;
this.price = product.price;
this.description = product.description;
}
else if (this.purchaseErrorFlag) {
// Show error message
}
else if (this.purchaseCancelledFlag) {
// Show cancel message
}
}
}
catch (e) {
}
}
以下是我的购买方式:
purchaseLives() {
try {
productId = this.productId;
this.iapStore.get(productId);
this.iapStore.order(productId);
}
catch (err) {
}
}
如果能提供任何指针,我将不胜感激,因为我没有Mac可以在真实设备上测试代码。
谢谢
道格
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)