【问题标题】:In-App purchases appStoreReceiptURL is empty应用内购买 appStoreReceiptURL 为空
【发布时间】:2017-12-04 02:03:01
【问题描述】:

2 个月前,我在我的应用中进行了自动更新购买,并且沙盒一切正常。但是现在我无法通过 NSBundle.mainBundle().appStoreReceiptURL 获得收据,这条路径不会退出。怎么会这样? 2 个月前(或更少)有收据。请帮帮我!这就是我获得收据的方式(swift 2)-

static func receipt() -> String {
    print("RECEPT URL", NSBundle.mainBundle().appStoreReceiptURL)

    guard let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL, let receiptPath = receiptUrl.path else { return "" }
    let fileManager = NSFileManager.defaultManager()
    if fileManager.fileExistsAtPath(receiptPath){
        var receiptData: NSData?
        do {
            receiptData = try NSData(contentsOfURL: receiptUrl, options: NSDataReadingOptions.DataReadingMappedAlways)
        }
        catch {
            print("ERROR: " )
        }

        //guard let receiptData = NSData(contentsOfURL: receiptUrl) else { return "" }
        if let receiptString = receiptData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0)) {
            print("REC", receipt, receiptString)

            return receiptString
        }
    }
    return ""
}

【问题讨论】:

    标签: ios swift in-app-purchase


    【解决方案1】:

    根据文档,appStoreReceiptURL 可能会或可能不会指向带有收据的文件。您可以使用SKReceiptRefreshRequest请求收据刷新。

    【讨论】:

    • 我成功了,但什么也没发生。收据仍然为零。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多