为什么我的ibtool失败,退出代码为255?


129

突然我无法建立我的专案。我收到以下编译器错误:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool失败,退出代码为255

我的一大堆xib文件都出现此错误。有什么想法正在发生,什么是解决方案?

使用Xcode 4.6,iOS 6.1。


您可以回滚XIB吗?您是否正在使用git之类的源代码控制来查看xib中“突然的变化”?
bryanmac

@bryanmac我正在使用git,但是问题出在许多xib文件中,其中许多我都没有碰过。问题似乎是Xcode故障,可以通过多次重新启动Xcode或切换到不同的模拟器来解决,如公认的答案所示。
达伦(Darren)2013年

只需尝试清理一下代码即可运行。
Mihir Oza 2015年

1
我已经关闭了Xcode 9的测试版。我忘了关闭模拟器的beta版本。当我打开Xcode 8时,尝试构建和运行该应用程序时出现此错误。关闭模拟器的beta版本,清理缓存,然后重新构建即可解决此问题。
阿德里安

当我从〜/ Library文件夹中删除了一些文件时,就发生了这种情况
Shamps '18

Answers:


151

最近我使用Xcode 4.6和iOS 6.1发生了类似的事情。

我所做的就是在模拟器上切换到不同的设备版本(5.1),然后运行。切换回6.1,并自行修复。

Xcode有时可能无济于事。


我已经尝试过了,但是又尝试了几次,最终解决了这个问题。
达伦(Darren)

4.6.1今天才问世。也许此更新可以解决此问题。
杰伊Q.13年

有时?这就是我今天的工作效率:我连续工作6个小时。15分钟创建代码,5:45h与xcode战斗,但我还无法解决这个问题。我讨厌Xcode。是我曾经使用过的最差的软件。
鸭子

3
Xcode有时会很有趣。我遇到了同样的问题...尝试了几次,最终被自己解决了。
Dipika

4
刚刚通过Xcode 9.3的更新获得了此功能。我正在使用xamarin开发,因此不要在编译器之外使用Xcode。对我来说解决此问题的是实际启动xcode并提示您“安装必需的组件”。完成之后,我可以重新构建项目,而不会再次看到此错误。
melwil '18 -4-4

24

这发生在我们身上,我们清理了缓存,删除了Derived data文件夹。

按照以下步骤进行修复,

  1. 厦门国际银行开(NIB)的源代码(在厦门国际银行右键单击Open As > Source CodeXcode或打开它使用TextEdit
  2. 删除这个 appearanceType="aqua"
  3. 使用Xcode保存并打开

有关使用本文的更多说明,它有助于我们解决此问题。


在我的代码中没有出现fieldingType =“ aqua”字段。我应该如何解决这个
Poonam

@abc只是搜索“ appearanceType”并删除该行
damithH


22

尝试在项目中查找所有XIB文件并打开它。其中之一很可能会使您的Xcode崩溃。

我的问题是某些XIB文件中的自定义字体。

我必须在计算机上安装缺少的字体,问题已解决。


对我来说,问题在于情节提要。
Alex Andrews

对我来说,问题在于衍生数据
Abdul Yasin 2014年

18
  1. 重新启动Xcode-无效
  2. 清理应用程序-无效
  3. 删除导出的数据-无效
  4. 重置模拟器的内容和设置-无效
  5. 更改模拟器版本-无效
  6. 重新启动操作系统- 神奇地工作

我不确定魔术是哪一部分的,是的,它杀死了很多时间。


18

就我而言,我正在使用Visual Studio。一切都很好。突然之间,我遇到了同样的问题。然后打开XCode,看到可用的更新。然后,我更新了Xcode更新。然后工作了:)

因此原因是:XCode有望完成一些更新。在此之前,它无法正常工作。

在此处输入图片说明

在此处输入图片说明


这就是修复它的原因。谢谢!
Raajit Sharma

12

如果被卡住,应该执行的操作是在shell中:ibtool --warnings --errors --notices yourfile.xib> alert.plist

它将崩溃,但是现在您有了崩溃日志,就我而言,这是模拟指标存在的问题:

