该应用程序在模拟器中正常运行,构建和运行。
当我连接我的设备(运行iOS 4.3的iPhone 3GS)并以iPhone为目标时,结果为“Build failed”,并显示“No issues”。
查看构建结果窗口,一切都是绿色的,带有复选标记,包括构建失败通知。
扩展成绩单显示没有错误。
我不能排除签名或配置错误的可能性,但它给了我那些错误,我解雇了它们,现在它没有给我任何错误或问题,只是“构建失败;没有问题”
答案 0 :(得分:76)
我一直在“建立失败”这个问题。在“问题”导航器中没有错误(仅警告)。但报告导航器正确显示错误。
答案 1 :(得分:33)
您是否正在使用“下划线”和“空间”等捆绑标识符?
你在其中一个进口中使用.m而不是.h吗? #import“Photo.h”
答案 2 :(得分:21)
我要尝试的第一件事就是清理所有东西(菜单产品/清洁)并再次构建它。你可能已经尝试过了。
您可以在Log Navigator中找到(并且可以在构建期间观察)完整的构建输出。这是“运行”和“构建”按钮正下方小图标的最右侧图标。
构建(和调试)日志文件位于/ Users / you / Library / Developer / XCode / DerviedData / YourProject-abcdefg / Logs / Build(和../Debug)目录中。
我认为您的应用在设备上安装没有任何输出。
答案 3 :(得分:19)
目标公司的产品名称中是否有空格?
我知道在Xcode的早期版本中这没有问题,但似乎他们在Xcode 4中破坏了某些东西,因此它不再起作用(我怀疑它与DerivedData路径无意义有关)。您可以通过将CFBundleDisplayName
中的Info.plist
键设置为${PRODUCT_NAME}
以外的其他内容,在iDevice的启动板上显示应用名称的空格。
答案 4 :(得分:13)
在当地的Cocoa Heads邮件列表中,我被鼓励尝试一个小的默认示例项目 - 我应该在开始时做些事情,以确保我的配置和签名工作。它在我的设备上构建并运行没有问题,因此所有迹象都表明我的代码或项目存在问题。
我将把现有项目中的东西扔进新的示例项目中,如果它以类似的方式失败,我应该能够将问题缩小到更小的感兴趣区域。
我已将应用程序的主要功能添加到新项目中,并且运行正常。这次我做的唯一不同的事情是我没有设置通用二进制文件(目前只有iPhone)并且除了纵向方向外都关闭了。据我所知,其他一切都是一样的,但如果我决定稍后再研究一下,我会对项目文件进行区分,看看还有什么不同。
因此,我的解决方案是启动一个新项目,将旧项目的所有功能都移植到新项目中。
正如保罗在另一个答案中建议的那样,重建目标可能会修复它,但是这样一个简单的项目从头开始重新启动对我来说很容易。
答案 5 :(得分:7)
删除未使用的目标后发生了这种情况。似乎Xcode在我剩下的目标的CFBundleIdentifier(com.company.etc)中放了一个空格。我不得不用外部文本编辑器编辑Info.plist以删除它,然后它工作正常。
答案 6 :(得分:7)
我只是在工作区内添加多个项目并遇到了这个问题。我在其中一个项目中有一个简单的库,我正在构建,我添加了一个基于iOS窗口的目标来测试它。我删除了我为此重命名的第一个目标。阅读本文后,我尝试从.xcodeproj包中删除xcuserdata ,这解决了我的问题。我希望这有助于其他人。在OS X 10.7.1上运行Xcode 4.1。
答案 7 :(得分:7)
在完成所有这些答案之后,我遇到了完全相同的问题,但不同的东西为我解决了这个问题。
问题:
重构后构建失败而没有问题。 (使用编辑重命名了一个类 - >重构 - >重命名)。
永远 Dumbest 解决方案:
去重构(重命名)别的东西(-_-“)。这样做之后,错误是Xcode无法重命名所有适当的文件,并且没有显示错误。然后,在另一个重构之后,来自的错误先前的重构出现了。
答案 8 :(得分:7)
我遇到了同样的问题,并且像其他人一样建议它与捆绑标识符有关。我最近更改了它,作为测试,并在其中加了一个星号。我修好了,不得不清理目标,然后就可以了。
答案 9 :(得分:6)
我有同样的问题。我试图修复它的xcode崩溃。我重新打开它,它运作得很好。也许我很幸运或者什么?无论如何,只要它现在有效,我真的不在乎它有什么问题
答案 10 :(得分:6)
以上解决方案对我不起作用。
我的解决方案是将项目移动到另一个文件夹。
然后,构建错误就像通常那样出现。
答案 11 :(得分:6)
对我来说,构建失败而没有在Issue Navigator中显示任何错误。但是,在Log Navigator中,在该构建会话中,我可以看到错误。就我而言,错误是一个未声明的常量。我导入了所需的头文件,问题得到了解决。我不确定,为什么这个错误没有出现在问题导航器中。
我试图通过故意更改另一个变量的名称来重现此行为。这次,错误显示在“问题导航器”中。所以,我仍然不确定为什么早期的错误不会出现在问题导航器中。
希望这有帮助。
答案 12 :(得分:6)
如果您更改了包标识符并清除了项目,但它也无效,请尝试清空/ Users / YOUR_USERNAME / Library / Developer / Xcode / DerivedData目录。
它对我有用。
答案 13 :(得分:4)
我知道问题是什么: 在Info.plist中 - >捆绑标识符:您不能使用'_'。 例如,com.mycompany.My_app无效,但com.mycompany.My-app确定。
答案 14 :(得分:4)
您是否清理了构建文件夹?转到产品菜单,按住Option键,然后选择“Clean Build Folder ...”
答案 15 :(得分:3)
在构建设备时,此处存在同样的问题。构建失败,但我的日志都是绿色选中标记。清除/删除构建文件夹无法修复它。我在别处读到有人通过删除并重新创建目标来解决这个问题,但我还没有完全弄清楚如何在XCode 4中做到这一点。
我的临时解决方案是下载并安装带有iOS 4.3的XCode 3.2.6。我没有意识到Apple还发布了包含iOS 4.3的XCode 3版本,允许你将升级推迟到XCode 4.我向Apple提交了一个关于Build Failed问题的bug报告。
来自Apple的udpate:
当我们构建这个项目时 - 尽管是在Xcode 4.0之后的版本 - 我们在构建日志的ProcessProductPackaging步骤中看到以下内容:
(null):错误:CFBundleIdentifier'com.yourcompany.Magic_Carpet'包含非法字符'_'无效的包标识符'com.yourcompany.Magic_Carpet'
ProcessProductPackaging代码最近才进行了大修,因此我们怀疑它在Xcode 4.0中没有正确发出错误。看一下你自己构建的成绩单,如果有的话,那么这很可能会在未来的Xcode版本中修复(我们不能再发表评论,直到修复发布)。
我从下划线切换到短划线,它解决了问题。
答案 16 :(得分:3)
我也有这个问题,但原因不同:
我有一个工作区,里面有一个项目。在这个项目中,我使用了一个框架,它通过将Xcode项目添加到我的项目中而包含在内。我在前缀头文件(.pch)中导入了框架的头文件。这太愚蠢了。
解决方案是从我的前缀头文件中删除框架头文件的#import,并仅在需要的地方添加它。
答案 17 :(得分:3)
我的UnitTest目标发生了这种情况。工作然后停止了。我忘记了我刚刚在文件系统上删除了.h / .m而没有从项目文件中删除它,但是XCode没有报告它。
我通过在命令行上运行项目来解决这个问题,它告诉我错误:
/usr/bin/xcodebuild -target "UnitTest"
在您拥有项目文件的文件夹中运行此命令,并将UnitTest替换为目标 - 或者只是不传入目标以构建默认目标。
答案 18 :(得分:3)
在尝试编译xcode 4中的现有项目时,我遇到了完全相同的问题,并且几乎完成了重新创建项目的痛苦。
然而,在最后的尝试中,我用新创建的一个替换了info.plist文件,其中包括“文档类型”,“url类型”,“导出类型UTI”和“导入类型UTI”的附加标记< / p>
这似乎有效,对我的项目来说是一个非常简单的修复。
答案 19 :(得分:2)
似乎有很多可能的原因导致这个问题。我的结果是那个
我的目标设置为使用不存在的配置文件。
我将项目设置为使用新配置文件,然后删除旧配置文件。没有意识到目标有自己的配置文件设置,仍然设置为旧的(现已删除)配置文件。
答案 20 :(得分:2)
我清除了xcschemes中项目模式中的所有空格,这解决了这个问题。 F *** ing Apple :( AppCode ROCKS!
答案 21 :(得分:2)
同样的事情恰巧发生在我身上。
我从我的Entitlements.plist文件中删除了get-task-allow,留下了一个空的plist。构建设置仍然将Entitlements.plist文件指定为我的Entitlements文件。选择在我的iPhone连接的iOS设备上使用我的Ad-Hoc构建设置运行,并看到此错误中描述的行为。添加get-task-allow会修复它。
答案 22 :(得分:2)
在尝试以上所有内容后再添加另一个答案但没有成功:我不得不重启MacBook,不仅关闭XCode,而且这对我有用。最终,XCode显示了之前未显示的Localizable.strings中的一些错误。
希望有所帮助
答案 23 :(得分:1)
UTI字符集统一类型标识符是Unicode字符串 通常包含ASCII字符集中的字符。然而, 只允许使用ASCII字符的子集。你可以使用 大写和小写的罗马字母(A-Z,a-z),数字0 通过9,点(“。”)和连字符(“ - ”)。这个限制是 基于DNS名称限制,在RFC 1035中规定。
统一类型标识符也可以包含任何Unicode 字符大于U + 007F。
重要提示:UTI字符串中出现的任何非法字符 例如,下划线(“_”),冒号(“:”)或空格(“”) - 将导致 要作为无效UTI拒绝的字符串。在API层,没有错误 为无效的UTI生成。
答案 24 :(得分:1)
转到xcode中的Organizer。在“项目”选项卡中,删除该项目。让xcode重建导出的数据再次修复我的问题。
答案 25 :(得分:1)
我对捆绑包的名称没有任何问题,因此建议的解决方案对我不起作用。最后,我为构建设置了Do not code sign,然后我关闭了项目,然后在组织器中删除了配置,然后下载了新的配置并将其添加到组织者,然后将它们设置为构建。它奏效了。
答案 26 :(得分:1)
我遇到了类似的问题。无法在任何地方找到错误。删除了我的所有配置文件并添加了新配置文件。
然后我尝试在我的设备上构建另一个测试应用程序,并收到此错误消息:
代码签名错误:证书身份'iPhone Developer:xxxxxx'在钥匙串中出现不止一次。代码签名工具只需要一个。
所以我进入了Keychain,找到了几个同名的过期证书,并删除了它们,这就行了。
非常随意,但也许如果你尝试像我一样在设备上构建另一个应用程序,你可能会很幸运地收到错误消息,就像我一样,帮助诊断问题。
答案 27 :(得分:1)
我在XCode4.5中遇到了类似的问题,在处理我的应用程序时,XCode突然崩溃了。
搜索了几个小时后,我发现我的应用程序中的一个文件在xcode崩溃时被删除了。
我从“已删除邮件”中恢复了该文件,问题已得到解决。
答案 28 :(得分:1)
我正在编写Mac OS X应用程序而没有代码签名。当我在“权利”部分启用沙盒时,代码签名自动启用,我无法进行新构建。
答案 29 :(得分:1)
就我而言,原因是我的本地化字符串之一最终没有;
:
因此,最终没有"You’ve already passed the test" = "Тест по этому слову уже пройден"
的{{1}}会导致构建失败而没有任何问题。
答案 30 :(得分:1)
这不是技术性答案,而是“用户错误”答案可能不适用于您的情况。它发生在我身上,我的搜索引导我到这个Q&amp; A无济于事 - 直到我意识到我的错误。我在问题导航器中设置了一个过滤器,它与报告的任何问题都不匹配。当我清除过滤器时,显示了问题。
请注意,症状与您询问的相同,我不知道何时设置该过滤器(必须从其他导航视图继承),因为我不需要在短列表上进行任何过滤。
答案 31 :(得分:1)
检查名称中的空格。 不仅是你的目标名称,还有构建模式。 对我来说,删除空格就可以了。
答案 32 :(得分:0)
对我来说,这是在我添加以下内容后开始发生的:“〜Documents”in:Build Settings - &gt;标题搜索路径。
删除后,调试器再次开始工作。
答案 33 :(得分:0)
对我来说,我按产品检查了隐藏(未列出)的问题 - &gt;分析。 如果分析失败,将列出所有隐藏的错误
答案 34 :(得分:0)
导入该文件问题已解决后,我在未导入的文件中使用了一个宏。
答案 35 :(得分:0)
Xcode 6.1
我的问题是在一个.m文件中留下错误,然后转到另一个并关闭Xcode而不修复第一个.m文件中的错误。在我再次打开Xcode之后,错误没有显示,直到我转到第一个.m文件。然后它出现了没有任何干预。
答案 36 :(得分:0)
对我来说,JSONKit库中有一个弃用版。它正在访问不推荐使用的对象的isa属性,我们必须使用object_setClass()
。
答案 37 :(得分:0)
我的错误是在main.m
文件的第1行意外输入了一封信并意外保存了它。
我不得不失去希望并将我的代码迁移到新项目,直到我在Finder中意外打开了main.m
文件。太糟糕了,编译器没有看到错误。
答案 38 :(得分:0)
如果您的Xcode项目包含子项目,请尝试关闭父项目并直接打开子Xcode项目。
我的子项目有错误,但是当我构建子项目的目标时,它没有显示在父项目的错误列表中。但是当我打开单个Xcode项目并构建同一个项目时,出现了错误。
答案 39 :(得分:0)
在我的情况下,这是我的编码编译问题。但是XCODE没有提醒编译错误。
答案 40 :(得分:0)
刚试过这篇文章中的所有内容并没有任何效果。
然后去Apple菜单&gt;软件更新&gt;发现有一个xcode更新。
我还没有安装更新,但只是保持此窗口打开就可以解决问题(当我关闭升级窗口时,问题会重新出现)。
我想这一定有点罕见,但希望它会解决一些问题。
答案 41 :(得分:0)
我发现我错过了一个框架。我使用了MFMailViewController并添加了对
的引用 MessageUI/MessageUI.h
但是我无意中忘记将它添加到项目中...如果您不知道如何将项目添加到项目中:
双击Project Navigator中的项目名称 - &gt;选择Build Phases - &gt; 展开Link Binary with Libraries选项卡 你会看到一个+和 - 。选择+以添加框架。输入您要添加的名称,当您看到它时,单击它并单击“添加”。
答案 42 :(得分:0)
我遇到了同样的问题,我通过添加用于前缀文件中定义的宏的缺失包含来修复它。
我在前缀文件中定义了这个宏:
#define ApplicationDelegate ((tdAppDelegate *)[UIApplication sharedApplication].delegate)
但在我使用的文件中我忘了包含文件“tdAppDelegate.h”;)
答案 43 :(得分:0)
我遇到了类似的问题,解决方法是删除项目名称的驼峰案例命名。