我有一个自 Swift 3 发布以来已弃用的收据验证类。我解决了一些问题,但我仍然有很多...
这是我使用的 GitHub 源代码:https ://gist.github.com/baileysh9/4386ea92b047d97c7285#file-parsing_productids-swift和https://gist.github.com/baileysh9/eddcba49d544635b3cf5
第一个错误:
var p = UnsafePointer<UInt8>(data.bytes)
编译器抛出:无法使用 UnsafeRawPointer 类型的参数列表调用 UnsafePointer(UInt8) 类型的初始化程序
第二个错误
while (ptr < end)
二元运算符 < 不能应用于两个 UnsafePointer(UInt8) 操作数
非常感谢你:)
编辑
感谢 LinShiwei 的回答,我找到了 UnsafePointer 声明的解决方案。它编译但尚未测试(因为其他错误避免我测试):
func getProductIdFromReceipt(_ data:Data) -> String?
{
let tempData: NSMutableData = NSMutableData(length: 26)!
data.withUnsafeBytes {
tempData.replaceBytes(in: NSMakeRange(0, data.count), withBytes: $0)
}
var p: UnsafePointer? = tempData.bytes.assumingMemoryBound(to: UInt8.self)