自動更新可能なサブスクリプションを処理するためにMKStoreKitを使用しています。現在、1か月のサブスクリプションをテストしています(テストでは、サブスクリプションは5分間続きます)。サブスクリプションを購入した後、有効期限が切れるのを待ちます。有効期限が切れたら、サブスクリプションがまだアクティブかどうかを確認します。
[[MKStoreManager sharedManager] isSubscriptionActive:kSubscriptionMonthlyIdentifier]
これは私が期待するようにfalseを返します。ただし、自動更新であるため、その時点でMKStoreKitがAppleに連絡してサブスクリプションを再検証することを期待しています。MKStoreKitを間違って使用している可能性がありますが、ドキュメントとブログ投稿によると、次のように単純である必要があります。
//App Delegate
[MKStoreManager sharedManager];
//lets me know when the subscription was purchased
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(subscriptionPurchased:) name:kSubscriptionsPurchasedNotification object:nil];
//lets me know when the subscription expires
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(subscriptionFailed:) name:kSubscriptionsInvalidNotification object:nil];
//In a view with subscription feature
if([[MKStoreManager sharedManager] isSubscriptionActive:kSubscriptionMonthlyIdentifier]){
//access to subscription feature
}
//Where the user would purchase the subscription
[[MKStoreManager sharedManager] buyFeature:subscriptionId onComplete:^(NSString* purchasedFeature, NSData* receiptData)
{
...
}
onCancelled:^
{
...
}
私の質問は、サブスクリプションがApple側でまだアクティブなのに、MKStoreKitが私に知らせないのはなぜですか?