1

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

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

#import "RMStore.h"

在 swift 模型中,我这样使用:

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

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

4

1 回答 1

0

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

func fetchAvalibleProducts()
{
    RMStore.defaultStore().requestProducts(IAPProductsIDs, success:  {
        (products, invalidProducts) in
        self.IAPProducts = products as! [SKProduct]
        }, failure:  {
            error in print(error)
    })
}
于 2015-12-08T16:49:29.223 回答