Я наконец-то перевожу класс MKStoreKit из Muguntu Kumar в Swift, чтобы избавиться от регулярно возникающих проблем с target-c и в конечном итоге поделиться им с надеждой на благо всех. Тем не менее, я застрял в:
if let productIdentifier = receipt["product_id"], let expiresDateMs = receiptDictionary["expires_date_ms"] { // renewable subscription
let previouslyStoredExpiresDateMs = self.purchaseRecord?[productIdentifier];
if previouslyStoredExpiresDateMs==nil{
self.purchaseRecord?[productIdentifier] = expiresDateMs;
purchaseRecordDirty = true;
} else if Double(truncating: expiresDateMs) > Double(truncating: previouslyStoredExpiresDateMs!) {
self.purchaseRecord?[productIdentifier] = expiresDateMs;
purchaseRecordDirty = true;
}
}
в функции startValidatingReceiptsAndUpdateLocalStore, учитывая, что поля в https://developer.apple.com/documentation/appstorereceipts даже не включают в себя поле product_id, необходимое для доступа к записи покупки в строке, расположенной ниже,Во-первых, я не знаю, как могла бы работать оригинальная библиотека Objective_C, учитывая, что это поле никогда не появляется, во-вторых, я хотел бы знать, чем я могу заменить это значение на индекс self.purchaseRecord.
Спасибо, Фабрицио