存档时,所有RestKit项目都无法构建

时间:2011-11-28 22:27:31

标签: ios xcode4 restkit

  

这个问题反映了RESTKIT 0.9.x。

     

如果您是新手,请考虑使用NEWER 0.10.x分支。

我最近继承了一个使用restkit.org)的项目。我已经开始使用与402-new-build-process更兼容的分支()。

我的项目构建并运行所有示例项目,但是当归档应用程序时,构建失败:

/Users/AUser/Documents/SubFolder/stable-branches/project-iOS-client/RestKit/Examples/RKTwitterCoreData/Classes/RKTwitterAppDelegate.m:9:9: fatal error: 'RestKit/RestKit.h' file not found [2]
 #import <RestKit/RestKit.h>
         ^
1 error generated.

Xcode - failed to archive rest kit example project

我已经关注了项目维基上的Installation Troubleshooting guide,但这不起作用。

根据Blake's answer我正在构建DerivedData目录:

DerivedData directory settings

此外,我尝试将标题搜索设置为这些(在许多组合中[只是猜测]):

  

“$(BUILD_DIR)/ RestKit /建造”
  “$(SOURCE_ROOT)/ RestKit /编译”
  “$(SOURCE_ROOT)/../../构建”
  “$(BUILD_DIR)/../../ Build”

8 个答案:

答案 0 :(得分:7)

我认为所有这些修复都是在黑暗中刺伤,或者至少对我来说是这样的。我有一半期待读一篇关于从一个年轻的处女那里得到一些头发并在Mac上烧掉它的一篇文章。

如果它在dev中为你编译但不是为了编译,那么它必然会变得简单。或者至少对我而言。

我的源文件不在正确的位置:

搜索标题设置为“$(SOURCE_ROOT)/ RestKit / Build”

但我只是将proj文件从我下载的地方拖到了XCode中。在编译调试等时,这绝不是一个问题。就在归档时,我没有发现它一段时间。

确保RestKit / Build的路径是实际文件所在的位置。

为我修复了它,不像我读过的所有指针修复。就像将标题移动到一个组等...那是多少垃圾。

祝你好运,希望这会有所帮助。感谢Restkit团队,这确实是一个很棒的框架。

杰米

答案 1 :(得分:3)

我正在构建开发分支并在我的根git文件夹中集成 RestKit作为子模块

+ root project folder
|--+ RestKit
|--+ <Projectname> 
   |--+ <Projectname>.xcodeproj

所以我使用以下搜索路径

"$(BUILT_PRODUCTS_DIR)/../../Headers"
"$(SOURCE_ROOT)/../RestKit/Build"

答案 2 :(得分:2)

!!!更新到最新版本的分支!!!

我刚刚在Xcode 4.2上构建了RKCatalog和RKTwitterCoreData作为存档而没有问题。由于代码签名问题,我失败了。您是否确认使用DerivedData目录构建:

  

RestKit假设您正在使用构建到DerivedData目录的现代Xcode项目。确认您的设置   通过“文件”菜单&gt; “项目设置......”。在打开的工作表中的“构建”选项卡上,单击“高级...”   按钮并确认您的“构建位置”是“派生数据位置”。

我可以推动将标头rsync转移到已知位置的更改,但我希望标准化DerivedData可以简化该过程。

答案 3 :(得分:1)

重申Jamie Reynolds的回答,大多数(如果不是全部)你已经将你的标题搜索路径设置为“$(SOURCE_ROOT)/ RestKit / Build”,这在调试时很好,也可以归档,除非你当然Restkit框架实际上就在这个目录中。

和大多数人一样,你可能只是从默认下载目录链接到框架,在这种情况下转到finder,打开Restkit-&gt;构建cmd + i以查看信息并选择目录路径,复制并替换“$(SOURCE_ROOT)/ RestKit / Build”,不要忘记括号。

我的是“/ Users / edwin-b / Downloads / RestKit-RestKit-8d0d9fc / Build”就像魅力一样

答案 4 :(得分:1)

我按照几个SO答案中列出的步骤进行操作,问题最终成为了标题搜索路径的问题。有时在XCode 4.2中添加RestKit并尝试在XCode 4.3.1中存档(我在启动项目和提供构建之间更新了两次),在Header搜索路径列表中注入了一个逗号,Xcode无法再解析。因此,RestKit标头位置的条目是:

"$(SOURCE_ROOT)/RestKit/Build", 

应该刚刚出现:

"$(SOURCE_ROOT)/RestKit/Build"

虽然这不会产生任何构建到设备或SIM卡的问题,但一旦我尝试存档,就会导致OP报告错误。

答案 5 :(得分:1)

只需添加“$(SOURCE_ROOT)/ RestKit / Build”目标“标题搜索路径”,感谢answer

答案 6 :(得分:1)

我确定其中一些是多余的,但我花了3个多小时调试这个东西,几乎毁了我的项目。所以...在这里你拥有它。

为了您的理智,在弄乱RestKit项目路径之前创建项目的zip备份,将所有文件(特别是项目)提交到源代码控制,交叉手指,在Mac上烧掉处女头发,然后继续。

逐一删除后,我将其缩小到此行,允许我存档。 “$(SOURCE_ROOT)/../ RestKit /编译” Restkit是与主项目文件夹

处于同一级别的文件夹

solution

答案 7 :(得分:0)

我添加了这个答案,以便稍后找到它 - 它符合上面的一些回复。查看您的目标&#34;标题搜索路径&#34; - 根据您的restkit目录在项目中的位置,在Alex Stones的答案中添加上面指定的一行。就我而言,它是&#34; $(SOURCE_ROOT)/../ RestKit / Build&#34;