Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 3中IAP的产品请求?_Ios_Swift_In App Purchase - Fatal编程技术网

Ios Swift 3中IAP的产品请求?

Ios Swift 3中IAP的产品请求?,ios,swift,in-app-purchase,Ios,Swift,In App Purchase,我试图在我的应用程序中为我的IAP设置产品请求,但在正确定义请求时遇到问题。代码如下: let productsRequest: SKProductsRequest = SKProductsRequest(productIdentifiers: self.productId as! Set<String>) 让productsRequest:SKProductsRequest=SKProductsRequest(产品标识符:self.productId as!Set) self.

我试图在我的应用程序中为我的IAP设置产品请求,但在正确定义请求时遇到问题。代码如下:

let productsRequest: SKProductsRequest = SKProductsRequest(productIdentifiers: self.productId as! Set<String>)
让productsRequest:SKProductsRequest=SKProductsRequest(产品标识符:self.productId as!Set)
self.productRequest是在itunesConnect中创建的IAP的字符串标识符

它给出了错误

从“字符串”转换为不相关的类型“集合”总是失败

如果不是IAP的标识字符串,我应该向请求传递什么?我运行应用程序,它返回0个产品

编辑:新的完整func代码:

let productIdentifiers: Set<ProductIdentifier> = ["com.Personal.LiftApp.RemoveGoogleAds"]
        let productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
        productsRequest.delegate = self
        productsRequest.start()
let productIdentifiers:Set=[“com.Personal.LiftApp.RemoveGoogleAds”]
让productsRequest=SKProductsRequest(productIdentifiers:productIdentifiers)
productsRequest.delegate=self
productsRequest.start()

出现此错误是因为
ProductIdentifier
必须是字符串:

typealias ProductIdentifier = String
您应该传递一组字符串:

let productIdentifiers: Set<ProductIdentifier>
为了帮助您更好地理解如何制作,请查看以下示例:

let productIdentifiers: Set<ProductIdentifier> = [id_of_the_first_in_app_purchase, id_of_the_second_in_app_purchase]
let productIdentifiers:Set=[应用程序购买中第一个应用程序的id,应用程序购买中第二个应用程序的id]

出现此错误是因为
ProductIdentifier
必须是字符串:

typealias ProductIdentifier = String
您应该传递一组字符串:

let productIdentifiers: Set<ProductIdentifier>
为了帮助您更好地理解如何制作,请查看以下示例:

let productIdentifiers: Set<ProductIdentifier> = [id_of_the_first_in_app_purchase, id_of_the_second_in_app_purchase]
let productIdentifiers:Set=[应用程序购买中第一个应用程序的id,应用程序购买中第二个应用程序的id]

谢谢,我现在用我的代码编辑了OP,它运行了,但仍然返回0个结果,我是否认为这是因为现在的id问题而不是功能问题?你的应用内购买元素必须得到苹果的批准,然后你可以看到这些元素可供测试或发布,但我的应用尚未发布,如果我不能在发布之前测试它们,我怎么知道它们会工作呢?我以为有一个沙盒可以测试你也可以从试飞服务中测试它,但是应用内购买元素不遵循应用程序状态,元素是否在应用程序流之外被批准。那么我是否可以只提交这1 IAP供批准,因为它只是禁用广告?谢谢,我现在用我的代码编辑了OP,这运行但仍然返回0结果,我是否认为这是由于id问题而不是功能问题?你的应用内购买元素必须得到苹果的批准,然后你可以看到这些元素可供测试或发布,但我的应用尚未发布,如果我在发布前根本无法测试它们,我怎么知道它们会起作用?我以为有一个沙盒可以测试你也可以从试飞服务中测试它,但是应用内购买元素不遵循应用程序状态,元素是否在应用程序流之外被批准。那么我是否可以只提交这1 IAP以供批准,因为它只是禁用广告?