Ios Swift-在应用程序购买中找不到Xcode

Ios Swift-在应用程序购买中找不到Xcode,ios,swift,xcode,Ios,Swift,Xcode,我正在尝试在我的应用程序中删除应用程序内购买的广告。但是,每当我测试它时,它总是告诉我它没有找到产品ID。我已经对产品ID进行了三次检查,结果是正确的。我似乎想不出这个问题。这是打印到控制台的内容: 未找到产品:com.myCoolAwesomeApp.mjay.noAds var product: SKProduct? var productID = "com.myCoolAwesomeApp.mjay.noAds" func getPurchaseInfo() { if

我正在尝试在我的应用程序中删除应用程序内购买的广告。但是,每当我测试它时,它总是告诉我它没有找到产品ID。我已经对产品ID进行了三次检查,结果是正确的。我似乎想不出这个问题。这是打印到控制台的内容:

未找到产品:com.myCoolAwesomeApp.mjay.noAds

var product: SKProduct?

var productID = "com.myCoolAwesomeApp.mjay.noAds"

   func getPurchaseInfo() {

    if SKPaymentQueue.canMakePayments() {

        let request = SKProductsRequest(productIdentifiers: NSSet(objects: self.productID) as! Set<String>)

        request.delegate = self

        request.start()


    } else {

        productDescription.text = "Please enable In App Purchases in your settings."


    }


}

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

    var products = response.products

    if (products.count) == 0 {


        productDescription.text = "Product not found."


    } else {


        product = products[0]
        productDescription.text = product!.localizedDescription
        buyButton.isEnabled = true


    }

    let invalids = response.invalidProductIdentifiers

    for product in invalids {

        print("Product not found: \(product)")

    }


}


func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {

    for transaction in transactions {

        switch transaction.transactionState {
            case SKPaymentTransactionState.purchased:
                SKPaymentQueue.default().finishTransaction(transaction)

                productDescription.text = "Purchase Successful"
                buyButton.isEnabled = false

                let save = UserDefaults.standard
                save.set(true, forKey: "Purchase")
                save.synchronize()

            case SKPaymentTransactionState.failed:
                SKPaymentQueue.default().finishTransaction(transaction)
                productDescription.text = "Purchase Failed. Try again later."

            default:
                break

            }  
        }
    }  
}
var产品:SKProduct?
var productID=“com.myCoolAwesomeApp.mjay.noAds”
func getPurchaseInfo(){
如果SKPaymentQueue.canMakePayments(){
let request=SKProductsRequest(产品标识符:NSSet(对象:self.productID)as!Set)
request.delegate=self
request.start()
}否则{
productDescription.text=“请在您的设置中启用应用内购买。”
}
}
func productsRequest(uRequest:SKProductsRequest,didReceive response:SKProductsResponse){
var products=response.products
如果(产品计数)=0{
productDescription.text=“未找到产品。”
}否则{
产品=产品[0]
productDescription.text=产品!.localizedDescription
buyButton.isEnabled=true
}
设invalids=response.invalidProductIdentifiers
残疾人士的产品{
打印(“未找到产品:\(产品)”)
}
}
func paymentQueue(queue:SKPaymentQueue,updatedTransactions事务:[SKPaymentTransaction]){
交易中的交易{
切换事务.transactionState{
案例SKPaymentTransactionState.purchased:
SKPaymentQueue.default().finishTransaction(事务)
productDescription.text=“购买成功”
buyButton.isEnabled=false
让save=UserDefaults.standard
save.set(true,forKey:“购买”)
save.synchronize()
案例SKPaymentTransactionState.0失败:
SKPaymentQueue.default().finishTransaction(事务)
productDescription.text=“购买失败。请稍后重试。”
违约:
打破
}  
}
}  
}

我遇到了完全相同的问题。以下是在阅读了Apple的技术说明后需要解决/检查的一些步骤:

Create a unique App ID
Enable in-app purchasing for this App ID
Generate and install a new provisioning profile on your device
Update the bundle ID and code signing profile in Xcode
Check that your project’s .plist Bundle ID match your App ID
Complete your contract, tax, and banking Information. You need a VALID contract
正如官方文件所述,无需提交二进制文件,也无需提交应用内购买的截图。我在各种博客上看到了很多关于这方面的错误信息

检查您已解决此列表中的每一点后,删除您的应用程序并重新安装


我基本上忽略了两件事:正确设置ios付费应用的合同,以及没有在设备上安装新的配置文件。这可能是您的问题吗?

您是否尝试将productID设置为
NSSet
?这只是一根绳子。