Apple рекомендует хранить и проверять все чеки на вашем сервере.
(ИЛИ)
RMStore делегирует сохранение транзакции и предоставляет две необязательные эталонные реализации для хранения транзакций в связке ключей или в NSUserDefaults. Вы можете реализовать свою транзакцию, использовать эталонные реализации, предоставленные библиотекой, или, в случае непотребляемых расходных материалов и автоматически возобновляемых подписок, получить транзакции непосредственно из квитанции.
-(void) startProductPurchase{
[[RMStore defaultStore] requestProducts:[NSSet setWithArray:_products] success:^(NSArray *products, NSArray *invalidProductIdentifiers) {
_productsRequestFinished = YES;
NSLog(@"Product Request Finished");
[self buyApplication:products];
} failure:^(NSError *error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Products Request Failed", @"")
message:error.localizedDescription
delegate:nil
cancelButtonTitle:NSLocalizedString(@"OK", @"")
otherButtonTitles:nil];
[alertView show];
}];
Обновить уведомления о получении (только для iOS 7+)
- (void)storeRefreshReceiptFailed:(NSNotification*)notification;
{
NSError *error = notification.rm_storeError;
}
- (void)storeRefreshReceiptFinished:(NSNotification*)notification { }
Подтверждение получения
RMStore не выполняет проверку квитанции по умолчанию, но предоставляет эталонные реализации. Вы можете реализовать свою собственную пользовательскую проверку или использовать справочные верификаторы, предоставляемые библиотекой.
Оба варианта описаны ниже. Для получения дополнительной информации, проверьте вики.
Справочные верификаторы
RMStore обеспечивает проверку квитанции через RMStoreAppReceiptVerificator (для iOS 7 или выше) и RMStoreTransactionReceiptVerificator (для iOS 6 или ниже). Чтобы использовать любой из них, добавьте соответствующие файлы из RMStore / Optional в ваш проект и установите делегат верификатора (receiveVerificator) при запуске. Например:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
const BOOL iOS7OrHigher = floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1;
_receiptVerificator = iOS7OrHigher ? [[RMStoreAppReceiptVerificator alloc] init] : [[RMStoreTransactionReceiptVerificator alloc] init];
[RMStore defaultStore].receiptVerificator = _receiptVerificator;
// Your code
return YES;
}
Для получения более подробной информации перейдите по ссылкам ниже.
Покупки в iOS легко и просто
Облегченная библиотека iOS для покупок в приложении
Добро пожаловать.
Надеюсь, это поможет вам .............