Проверьте SimStoreKit . Это «смоделированная версия iPhone's StoreKit для тестирования пользовательского интерфейса магазина в симуляторе iPhone или даже на устройстве без настройки IAP в Connect».
SimStoreKit хранит покупки в пользовательских настройках по умолчанию под ключом ILSimSKTransactions
. Итак, чтобы очистить все покупки, вы можете:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"ILSimSKTransactions"]
На симуляторе вы можете просто удалить свое приложение и установить его снова.
Я успешно использовал SimStoreKit для отладки своего магазина приложений перед тестированием с песочницей. Прелесть этой библиотеки в том, что ее можно настроить на использование тех же имен классов, что и в реальной структуре StoreKit (предварительно выполнив необходимые #define ILSimReplaceRealStoreKit 1
действия #include <ILSimStoreKit.h>
).
В исходные файлы, где мне нужно получить доступ к StoreKit, я включаю этот файл заголовка:
#import <TargetConditionals.h>
#if TARGET_IPHONE_SIMULATOR
#define kILSimAllowSimulatedStoreKit 1
#define ILSimReplaceRealStoreKit 1
#import <ILSimStoreKit.h>
#else
#import <StoreKit/StoreKit.h>
#endif
Это дает эффект использования SimStoreKit, когда я запускаю на симуляторе, и реального StoreKit, когда я запускаю на устройстве.