XCode:4.6 Lion:10.8 IOS 6.1错误:SBTarget无效

时间:2013-01-29 09:34:53

标签: ios xcode ios6 xcode4.6

XCode:4.6 Lion:10.8 IOS 6.1错误:SBTarget无效,如何解决?

6 个答案:

答案 0 :(得分:22)

经过数百次测试,我发现了一种可以帮助程序运行的方法, 这是它:

  • 当您第一次见到 SBTarget无效时,请选择Product --> Clean
  • 再次运行,这次您可能会收到错误: SBTarget无效,没关系。
  • 完全关闭XCode,'完全'意味着Xcode图标不应出现在Dock中。
  • 双击项目文件(xxx.xcodeproj,蓝色项目)以启动Xcode,再次运行。 (Do not Clean this time),运行正常。

如果这可以帮助您或您有任何其他方法,请告诉我。 THX

答案 1 :(得分:5)

我在将Facebook SDK合并到我的应用程序时遇到了这个问题。该错误将在SBTarget无效之间交替,并告诉我我的架构与我的设备不兼容,因此无法启动。如果我遵循alexqinbj的建议,它将运行应用程序一次,但它会再次回到同样的错误。我尝试搞乱架构和构建设置并删除派生数据,但最后它实际上只是我文件结构中的重复文件。 Facebook告诉我添加他们的SDK,然后添加一个文件夹(SDK文件已经包含)。一旦我看到它只是删除重复文件的问题。我听说过重复的plist也会发生这个错误。祝你好运

答案 2 :(得分:3)

事实上,根本原因(在Facebook集成中)是Facebook SDK中的重复资源(根据他们的说明)。当我删除资源文件(仅删除引用)时,此问题永久消失。不确定为什么Facebook指令会要求您将资源包拖到刚刚引入的Facebook SDK框架中......

答案 3 :(得分:1)

TARGETS -> Build Phases,从info.plist移除Copy Bundle Resources。清洁并运行。它对我有用。

答案 4 :(得分:0)

不幸的是,接受的答案对我不起作用。我可以100%肯定地挑起这个错误。它不一定是XCode的内部一致性问题,可以通过清理,重新启动和重建来解决。

SBTarget无效是内部XCode错误。在附加调试器时会发生这种情况,并且XCode项目中指定的体系结构与二进制文件不匹配。

在OS X上,您可以通过转到硬盘驱动器上的二进制文件并输入以下内容来诊断:

lipo -info <bin>

然后将其与构建设置ARCH和ONLY_ACTIVE_ARCH进行比较。他们必须匹配。 ARCH不足以成为二进制文件中包含的可能架构的子集。

他们可能无法匹配的原因有很多。以下是一些建议:

  • 您正在使用外部构建方案。因此,XCode不会指示二进制文件的内容。构建设置只告诉XCode启动GDB或LLDB时会发生什么。
  • 为方案中的启动指定的可执行文件不正确。如果找不到可执行文件,则架构将不存在。

答案 5 :(得分:0)

在我的情况下,此错误有一个非常明显的原因。每当Xcode的“构建设置”中的“在Info.plist文件中展开构建设置”设置为“否”时,就会出现此消息。将提交给苹果公司。

enter image description here