更改应用内购买价格后的应用程序崩溃,但在从Xcode到设备和模拟器的调试中有效



我几周前刚刚将我的应用程序上传到应用商店,但就在昨天,我刚刚从app store Connect更改了非消费品的价格。

我再次尝试了我的应用程序,从模拟器和调试到Xcode的真实设备,一切正常,价格也更改为我在应用商店连接中更改的价格。

但当我从应用商店下载该应用程序并试图打开该产品的页面时,它崩溃了。我不知道为什么会发生这种情况,我没有更改应用程序中的任何代码。我甚至把我的应用程序重新提交到了应用商店,但结果仍然一样,它在显示产品价格的页面上崩溃了。

至于获取产品和显示价格的代码,这是我的代码:

enum Product: String, CaseIterable {
case membershippayment = "com.myproducts"
}
func fetchProducts() {

let request = SKProductsRequest(productIdentifiers: Set(Product.allCases.compactMap({ $0.rawValue })))
request.delegate = self
request.start()

}

func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {

DispatchQueue.main.async {
self.models = response.products


let product = response.products.first 
let price = product!.price
let int: Int = Int(truncating: price)
let intFormatted = int.formattedWithSeparator

self.txtPrice.text = "Rp. (intFormatted)"
self.Price_Payment = "(price)"
}
}

编辑:只需更改线路let price = product!.price转换为let price = product?.price ?? 0

并且将该应用程序重新上传到应用程序商店时,当该应用程序上传到应用商店时,看起来价格返回零值,因为显示的文本显示"0";0";为什么会发生这种情况,我需要在应用商店连接中做额外的事情吗?我不知道这是否重要,但应用内购买产品的状态是";缺少合规性";,是因为这个吗?如果是,我该如何解决?

在我看来,您没有在构建渐变中更改应用程序版本。它应该是添加1个数字,每次你更新应用

渐变脚本->build.gradle(模块:…(->查找:

android{compileSdk版本30buildToolsVersion;30.0.3〃;

defaultConfig {
applicationId "com.example.barcodescanner3"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

更改版本代码和版本名称。版本名称可以是(1.1,1.2,1.3(,但版本代码只允许整数(1,2,3(

希望能帮上忙,对不起我英语不好

最新更新