iAd框架的通用iPhone/iPad项目

问题描述:

如何设置支持iAd的通用项目(仅在iPhone应用程序中)?iAd框架的通用iPhone/iPad项目

使用iPhone SDK 4,假设我做以下步骤:

  1. 开放的XCode;
  2. 进入File> New Project;
  3. 选择基于窗口的应用程序(或其他),选择产品:通用(并选择项目名称后)。

它将像往常一样创建一个带有iPhone/iPad组的通用项目框架。 现在,我决定在iAd系统我的iPhone应用程序整合,所以我做到以下几点:

  1. 在项目组名为框架右键单击>添加>现有框架...
  2. 选择iAd.framework> Add

到目前为止,这么好。我可以简单地使用Active Executable构建并运行为Project Name - iPhone Simulator 4.0并且项目运行正常。假设我将Active Executable更改为Project Name - iPad Simulator 3.2。尽管iAd.framework仍然在框架中被成功引用(未标记为红色),但该应用程序在iPad模拟器中崩溃,并且出现以下错误消息:

dyld:Library not loaded:/ System/Library/Frameworks/iAd.framework/iAd 引用来源:/ Users/nexia1/Library/Application Support/iPhone Simulator/3.2/Applications/8479EE14-28AA-4628-A668-CCF3FE770628/Untitled.app/Untitled 原因: image not found

我可以在这样一个Universal项目中使用iAd吗? (即使我只在我的iPhone应用程序中引用它)。

在此先感谢

您需要薄弱环节的框架,并在代码中询问是否存在的类。

苹果有这个类似的例子:http://developer.apple.com/iphone/library/samplecode/MailComposer/index.html

这是关于3.0在应用程序的邮件表,同时仍然在2.x的运行,但你会得到点。

+0

谢谢Eiko,解决了我的问题! 为简便起见,步骤如下:进入目标>选择目标并单击信息。在链接库中选择了iAd.framework并将Type从Required改为Weak。 谢谢! – 2010-06-24 18:03:05

+0

在将消息发送到ADBannerView之前还会检查UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone,否则您可能会遇到一些崩溃 – valexa 2010-07-16 14:10:41