localhost:Classes me $ ibtool --warnings --errors --notices CodeViewController.xib> alert.plist 2014-04-25 17:40:48.625 ibtoold [11691:507] [MT] DVTAssertions:/ SourceCache / IDEInterfaceBuilderCocoaTouch中的断言失败/IDEInterfaceBuilderCocoaTouch-5038/InterfaceBuilder/WidgetIntegration/SimulatedMetrics/IBUISimulatedSizeMetrics.m:33详细信息:(initialTargetRuntime)不应为零。对象:方法:-initWithTargetRuntime:线程:{name =(null),num = 1}提示:无

因此,在我的情况下,我通过上下文菜单打开了xib作为源,并删除了指标对象。取决于错误要删除或更改的内容。再次尝试ibtool,如果它没有崩溃,那就很好。

背景:此错误的原因很普遍,在iOS xcode版本不同的不同规范下,总会发生这种错误,主要是因为您没有定期检查xcode更新项目。


1
由于IB中不支持的任何新功能而发生此错误。因此,这是一个完美的答案。好答案。+1
Vignesh

4

对于过去经历过该问题的用户来说,这将是无关紧要的。但是,在使用WatchKit Framework时,出现了此错误。我所做的只是删除我在两个WKInterface控制器之间链接的segue,并且构建成功。


