2014-02-06 1 views
0

Я все еще борюсь с MKStoreKit.Ошибка покупки MKStoreKit

Существует кнопка «buyAction», которая должна запустить процесс покупки в приложении. Я пытался реализовать следующий учебник советы, но он по-прежнему не работает:

- (IBAction)buyAction:(id)sender { 
NSLog(@"buyFeature") 
[[MKStoreManager sharedManager] buyFeature:@"PBonnet.TOEIC3.Package1" 
           onComplete:^(NSString* purchasedFeature, NSData*purchasedReceipt, NSArray* availableDownloads) 
{ package1bought=1; 
    NSLog(@"success"); 

} 
           onCancelled:^ 
{ NSLog(@"failed purchase"); 

}]; 

} 

На onComplete линии, у меня есть 2 сообщения об ошибках: «Имя параметра опущена» и «Ожидаемое выражение».

Благодарим за помощь.

Приветствия

EDIT из onComplete линии, как предполагается, на матовой. Теперь в журнале отображается «buyFeature», но после этого ничего не происходит. Магазин приложений не запускается. Журнал показывает это сообщение об ошибке:

NSUbiquitousKeyValueStore error: PBonnet.TOEIC3 has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement.

ответ

1

Посмотрите на заголовок для MKStoreManager. Вот декларация buyFeature:onComplete:onCancelled:

- (void) buyFeature:(NSString*) featureId 
     onComplete:(void (^)(NSString* purchasedFeature, NSData*purchasedReceipt, NSArray* availableDownloads)) completionBlock 
     onCancelled:(void (^)(void)) cancelBlock; 

Так, только для начала, мы видим, что onComplete: требует блока, который принимает три параметра. Но вы поставляете блок без параметров. Таким образом, компилятор справедливо жалуется, что вы забыли параметры блока.

Фактически проблема не имеет ничего общего с MKStoreKit. Проблема в том, что вы не знаете C - в частности, вы не знаете синтаксис для блоков. Я бы предложил прочитать Apple's explanation of this topic.

+0

Право. Интересно. Я не понимаю, почему в официальном учебном пособии (который представлен разработчиком набора) показаны только одни параметры (http://blog.mugunthkumar.com/coding/using-mkstorekit-in-your-apps/)? Он не занимается покупкойReceipt и доступными загрузками. – GoldXApp

+0

Я не знаю; Я ничего не знаю о MKStoreKit. Но _you_ не включал _any_ параметров, поэтому в любом случае (независимо от того, хочет ли он один или три параметра) он не будет компилироваться. – matt

+0

Кстати, они не должны использовать префикс 'MK' для своих имен. Этот префикс (и все остальные двухсимвольные префиксы основной буквы) принадлежит Apple. – matt

 Смежные вопросы

  • Нет связанных вопросов^_^