Я хочу опубликовать приложение для iOS с автоматическим продлением подписки. Хотя информации по этому поводу очень много, многое уже устарело, поэтому я расскажу, чего я уже достиг.
Я работаю в Swift 2.0, поэтому ни один объективный код на C мне не поможет.
Я не буду использовать свой собственный сервер для связи с Apple, чтобы проверить квитанцию, поэтому я считаю, что мне нужно либо установить связь приложения с серверами Apple напрямую, либо я могу проанализировать квитанцию локально на устройстве.
Мне удалось найти квитанцию на устройстве (не уверен, что их несколько), используя следующий код
func checkForReceipt() { let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL let fileExists = NSFileManager.defaultManager().fileExistsAtPath(receiptUrl!.path!) if fileExists { let receiptData = NSData(contentsOfURL: receiptUrl!) //Now what do I do to decode the data and validate the receipt } else{ requestReceipt() } }
Однако я не могу понять, как расшифровать квитанцию, чтобы затем определить срок годности и другие шаги проверки, чтобы убедиться, что квитанция действительна.
Я должен сказать, что очень расстраивает то, что что-то очень важное и полезное для разработчиков становится настолько трудным для отслеживания и поиска. Любая помощь приветствуется и, надеюсь, будет полезна многим другим.