我开始这个问题更多是与segue有关。我当时在老店里工作,老板改变了故事板上的很多东西。当我合并但合并后,我只会出现版本版本冲突。无论我在解决冲突中选择哪一方。它得到相同的错误。:(
Alix

4

我遇到了这个错误,在扫描崩溃日志后,我发现我的Xcode-7构建正在尝试使用Xcode-8 Beta的构建工具。我以前使用过xcode-select来更改我要使用的构建工具的版本。如果您安装了xcode-beta,请使用以下命令检查设置:

显示设置了哪个构建工具路径:

xcode-select -p

选择标准的Xcode路径:

sudo xcode-select -s /Applications/Xcode.app/

如果要在不同的安装路径下使用Xcode进行构建,请确保上面的路径反映了这一点。


3

刚刚使用XCode 8.3获得了此功能。

对我来说,我只是退出XCode,然后清理应用程序并重建。在那之后很好。

对我来说,原因是为本地化的故事板添加了新的字符串文件。


2

我只是经历过同样的事情,这里没有其他答案可以为我解决问题。事实证明,由于git合并,故事板上的UILabel重复。显然,如果两个UI元素具有相同的内部ID,则Xcode将崩溃。

我查找负责任问题的方法是:

  • 迭代地向后浏览git历史记录,检查每次提交,直到找到第一个不会使Xcode崩溃的情节提要。
  • 提交开始崩溃后,签出HEAD并迭代还原问题提交中的情节提要板更改。继续缩小范围,直到拥有一个会导致崩溃的UI元素或一行。
  • 永久还原负责的更改,然后重新启动Xcode。再次打开情节提要,可能会警告您内部不一致。同意Xcode提出的建议更改,但要进行审查。
  • 如有必要,您现在可以尝试重新创建UI元素,或者从头开始进行更改,这些更改以前曾引起问题。

2

遇到“ 255”问题时,我正在二级git分支中工作。

我只是切换回主git分支,清理了项目并运行。如我所料,没有问题。

然后,我切换回“问题” git分支并成功重建它。

小妖精。


2

使用Xcode 8.2.1和iOS 10.2,我也遇到了类似的情况。

我在模拟器上切换到了较早的设备版本,并且可以正常工作。然后我转回去,这是固定的。


2

我发现如果您长时间使用Xcode而不关闭它,Xcode最终将变得毫无用处,并给您带来随机的神秘错误。因此,每次出现可疑错误时,我都会定期重新启动Xcode和所有在Mac上运行的应用程序。

Xcode Cache
1st尝试检查所有segue / outlet / storyboard控制器类。有时情节提要板将与已设置的视图控制器类断开连接。(这可能会导致运行时错误)。

第2次尝试清理项目并转到(〜/ Library / Developer / Xcode / DerivedData)并删除项目缓存。然后强制关闭Xcode,然后重新启动它。

第三次尝试检查所有的segue /插座/ storyboard控制器类。有时情节提要板将与已设置的视图控制器类断开连接。(这可能会导致运行时错误)。

第4次尝试检查(复制捆绑软件资源,编译源-项目>构建阶段),确保列出的文件存在,并且具有正确的地址和文件夹。有时创建组会导致创建文件夹并导致编译器无法找到该文件

第五,这也可能是由于移动文件+ Xcode最终无济于事,并给您带来随机的神秘错误。文件更改目录后,并更新(复制捆绑包资源,编译源-项目>构建阶段)

个人错误。意外删除
此内容也可能是由于调用已删除的ViewController或插座造成的


在“项目文件”>“构建设置”>“ iOS部署目标”下,它仅显示数字,不显示“最新版本”。设置为iOS 11,然后设置为iOS 9,然后再设置为iOS 11无效。版本9.0(9A235)
William Cerniuk

从我发布此答案之日起@@ WilliamCerniuk,我发现如果您在不关闭Xcode的情况下使用Xcode的时间太长,Xcode最终将变得毫无用处,并给您带来随机的神秘错误。因此,每次出现可疑错误时,我都会定期重新启动Xcode和所有在Mac上运行的应用程序。
穆罕默德·阿斯拉夫

@WilliamCerniuk尝试清理您的项目并转到(〜/ Library / Developer / Xcode / DerivedData)并删除您的项目缓存。然后强制关闭Xcode,然后重新启动它。
穆罕默德·阿斯拉夫

@WilliamCerniuk尝试检查所有的segue / outlet / storyboard控制器类。有时情节提要板将与已设置的视图控制器类断开连接。(这可能会导致运行时错误)。
穆罕默德·阿斯拉夫

@WilliamCerniuk尝试检查(复制捆绑软件资源,编译源-项目>构建阶段),确保列出的文件存在正确的地址和文件夹。有时创建组会导致创建文件夹并导致编译器找不到该文件
Muhammad Asyraf

2

在操作系统更新(macOS High Sierra 10.13.4)之后,使用Visual Studio for Mac(社区,7.4.2(内部版本12))遇到了相同的问题。

在这种情况下,似乎只需要更新Visual Studio和Xcode。

注意,当然,Visual Studio不会带来Xcode更新,因此“技巧”是打开后者的并让其运行更新。


这也是我的问题-启动xcode提示我重新安装所需的组件并进行了修复。
matt.chatterley

更新到iOS 12.0,对我来说也是一样。只需要第一次运行XCode,以使其安装一些额外的组件并完成!
TJ博士

1

我在Xcode 8中也遇到了同样的问题。删除派生数据解决了我的问题。

  1. 转到文件夹〜/ Library / Developer / Xcode / DerivedData /,然后清除其中的文件夹
  2. 重新启动Xcode和Simulator并运行您的项目。

无法删除项目的派生数据,也无法删除〜/ Library / Caches / com.apple.dt.Xcode(通常损坏的缓存)
William Cerniuk

0

在情节提要中完成一些工作之后,这种情况才刚刚发生。我做了一些撤销操作,结果发现它是添加到视图中的简单UIButton。删除它,并且它构建没有错误。只需添加一个新按钮即可。

进一步的解释...该按钮已从一个TVCell原型复制到另一个。我猜副本中发生了一些混乱。很高兴我在尝试构建之前没有做太多改变。


0

就我而言,它是在重命名了一些名称空间之后发生的,我解决了相同的问题,进入项目属性> APPLICATION选项卡>默认名称空间:提供了正确的新名称空间。

当然,我也在类中更改了名称空间,但这将有所帮助,因为它将修复所有自动生成的文件。建议清理并构建,最后关闭并重新打开解决方案。


0

当我将代码形式git与其他开发人员代码合并时,我遇到了同样的问题。我花了很多时间来清理我的项目。但是没有什么可以帮助我。

我用源代码打开情节提要。开始与上一个工作存储库情节提要进行比较。然后我发现同一标签在同一屏幕上出现两次。然后,我删除然后保存。它帮助到我。

您可以检查您的xib或情节提要。


0

我有这个错误,因为我改写了一个<view><imageView>在编辑故事板作为源代码。

我认为,这种快捷的解决方案可以UIViewUIImageViews 替换某些自定义类(的子类)。


所有人都称赞GIT。


0

这就是造成我问题的原因:我曾尝试将iOS 8.0模拟器与Xcode 5.0.2结合使用。我在以下路径中粘贴了iOS 8.0模拟器- / Applications / Xcode \ 2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs 结果是,我能够看到iOS 8.1模拟器在Xcode 5.0.2中的下拉列表,但这导致libtool的编译错误。我从路径中删除了模拟器,并且在重新启动Xcode后可以正常工作。现在为了使用iOS 8.0模拟器,我正在使用Xcode 6.1


0

我使用此命令修复了错误,关闭了模拟器和Xcode:

codesign -vv /A*/Xc* | open -ef

希望有帮助。


代码签名与此相关。当我只是尝试在sim卡上构建时
Alix

0

当为10.9构建在XCode 6.4(10.10)中创建的.XIB时,出现此错误。

看到这个答案。XIB要求使用在10.10中引入的“ labelColor”,而10.9未知。

打开XIB作为源代码可以防止XCode崩溃,并允许我将'labelColor'的实例更改为'textColor'并且错误得以解决。


0

正如Logan Geefs在上面提到的那样,它似乎是由Interface Controller segue(即循环)引起的。删除“坏”字句并不能真正解决导航问题。需要的是从战略上放置一些按钮动作到[pop controllers]。

这是对我有用的代码:

 - (IBAction)backToStart {

   [self popToRootController];
 }

 - (IBAction)backToPrevious {

   [self popController];
 }

0

很少有人提到该问题与segue有关,我的问题也是如此,尽管它在我添加新的segue之后并没有立即弹出,并且我能够运行该应用几次后进行了一些更改,并在出现之前添加了新的视图,所以不要忽略这个 我去删除了一些控制器,然后撤消以防万一。如果您可能会遇到问题,但您将无法添加该问题,因此,如果可行,请重新创建整个视图控制器。尽管我没有尝试删除IBOutlet连接,但是复制和粘贴似乎没有用。


0

当我安装并开始使用XCode 9 beta时,这开始发生在我身上。当我开始在8.3中修改好的项目时,故事板由于此错误而损坏,XCode崩溃了。我的计算机上安装了XCode 7.x,8.3和9。我卸载了所有这些文件(并删除了所有相关文件),然后从App Store重新安装了8.3。我的项目情节提要板仍然损坏,但是我可以从备份中恢复,现在一切顺利。
不知道这是否与9 beta相关。


0

就我而言,在手动解决“ project.pbxproj”文件中的合并冲突后,出现了这个问题。在XCode中,选择project-> target-> BuildPhases-> CopyBundleResources。在那里,我删除了一些显示在空白图标中的重复文件(与XIB文件图标不同)。之后,构建顺利进行,没有问题。


0

我今天在一个新项目中收到此错误,该项目通过“ Augmented Reality App”项目模板测试了iOS的ARKit。

将一些.scn文件从根项目移到art.scnassets文件夹后,我开始收到代码签名错误,但我无能为力。

我尝试了该线程中的所有建议(干净,干净的派生数据,重新启动Xcode,重新启动Mac,在情节提要文件中查找重复的ID)...但是,对我来说起作用的是:

  • 提交并推送对git项目的更改
  • 硬重置为上一次提交
  • 清理派生数据,并成功运行
  • 硬重置为最新提交

...现在可以正常工作了...所以我猜想这是XCode的git处理中的一个错误???


0

在XCODE 9上,这的一个原因是XCODE 9.1中包含旧的.XIB文件的错误。

固定:

  1. 升级到XCODE 9.2

  2. 您所有的.XIB文件都应设置为iOS 8.1版本或更高版本。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.