在swift中使用RMStore时出错

时间:2015-09-08 15:32:39

标签: swift rmstore

我想使用RMStore实现应用内购买。我的项目是用swift编写的,所以我使用cocoapod添加RMStore Framework并添加一个桥文件以使其在swift中工作。但是当我使用RMStore时发生了错误。

在桥头文件中,我添加了这个:

#import "RMStore.h"
在快速模型中,我使用这样的:

func fetchAvalibleProducts()
{
    RMStore.defaultStore().requestProducts(IAPProductsIDs as Set<NSObject>, success: {
        (products, invalidProducts) in
        self.IAPProducts = products as! [SKProduct]}, failure: {error in Utils.error(error)})
}

编码时没有错误,但编译时出错,错误信息如下:

IAPTableViewController.swift:31:9 - line:31:9] typerepr='RMStore')0  swift                 0x000000010f920edb llvm::sys::PrintStackTrace(__sFILE*) + 43
1  swift                    0x000000010f92161b SignalHandler(int) + 379
2  libsystem_platform.dylib 0x00007fff835fcf1a _sigtramp + 26
3  swift                    0x000000010dbb0425 swift::Lowering::TypeLowering      
const* swift::CanTypeVisitor<(anonymous namespace)::LowerType, swift::Lowering::TypeLowering const*>::visit<>(swift::CanType) + 549

我不知道这里有什么问题。

1 个答案:

答案 0 :(得分:0)

不知道为什么它不起作用,但swift2的正确语法是:

func fetchAvalibleProducts()
{
    RMStore.defaultStore().requestProducts(IAPProductsIDs, success:  {
        (products, invalidProducts) in
        self.IAPProducts = products as! [SKProduct]
        }, failure:  {
            error in print(error)
    })
}