0

我正在尝试更新已经具有 Three20 库的应用程序。现在我正在使用 xcode 4.5,每次我尝试制作存档时,我都会收到此错误:

Three20/Three20.h 文件未找到

一开始我无法进行任何类型的构建,但是在构建的标题搜索路径中添加了 $(BUILT_PRODUCTS_DIR)/../three20 和 $(BUILT_PRODUCTS_DIR)/../../three20以及我可以在我的设备中进行构建的目标设置。无论如何,如果我尝试制作存档来发布我的应用程序,则会返回相同的错误。我可以做什么?我已经重新安装了 Three20 的最新版本.... 我必须尝试我在互联网上找到的这个解决方案:

转到 Xcode4 Preferences (Cmd + ,) > Locations > Build Location > 并选择“Place build products in locations specified by targets”</p>

在 xcode 4.5 中,我无法使用此解决方案...也许构建位置菜单已更改,我找不到选项“将构建产品放置在目标指定的位置”...。有人知道我在哪里可以找到此设置吗?

至少有人如何成功地在 Xcode4.5 和 Three20 上制作了存档?

4

3 回答 3

2

我也支持从three20切换,但有时并不是那么简单。

要解决您的问题,您可以尝试使用CocoaPods。它是一个库依赖工具,可让您添加所需的任何库。几周前有人添加了三个 20 的 pod。

这应该让您使用标准的 xcode 归档过程来构建您的项目。

如果你不想使用 cocoapods,你也可以使用“Build for...”->“Archiving”来构建该应用程序。您可以在相同的“产品”菜单中找到它。它将生成一个 .app 文件,您可以使用该Application Loader应用程序提交该文件。

您可以.app通过在项目侧边栏中的“产品”文件夹下二次单击目标名称来找到该文件。

于 2012-10-23T15:54:12.597 回答
1

我做了以下工作以使其适合我:

  1. 对于three20静态库,我使用cocoapods将文件包含在主项目中..它刚刚摆脱了three20给我带来的所有麻烦(而且它们很多..)顺便说一句,我尝试用Nimbus替换three20 ..但是Nimbus缺少我的项目使用three20的一些功能......所以Nimbus没有帮助。
  2. 在所有其他子项目/静态库的构建设置下将跳过安装设置为是,并在构建阶段将复制标头从公共切换到项目
  3. 最重要的是:在子库下.. 在构建阶段我确保将复制文件目标从更改Absolute pathproducts directory.

就是这样!

提示:要了解导致存档创建存档文件而不是 ipa 的违规文件,请执行以下操作:

  1. 选择存档并单击分发按钮。
  2. 选择“保存已构建产品”选项。
  3. 点击下一步并保存。
  4. 在 Finder 中浏览创建的目录。
  5. “libraries”子目录将标识您需要将 Skip Install 设置为 Yes 的库。
  6. 在某些情况下,usr/local/include将识别您需要从 Public 移动到 Project 的罪魁祸首文件,或者您必须从绝对路径更改为 products 目录的文件。但该目录(即 usr/local/include)因您的子库目录结构而异
于 2013-02-27T19:08:44.020 回答
-2

Three20好久没更新了,bug很多,搭建这个框架非常难。

你可以试试nimbus。它来自three20。

雨云的背景

Nimbus 的构建灵感来自 Three20 框架。话虽如此,Nimbus 很难避免 Three20 的一些基本问题。其中:

糟糕的文档。意大利面条依赖。患有“厨房水槽”情结。复杂的构建结构。大量难以解决的错误。接近于零的测试覆盖率。对于它的弱点,Three20 确实通过其功能集提供了很多价值。Facebook、LinkedIn、Posterous、Meetup 和 SCVNGR 等公司在应用商店的 100 多个应用中使用了它。

Nimbus 希望有一天能在逐个功能比较中提供与 Three20 一样多的价值,但同时具有崇高的文档和测试覆盖率的无价优势。

于 2012-10-22T14:15:42.447 回答