ChatGPT解决这个技术问题 Extra ChatGPT

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

突然之间我无法构建我的项目。我收到以下编译器错误:

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

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

使用 Xcode 4.6、iOS 6.1。

你能回滚 XIB 吗?您是否正在使用 git 之类的源代码控制来“突然”查看 xib 中的变化?
@bryanmac 我正在使用 git,但问题出在许多 xib 文件中,其中许多我没有接触过。这个问题似乎是一个 Xcode 故障,可以通过多次重新启动 Xcode 或切换到不同的模拟器来解决,正如接受的答案中所建议的那样。
只需一次尝试清理您的代码并运行。
我有一个 Xcode 9 的测试版正在运行,我已经关闭了。我忘了关闭模拟器的测试版。当我打开 Xcode 8 时,在尝试构建和运行应用程序时出现此错误。关闭模拟器的 beta 版本,清理缓存并重建解决了这个问题。
当我从 ~/Library 文件夹中删除一些文件时发生这种情况

F
Flexo

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

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

Xcode 有时可能无济于事。


我已经尝试过了,但我又尝试了几次,最终解决了这个问题。
4.6.1今天刚出来。也许此更新将解决此问题。
有时?这就是我今天的生产力:我连续工作了 6 个小时。 15 分钟创建代码,5:45h 与 xcode 战斗,我还没有解决这个问题。伙计,我讨厌 Xcode。是我用过的最差的软件。
Xcode 有时反应很有趣。我遇到了同样的问题...尝试了几次,最终自己解决了。
刚刚更新到 Xcode 9.3。我正在使用 xamarin 进行开发,因此不要在编译器之外使用 Xcode。为我解决这个问题的是实际启动 xcode 并提示“安装所需的组件”。完成后,我可以重建我的项目,并且再也没有看到这个错误。
d
damithH

这发生在我们身上,我们清理缓存,删除派生数据文件夹..等什么都没有发生。

以下步骤使其修复,

将 xib(nib) 作为源代码打开(右键单击 xib Open As > Source Code from Xcode 或使用 TextEdit 打开它)删除此外观Type="aqua" 使用 Xcode 保存并打开

如需更多说明,请使用此 article,它可以帮助我们解决问题。


我的代码中没有出现字段 appearanceType="aqua" 。我应该如何解决这个问题
@abc 只需搜索“appearanceType”并删除该行
U
Undo

尝试清理应用程序。 Cmd-Shift-K。


k
knagode

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

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

我不得不在我的电脑上安装缺少的字体,问题就解决了。


对我来说,问题在于情节提要。
对我来说,问题是派生数据
V
Vikram Belde

重新启动 Xcode - 没有工作清理应用程序 - 没有工作删除派生数据 - 没有工作重置模拟器内容和设置 - 没有工作更改模拟器版本 - 没有工作重新启动操作系统 - 神奇地工作

我不确定哪个部分发挥了作用,是的,它浪费了很多时间。


N
Nirmal Subedi

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

所以原因是:XCode 预计会完成一些更新。在那之前,它无法正常工作。

https://i.stack.imgur.com/ieSVA.png

https://i.stack.imgur.com/JFPxW.png


这就是帮助修复它的原因。谢谢!
0
0llie

如果你被卡住了,你应该做的是,在一个 shell 中: ibtool --warnings --errors --notices yourfile.xib > alerts.plist

这会崩溃,但现在你有了崩溃日志,在我的情况下,这是模拟指标的问题:

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

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

背景:这个错误的原因是通用的,它总是会发生在不同的规格从 iOS xcode 版本到版本的变化中,主要是如果你没有定期检查你的项目是否有 xcode 更新。


由于 IB 中的任何新的不受支持的功能,会发生此错误。因此,这是完美的答案。很好的答案。 +1
L
Logan

这对于那些过去遇到过这个问题的人来说是无关紧要的......但是使用 WatchKit 框架,我遇到了这个错误。我所做的只是删除了我在两个 WKInterface 控制器之间链接的 segue,构建成功。


