奇妙な質問です。私は数時間壁に頭を向けていて、解決できませんでした。canDisplayBannerAdsをNOに変更すると、広告バナーを削除するビューが更新されません
私はストーリーボードを使用するiOS 7専用アプリを持っています。メインルートビューコントローラでは、self.canDisplayBannerAds = YESを使用して、ビューの下部にiAdバナーを表示します。これは完全に機能します。
私は設定ビューコントローラを持っており、そこからユーザーはアプリ内購入を行って広告を完全に削除することができます。その機能も同様に機能します。 NSUserDefaults standardUserDefaultsにBOOL値を格納して、購入したかどうかを追跡します。
私は、ユーザーがバナーに広告を受け取っている場合は、設定ビューコントローラーに入り、次に購入ビューコントローラーに移動し、購入を成功させ、メインルートビュー、バナー広告見えるままです。ユーザーは完全にアプリを終了した場合relaunches、それが再び表示されません、そして、これは私はviewWillAppearにバナーを表示する方法であるbecuase:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
bool saved = [defaults boolForKey:t_Save];
if (saved == NO) {
self.canDisplayBannerAds = YES;
} else if (saved == YES) {
self.canDisplayBannerAds = NO;
}
NSLog(self.canDisplayBannerAds ? @"YES" : @"NO");
そこで彼らは、アプリを再起動したときに、このロジックが正常に動作します購入した後、または購入した後にしかし、私は彼らが購入した直後にビューを更新したい。しかし、私の人生では、アプリを最初に起動したときにそのバカ広告が消えることはありません。
self.canDisplayBannerAds = NOと設定したボタンを作成すると、バナー広告が消えることがあります。しかし、viewWillAppear、viewDidAppearで呼び出されたとき、または購入したgetを呼び出す専用のメソッドでさえも動作しません。
私は、バナービューがどこかのキャッシュに設定されていると考えていましたが、それだけでは何も出てこないのですが、強制する方法はわかりません。私は、ルートビューコントローラに基本的に無関係にして最初からやり直すようにしてもいいかもしれないと思っていたかもしれませんが、それを強制する方法もわかりません。
誰でも意見はありますか?
私は同様の問題を抱えています。購入(または復元)が行われたビューコントローラで、購入(または購入を復元)した後、広告は引き続き表示されます。ただし、バナー広告なしのサイズ*にビューがリサイズされています。だから、私の場合、スクロールビューは現在かなりスクロールしていません。広告を持つmayアプリの他のビューコントローラでは、購入時に正しく無効になります。また、購入時に広告が表示されていない場合は、問題は発生しません。 –