这个问题反映了RESTKIT 0.9.x。
如果您是新手,请考虑使用NEWER 0.10.x分支。
我最近继承了一个使用restkit(restkit.org)的项目。我已经开始使用与402-new-build-process更兼容的分支(xcode4.2)。
我的项目构建并运行所有示例项目,但是当归档应用程序时,构建失败:
/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.
我已经关注了项目维基上的Installation Troubleshooting guide,但这不起作用。
根据Blake's answer我正在构建DerivedData目录:
此外,我尝试将标题搜索设置为这些(在许多组合中[只是猜测]):
“$(BUILD_DIR)/ RestKit /建造”
“$(SOURCE_ROOT)/ RestKit /编译”
“$(SOURCE_ROOT)/../../构建”
“$(BUILD_DIR)/../../ Build”
答案 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是与主项目文件夹
处于同一级别的文件夹
答案 7 :(得分:0)
我添加了这个答案,以便稍后找到它 - 它符合上面的一些回复。查看您的目标&#34;标题搜索路径&#34; - 根据您的restkit目录在项目中的位置,在Alex Stones的答案中添加上面指定的一行。就我而言,它是&#34; $(SOURCE_ROOT)/../ RestKit / Build&#34;