вы можете получить массив, содержащий все идентификаторы продукта, которые пользователь уже приобрел, как этот
- (void) checkPurchasedItems
{
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}//You Call This Function
//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
purchasedItemIDs = [[NSMutableArray alloc] init];
NSLog(@"received restored transactions: %i", queue.transactions.count);
for (SKPaymentTransaction *transaction in queue.transactions)
{
NSString *productID = transaction.payment.productIdentifier;
[purchasedItemIDs addObject:productID];
}
}
затем, когда вы заполняете свои элементы, вы можете проверить, содержит ли их идентификатор, и отключить вашу кнопку.
Конечно, это легко сделать, используя базу данных или NSUserDefault, но этот способ полезен в случае, если пользователь удаляет приложение и устанавливает его снова, или если он использует более одного устройства.