看起来界面构建器中的库有一个 iAd,我可以将其拖到我的 .xib 文件中。但这似乎不是正确的方法,因为我对 iAd 框架的链接很弱,并且可能没有 iOS 4.0 的设备将无法工作。
因此,我需要以编程方式添加横幅(即,不使用界面生成器),对吗?
看起来界面构建器中的库有一个 iAd,我可以将其拖到我的 .xib 文件中。但这似乎不是正确的方法,因为我对 iAd 框架的链接很弱,并且可能没有 iOS 4.0 的设备将无法工作。
因此,我需要以编程方式添加横幅(即,不使用界面生成器),对吗?
是的,如果您还希望支持 3.x 用户,您可能需要以编程方式创建 ADBannerView 实例。如果支持 iAd (4.x),您可能会进行运行时检查并加载一个 Nib 文件,如果不支持 (3.x),则加载另一个 Nib 文件,但这似乎为您创建了很多额外的工作。
这样做很简单。Apple 在其iAdSuite示例应用程序中提供了一个示例。查看其中的 BasicAdBanner 部分以获得最简单的可能实现。
在该-createADBannerView
方法中,他们甚至描述了在处理旧操作系统版本时要查找的内容:
// --- WARNING ---
// If you are planning on creating banner views at runtime in order to support iOS targets that don't support the iAd framework
// then you will need to modify this method to do runtime checks for the symbols provided by the iAd framework
// and you will need to weaklink iAd.framework in your project's target settings.
// See the iPad Programming Guide, Creating a Universal Application for more information.
// http://developer.apple.com/iphone/library/documentation/general/conceptual/iPadProgrammingGuide/Introduction/Introduction.html
// --- WARNING ---
老实说,在非 iPad 应用程序上支持 3.x 用户的价值正在减少。作为一项实验,我将 iAds 添加到我的一个应用程序的更新中,并使其仅 4.0。在已升级的 50,000 人中,只有两人抱怨它与 3.x 不兼容。一旦更新可用,我预计 iPad 用户对 4.2 的采用也会相当快。
如果您打算在 iOS 3.x 上向用户提供应用程序,我相信您需要以编程方式执行此操作或提供两个 nib。