2011-09-12 1 views
1

私は、iAdで有料アプリとそれに付随するライト版を構築しています。必須ではない場合、実際にiAdをオフに切り替えるにはどうすればよいですか?

2011-09-12 15:05:24.751 [29318:12b03] ViewController :: bannerView didFailToReceiveAdWithError(NO ADS):エラードメイン= ADErrorDomainコード= 3 "このエラーはログに表示されます。操作を完了できませんでした。広告インベントリを利用できませんでした。 "UserInfo = 0x61d0b60 {ADInternalErrorCode = 3、NSLocalizedFailureReason =広告枠が利用できません}

私はこれをやって、私はペン先でのiAdバナーを持っているとして、私は、私のアプリでIADSへのすべての参照を削除することはできません

[iAdBannerView removeFromSuperview]; 
iAdBannerView.hidden = YES; 
// (not setting) iAdBannerView.delegate = nil; 
iAdBannerView = nil; 

、およびI県:バージョン両方のアプリのバージョンのために、その中にすべての1つのペン先を持っています。したがって、iAdフレームワークは私のバイナリにです。

本当にあなたのアプリを起動しないようにするにはどうすればいいですか?

答えて

0

AppStoreに別々のアプリを2つ提出する場合は、Xcodeとユーザーの条件付きコンパイルごとに別々のターゲットを作成することを真剣に検討します。

このような何か:

#ifdef FREE_VERSION 

// Create iAd Banner 

// add banner to superview 

#endif // FREE_VERSION 

そうすれば、あなたの有料版でものiAdフレームワークにリンクする必要はありませんも、あなたはので、あなたがアプリを紹介するバグの広告を見たAA支払ったユーザーを危険にさらします。

+0

とそれを囲むどこどこでも、その後#define FREE_VERSION 1

そして:あなたのprefix.pchで

あなたはこのようなものが含まれると思います。しかし、バナーはペン先にあります。ですから、ADBannerViewを世界に接続するには、有料版にiAdについても少し教えてください。悲しいかな、明らかにiAdsフレームワークがロードされていると、ログが起動してログにエラーが発生します。有料アプリターゲットからiAdsフレームワークを削除すると、***キャッチされていない例外 'NSInvalidUnarchiveOperationException'のためアプリを終了します。理由: '*** - [NSKeyedUnarchiver decodeObjectForKey:]:クラスのオブジェクトをデコードできません(ADBannerView)'、どちらもうまくいきません。 – RickJansen

+0

その場合、私は無料版と有料版のための別々のペン先を持っているか、それをペン先から削除し、無料バージョンのコードでそれを追加します。 – pgb

+0

まさに私が恐れていたことは:-)ペン先の*すべて*が好きで、プログラム的に物事を追加するのは面倒です。しかし、もし汚れていれば請求書を支払う...私はあまりにも厄介なことに誇りを持っていません。ありがとう! – RickJansen

0

プリプロセッサコマンドを使用して、アプリケーションの有料版からiAdを削除することができます。あなたは、IADSを参照し、私が何をすべきかです#if FREE_VERSION#endif

関連する問題