From 90db71953da28bb017856ea9b67497bf0414cec7 Mon Sep 17 00:00:00 2001 From: James Montemagno Date: Fri, 28 Sep 2018 15:17:19 -0700 Subject: [PATCH] Fix Null Exceptions on ValidateReceipt iOS --- src/Plugin.InAppBilling.iOS/InAppBillingImplementation.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Plugin.InAppBilling.iOS/InAppBillingImplementation.cs b/src/Plugin.InAppBilling.iOS/InAppBillingImplementation.cs index 2c68f0e..41a7c02 100644 --- a/src/Plugin.InAppBilling.iOS/InAppBillingImplementation.cs +++ b/src/Plugin.InAppBilling.iOS/InAppBillingImplementation.cs @@ -217,8 +217,11 @@ Task ValidateReceipt(IInAppBillingVerifyPurchase verifyPurchase, string pr // Get the receipt data for (server-side) validation. // See: https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573 - var receiptUrl = NSData.FromUrl(NSBundle.MainBundle.AppStoreReceiptUrl); - var receipt = receiptUrl.GetBase64EncodedString(NSDataBase64EncodingOptions.None); + NSData receiptUrl = null; + if(NSBundle.MainBundle.AppStoreReceiptUrl != null) + receiptUrl = NSData.FromUrl(NSBundle.MainBundle.AppStoreReceiptUrl); + + var receipt = receiptUrl?.GetBase64EncodedString(NSDataBase64EncodingOptions.None); return verifyPurchase.VerifyPurchase(receipt, string.Empty, productId, transactionId); }