我正试图从我的手机中获取iOS In App购买收据,然后在Swift的回调中将其作为JavaScript对象兼容的方式传回。这可能吗? Swift中的对象是一个NSData类型,但在尝试将此对象传回原生作为时,我得到RCTJSONStringify() encountered the following error: Invalid type in JSON write (NSConcreteData)
。
我还尝试编码为base64,然后使用window.atob(data)
在另一端进行解码,但得到了各种奇怪的字符。
@objc func validateReceipt(subscriptionType: String?, callback successCallback: RCTResponseSenderBlock) -> Void {
let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL
let receipt: NSData = NSData(contentsOfURL: receiptUrl!)!
let receiptdata: NSString = receipt.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
successCallback([receipt])
}
非常感谢任何帮助!