購入後に iAd が削除されない理由がわかりません。
iAdを含むファイルで私が試していることは次のとおりです。
#define kInAppPurchaseUpgradeProductId @"kInAppPurchaseUpgradeProductId"
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
BOOL adsAreOff = [defaults boolForKey:kInAppPurchaseUpgradeProductId];
if (!adsAreOff)
{
adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.frame = CGRectOffset(adView.frame, 0, -50);
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
CGRect adFrame = adView.frame;
adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height;
adView.frame = adFrame;
adView.backgroundColor = [UIColor clearColor];
[self.view addSubview:adView];
adView.delegate=self;
self.bannerIsVisible=NO;
}
else
{
[adView removeFromSuperview];
}
アプリ内購入コードで試していることは次のとおりです。
-(void)purchaseUpgrade
{
SKPayment * payment = [SKPayment paymentWithProductIdentifier:kInAppPurchaseUpgradeProductId];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
-(IBAction)purchaseButtonTapped
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:adView forKey:kInAppPurchaseUpgradeProductId];
// I tried this first, didn't work
//[defaults setBool:TRUE forKey:kInAppPurchaseUpgradeProductId];
[defaults synchronize];
[self purchaseUpgrade];
}
これは適切な場所で処理されていますか、それともpaymentQueue
メソッドで処理する必要がありますか?