我开始这个问题更多地与segue或什么有关。我在旧分支上工作,我的老板在故事板上改变了很多东西。我只在合并时出现版本冲突,但在合并后。无论我在解决冲突时选择了哪一方。它得到同样的错误。 :(
n
nenchev

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

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

xcode-select -p

选择标准的 Xcode 路径:

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

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


C
CodeBender

刚刚用 XCode 8.3 得到了这个。

对我来说,我只是退出了 XCode,然后清理了应用程序并重新构建。之后就好了。

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


A
AWrightIV

我刚刚经历了同样的事情,这里没有其他答案可以为我解决这个问题。由于 git 合并,它原来是情节提要中的重复 UILabel。显然,如果两个 UI 元素具有相同的内部 ID,Xcode 将会崩溃。

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

迭代地向后退一步查看 git 历史记录,检查每个提交,直到找到第一个不会使 Xcode 崩溃的故事板。

一旦您的提交开始崩溃,请检查 HEAD 并迭代地还原问题提交中的情节提要更改。继续缩小范围,直到有一个 UI 元素或一行会导致崩溃。

永久还原负责的更改并重新启动 Xcode。再次打开情节提要,您可能会收到有关内部不一致的警告。同意 Xcode 提出的更改建议,但请查看它们。

如有必要,您现在可以尝试重新创建以前导致问题的 UI 元素或从头开始的更改。


F
Frederick C. Lee

当我遇到“255”问题时,我正在辅助 git 分支中工作。

我只是切换回我的主 git 分支,清理项目并运行。没有我预期的问题。

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

小精灵。


K
Kazak

使用 Xcode 8.2.1 和 iOS 10.2 时,我也遇到过类似的事情。

我在模拟器上切换到较早的设备版本并且它工作。然后我切换回来,它被修复了。


C
Community

我发现如果你使用 Xcode 太久而不关闭它,Xcode 最终会变得毫无帮助并给你随机的神秘错误。所以每次出现可疑错误时,我都会定期重启 Xcode 和我在 Mac 上运行的所有应用程序。

Xcode Cache 第一次尝试检查你所有的 segue/outlet/storyboard 控制器类。有时情节提要会与已设置的视图控制器类断开连接。 (这可能会导致运行时错误)。第二次尝试清理您的项目并转到(~/Library/Developer/Xcode/DerivedData)并删除您的项目缓存。然后强制关闭 Xcode 然后重新启动它。第三次尝试检查你所有的 segue/outlet/storyboard 控制器类。有时情节提要会与已设置的视图控制器类断开连接。 (这可能会导致运行时错误)。第四次尝试检查(复制捆绑资源,编译源 - 项目>构建阶段)确保列出的文件存在正确的地址和文件夹。有时创建一个组会导致创建一个文件夹并导致编译器无法找到文件 5th 这也可能是由于移动的文件 + Xcode 最终变得无用并给你随机的神秘错误。并在文件更改目录个人错误后更新(复制捆绑资源,编译源 - 项目>构建阶段)。意外删除它也可能是调用已删除的 ViewController 或插座造成的


在项目文件 > 构建设置 > iOS 部署目标下,它只显示数字,没有“最新版本”。设置为 iOS 11,然后设置为 iOS 9,然后再设置回 iOS 11 无效。版本 9.0 (9A235)
@WilliamCerniuk 从我发布此答案之日起,我发现如果您使用 Xcode 时间过长而不关闭它,Xcode 最终将变得毫无帮助并给您带来随机的神秘错误。所以每次出现可疑错误时,我都会定期重启 Xcode 和我在 Mac 上运行的所有应用程序。
@WilliamCerniuk 尝试清理您的项目并转到(~/Library/Developer/Xcode/DerivedData)并删除您的项目缓存。然后强制关闭 Xcode 然后重新启动它。
@WilliamCerniuk 尝试检查你所有的 segue/outlet/storyboard 控制器类。有时情节提要会与已设置的视图控制器类断开连接。 (这可能会导致运行时错误)。
@WilliamCerniuk 尝试检查(复制捆绑资源,编译源 - 项目>构建阶段)确保列出的文件存在正确的地址和文件夹。有时创建组会导致创建文件夹并导致编译器找不到文件
A
Alessio Di Salvo

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

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

请注意,当然,Visual Studio 不会带来 Xcode 更新,因此“诀窍”是打开后者并让它运行更新。


这也是我的问题 - 启动 xcode 提示我重新安装所需的组件并修复它。
更新到 iOS 12.0,我也遇到了同样的情况。只需要第一次运行XCode,让它安装一些额外的组件就完成了!
A
Abirami Bala

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

转到文件夹 ~/Library/Developer/Xcode/DerivedData/ 并清除该文件夹中的重新启动 Xcode 和模拟器并运行您的项目....!


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

在故事板中做了一些工作后才发生这种情况。我做了一些撤消操作,结果是一个简单的 UIButton 添加到视图中。删除它并且它没有错误地构建。刚刚添加了一个新按钮,它工作。

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


D
Daniele D.

在我的情况下,它发生在重命名一些命名空间之后,我解决了同样的问题,进入项目属性 > 应用程序选项卡 > 默认命名空间:提供新的正确命名空间。

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


A
Anand Mishra

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

我在源代码中打开故事板。开始与上一个工作存储库故事板进行比较。然后我发现同一个标签在同一个屏幕上出现了两次。然后我删除其中一个并保存。它帮助到我。

你可以检查你的xib或故事板。


L
Lord Zsolt

我有这个错误是因为我在将情节提要作为源代码编辑时将 <view> 重写为 <imageView>

我认为这个快速而简单的解决方案可以用 UIImageView 替换一些自定义类(UIView 的子类)。

所有人都称赞 GIT。


G
GhostCode

这就是我遇到问题的原因:我曾尝试将 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


P
Pedro.Alonso

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

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

希望有帮助。


代码设计如何与此相关。当我只是想在 sim 上构建时
C
Community

在为 10.9 构建在 XCode 6.4 (10.10) 中创建的 .XIB 时,我遇到了这个错误。

请参阅this answer。 XIB 正在调用 10.10 中引入的“labelColor”,但在 10.9 中是未知的。

将 XIB 作为源打开可防止 XCode 崩溃,并允许我将“labelColor”实例更改为“textColor”,错误已解决。


J
Jim Rota

正如Logan Geefs 上面提到的,它似乎是由接口控制器segues(即循环)引起的。删除“坏”的 segues 并不能真正解决导航问题。需要的是策略性地将一些按钮操作放置到[弹出控制器]。

这是对我有用的代码:

 - (IBAction)backToStart {

   [self popToRootController];
 }

 - (IBAction)backToPrevious {

   [self popController];
 }

S
Sam Bing

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


S
Stewart Lynch

当我安装并开始使用 XCode 9 测试版时,这开始发生在我身上。当我在 8.3 中开始修改好的项目时,故事板被这个错误破坏了,XCode 崩溃了。我的电脑上安装了 XCode 7.x、8.3 和 9。我卸载了所有这些(并删除了所有相关文件),然后从 App Store 重新安装了 8.3。我的项目情节提要仍然损坏,但我能够从备份中恢复,现在一切都很好,因为我继续进行。不确定这是否与 9 beta 相关。


K
Kabeer

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


T
Tim Kofoed

我今天在一个新项目中遇到了这个错误,通过“增强现实应用程序”项目模板测试 iOS 的 ARKit。

将一些 .scn 文件从根项目移动到 art.scnassets 文件夹后,我开始收到代码签名错误,但我所做的一切都无法解决。

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

提交并将我的更改推送到我的 git 项目

硬重置到上一次提交

清理派生数据,并成功运行

硬重置回最近的提交

...现在它起作用了...所以我猜这是 XCode 的 git 处理中的一些错误???


W
Warren P

在 XCODE 9 上,造成这种情况的一个原因是 XCODE 9.1 中带有旧的 .XIB 文件的错误。

使固定:

升级到 XCODE 9.2 您所有的 .XIB 文件都应设置为 iOS 8.1 或更高版本。


S
Sunil Targe

只需干净地构建您的项目。你会得到解决!