【问题标题】:PhoneGap template-based app failing to compile AdWhirl sourcesPhoneGap 基于模板的应用程序无法编译 AdWhirl 源
【发布时间】:2012-01-11 22:16:35
【问题描述】:

使用 Xcode4.2.1,带有一个基本的基于 PhoneGap 模板的应用程序。 (我说的是模板,但我现在找不到它:(-PhoneGap 是一个静态框架)。

该应用程序可以自行运行。

现在尝试添加AdWhirl。 AdWhirl 以源文件的形式提供 - 没有它自己的库,但有一些用于您使用的特定广告服务的库。

我已将文件夹添加到项目中,但它似乎无法编译 AdWhirl 源代码 - 如果修改/破坏 AdWhirl 代码,我不会收到任何编译错误。

在我将 AdWhirl 标头包含/导入到我的应用程序的地方,我不得不调整 AdWhirl 文件中的相关导入以找到它们的依赖项 - 似乎与上述问题有关。

我可以使用该 hack 进行编译 - 但无法链接 - 缺少 AdWhirlView,这似乎也是由于第一个问题 - 未编译,因此无法链接。

在构建阶段/编译源代码下,我只有 2 项:main.m 和 AppDelegate.m - 我需要在此处添加 AdWhirl 代码吗?

Here is a sample project 只有 AdWhirl 的东西,没有 PhoneGap,但仍然有问题:(

提前感谢任何提示/指针。

【问题讨论】:

  • AdWhirl 是如何分发的?是静态库吗?

标签: objective-c ios5 cordova xcode4.2 adwhirl


【解决方案1】:

只是想在这里发布我在 Twitter 上给出的答案。似乎问题在于 Xcode 对文件夹引用不满意。尝试将 AdWhirl 文件重新导入您的项目,但告诉 Xcode 为文件夹添加组,而不是文件夹引用。 (顺便说一句,如果有人知道为什么 Xcode 会因为文件夹引用而窒息,我很想听听。)

然后,您将开始收到有关 ARC 的错误以及与 Google Ads 框架有关的文件丢失。因此,您必须添加 Google Ads 文件才能消除错误;然后,您需要确保在您的项目中禁用 ARC。如果您想使用 ARC,那么最好的办法是将 AdWhirl 重新打包为一个在没有 ARC 的情况下构建的静态库,并将其作为您工作区中的依赖项。

【讨论】:

  • 感谢 Jon,在重新添加为组后,我注意到在“编译源”配置下,它现在列出了所有 AdWhirl 文件 - 所以我可以手动添加所有 44 个文件。 .. :).
猜你喜欢
  • 1970-01-01
  • 2012-06-06
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
相关资源
最近更新 更多