MKStoreKit 3.1 требует некоторой настройки перед использованием;он не просто работает из коробки.
В частности, вам нужно сообщить MKStoreKit список функций / идентификаторов продуктов, которые вы настроили в iTunes Connect.Как ни странно, вы делаете это, изменяя исходный код, вместо того, чтобы передавать массив аргументов.
Проверьте MKStoreManager.h строк 26-34 :
// CONFIGURATION STARTS -- Change this in your app
define kConsumableBaseFeatureId @"com.mycompany.myapp."
#define kFeatureAId @"com.mycompany.myapp.featureA"
#define kConsumableFeatureBId @"com.mycompany.myapp.005"
// consumable features should have only number as the last part of the product name
// MKStoreKit automatically keeps track of the count of your consumable product
#define SERVER_PRODUCT_MODEL 0
// CONFIGURATION ENDS -- Change this in your app
Вы должны изменить это.Если вы этого не сделаете, вы получите ошибки, подобные той, которую вы опубликовали.
Но это не единственное место.Также необходимо обновить функцию реализации requestProductData
в MKStoreManager.m , где используются kFeatureAId
и kConsumableFeatureBId
.
-(void) requestProductData
{
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:
kFeatureAId,
kConsumableFeatureBId,
nil]];
request.delegate = self;
[request start];
}
Необходимо указать список идентификаторов продуктасам;MKStoreKit не может угадать это для вас.
Тем не менее, это странно.Это заставляет вас желать, чтобы MKStoreKit просто принял массив идентификаторов продукта в своем инициализаторе!