突然之间我无法构建我的项目。我收到以下编译器错误:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool 失败,退出代码为 255
我的一大堆 xib 文件出现此错误。任何想法正在发生什么,以及解决方案是什么?
使用 Xcode 4.6、iOS 6.1。
我最近在使用 Xcode 4.6 和 iOS 6.1 时发生了类似的事情。
我所做的只是在模拟器上切换到不同的设备版本(5.1)并运行。切换回6.1并自行修复。
Xcode 有时可能无济于事。
这发生在我们身上,我们清理缓存,删除派生数据文件夹..等什么都没有发生。
以下步骤使其修复,
将 xib(nib) 作为源代码打开(右键单击 xib Open As > Source Code from Xcode 或使用 TextEdit 打开它)删除此外观Type="aqua" 使用 Xcode 保存并打开
如需更多说明,请使用此 article,它可以帮助我们解决问题。
尝试清理应用程序。 Cmd-Shift-K。
尝试在项目中找到所有 XIB 文件并打开它。其中之一很可能会使您的 Xcode 崩溃。
我的问题是某些 XIB 文件中的自定义字体。
我不得不在我的电脑上安装缺少的字体,问题就解决了。
重新启动 Xcode - 没有工作清理应用程序 - 没有工作删除派生数据 - 没有工作重置模拟器内容和设置 - 没有工作更改模拟器版本 - 没有工作重新启动操作系统 - 神奇地工作
我不确定哪个部分发挥了作用,是的,它浪费了很多时间。
就我而言,我正在使用 Visual Studio。一切都很好。突然之间,我遇到了同样的问题。然后我打开 XCode,我看到了可用的更新。然后我更新了 Xcode 更新。然后它起作用了:)
所以原因是:XCode 预计会完成一些更新。在那之前,它无法正常工作。
https://i.stack.imgur.com/ieSVA.png
https://i.stack.imgur.com/JFPxW.png
如果你被卡住了,你应该做的是,在一个 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 更新。
这对于那些过去遇到过这个问题的人来说是无关紧要的......但是使用 WatchKit 框架,我遇到了这个错误。我所做的只是删除了我在两个 WKInterface 控制器之间链接的 segue,构建成功。
我遇到了这个错误,在扫描崩溃日志后,我注意到我的 Xcode-7 构建正在尝试使用 Xcode-8 Beta 中的构建工具。我以前使用 xcode-select 来更改我想使用的构建工具的版本。如果您安装了 xcode-beta,请使用以下命令检查您的设置:
显示设置了哪个构建工具路径:
xcode-select -p
选择标准的 Xcode 路径:
sudo xcode-select -s /Applications/Xcode.app/
如果您尝试使用不同安装路径的 Xcode 进行构建,请确保上面的路径反映了这一点。
刚刚用 XCode 8.3 得到了这个。
对我来说,我只是退出了 XCode,然后清理了应用程序并重新构建。之后就好了。
我的原因是为本地化故事板添加新的字符串文件。
我刚刚经历了同样的事情,这里没有其他答案可以为我解决这个问题。由于 git 合并,它原来是情节提要中的重复 UILabel。显然,如果两个 UI 元素具有相同的内部 ID,Xcode 将会崩溃。
我找到负责任问题的方法是:
迭代地向后退一步查看 git 历史记录,检查每个提交,直到找到第一个不会使 Xcode 崩溃的故事板。
一旦您的提交开始崩溃,请检查 HEAD 并迭代地还原问题提交中的情节提要更改。继续缩小范围,直到有一个 UI 元素或一行会导致崩溃。
永久还原负责的更改并重新启动 Xcode。再次打开情节提要,您可能会收到有关内部不一致的警告。同意 Xcode 提出的更改建议,但请查看它们。
如有必要,您现在可以尝试重新创建以前导致问题的 UI 元素或从头开始的更改。
当我遇到“255”问题时,我正在辅助 git 分支中工作。
我只是切换回我的主 git 分支,清理项目并运行。没有我预期的问题。
然后我切换回“问题”git分支并成功重建它。
小精灵。
使用 Xcode 8.2.1 和 iOS 10.2 时,我也遇到过类似的事情。
我在模拟器上切换到较早的设备版本并且它工作。然后我切换回来,它被修复了。
我发现如果你使用 Xcode 太久而不关闭它,Xcode 最终会变得毫无帮助并给你随机的神秘错误。所以每次出现可疑错误时,我都会定期重启 Xcode 和我在 Mac 上运行的所有应用程序。
Xcode Cache 第一次尝试检查你所有的 segue/outlet/storyboard 控制器类。有时情节提要会与已设置的视图控制器类断开连接。 (这可能会导致运行时错误)。第二次尝试清理您的项目并转到(~/Library/Developer/Xcode/DerivedData)并删除您的项目缓存。然后强制关闭 Xcode 然后重新启动它。第三次尝试检查你所有的 segue/outlet/storyboard 控制器类。有时情节提要会与已设置的视图控制器类断开连接。 (这可能会导致运行时错误)。第四次尝试检查(复制捆绑资源,编译源 - 项目>构建阶段)确保列出的文件存在正确的地址和文件夹。有时创建一个组会导致创建一个文件夹并导致编译器无法找到文件 5th 这也可能是由于移动的文件 + Xcode 最终变得无用并给你随机的神秘错误。并在文件更改目录个人错误后更新(复制捆绑资源,编译源 - 项目>构建阶段)。意外删除它也可能是调用已删除的 ViewController 或插座造成的
在操作系统更新(macOS High Sierra 10.13.4)之后,我在使用 Visual Studio for Mac(社区,7.4.2(内部版本 12))时遇到了同样的问题。
在这种情况下,您似乎只需要更新 Visual Studio 和 Xcode。
请注意,当然,Visual Studio 不会带来 Xcode 更新,因此“诀窍”是打开后者并让它运行更新。
我在 Xcode 8 中也遇到了同样的问题。删除派生数据解决了我的问题。
转到文件夹 ~/Library/Developer/Xcode/DerivedData/ 并清除该文件夹中的重新启动 Xcode 和模拟器并运行您的项目....!
在故事板中做了一些工作后才发生这种情况。我做了一些撤消操作,结果是一个简单的 UIButton 添加到视图中。删除它并且它没有错误地构建。刚刚添加了一个新按钮,它工作。
更多解释... 按钮已从一个 TVCell 原型复制到另一个原型。我猜副本中发生了一些混乱。很高兴在尝试构建之前我没有改变太多。
在我的情况下,它发生在重命名一些命名空间之后,我解决了同样的问题,进入项目属性 > 应用程序选项卡 > 默认命名空间:提供新的正确命名空间。
当然,我也在类内部更改了命名空间,但这会有所帮助,因为它将修复所有自动生成的文件。建议清理并构建,并最终关闭并重新打开解决方案。
当我将代码形式 git 与其他开发人员代码合并时,我遇到了同样的问题。我尝试了很多时间来清理我的项目。但没有什么能帮助我。
我在源代码中打开故事板。开始与上一个工作存储库故事板进行比较。然后我发现同一个标签在同一个屏幕上出现了两次。然后我删除其中一个并保存。它帮助到我。
你可以检查你的xib或故事板。
我有这个错误是因为我在将情节提要作为源代码编辑时将 <view>
重写为 <imageView>
。
我认为这个快速而简单的解决方案可以用 UIImageView
替换一些自定义类(UIView
的子类)。
所有人都称赞 GIT。
这就是我遇到问题的原因:我曾尝试将 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
我用这个命令修复了错误,关闭模拟器和 Xcode:
codesign -vv /A*/Xc* | open -ef
希望有帮助。
在为 10.9 构建在 XCode 6.4 (10.10) 中创建的 .XIB 时,我遇到了这个错误。
请参阅this answer。 XIB 正在调用 10.10 中引入的“labelColor”,但在 10.9 中是未知的。
将 XIB 作为源打开可防止 XCode 崩溃,并允许我将“labelColor”实例更改为“textColor”,错误已解决。
正如Logan Geefs 上面提到的,它似乎是由接口控制器segues(即循环)引起的。删除“坏”的 segues 并不能真正解决导航问题。需要的是策略性地将一些按钮操作放置到[弹出控制器]。
这是对我有用的代码:
- (IBAction)backToStart {
[self popToRootController];
}
- (IBAction)backToPrevious {
[self popController];
}
很少有人提到这个问题与segue有关,我的也是,虽然在我添加新的segue之后它没有立即弹出并且我能够运行应用程序几次进行一些更改,在它发生之前添加新的视图,所以不要忽视这一点。我去删除一些控制器并撤消它以防它没有帮助。如果 segue 是您可能构建的问题,但您将无法添加该 segue,因此如果它是一个可行的选项,请重新创建整个视图控制器。复制和粘贴似乎不起作用,尽管我没有尝试删除 IBOutlet 连接。
当我安装并开始使用 XCode 9 测试版时,这开始发生在我身上。当我在 8.3 中开始修改好的项目时,故事板被这个错误破坏了,XCode 崩溃了。我的电脑上安装了 XCode 7.x、8.3 和 9。我卸载了所有这些(并删除了所有相关文件),然后从 App Store 重新安装了 8.3。我的项目情节提要仍然损坏,但我能够从备份中恢复,现在一切都很好,因为我继续进行。不确定这是否与 9 beta 相关。
就我而言,在我手动解决了“project.pbxproj”文件中的合并冲突后,我遇到了这个问题。在 XCode 中,选择 project->target->BuildPhases->CopyBundleResources。在那里,我删除了一些以空白图标显示的重复文件(与 XIB 文件图标不同)。在此之后,构建顺利,没有问题。
我今天在一个新项目中遇到了这个错误,通过“增强现实应用程序”项目模板测试 iOS 的 ARKit。
将一些 .scn 文件从根项目移动到 art.scnassets 文件夹后,我开始收到代码签名错误,但我所做的一切都无法解决。
我尝试了这个线程中的所有建议(干净,干净的派生数据,重新启动 Xcode,重新启动 Mac,在情节提要文件中查找重复的 ID)......但它对我有用的是:
提交并将我的更改推送到我的 git 项目
硬重置到上一次提交
清理派生数据,并成功运行
硬重置回最近的提交
...现在它起作用了...所以我猜这是 XCode 的 git 处理中的一些错误???
在 XCODE 9 上,造成这种情况的一个原因是 XCODE 9.1 中带有旧的 .XIB 文件的错误。
使固定:
升级到 XCODE 9.2 您所有的 .XIB 文件都应设置为 iOS 8.1 或更高版本。
只需干净地构建您的项目。你会得到解决!