【问题标题】:Xcode Crash on opening Storyboard打开 Storyboard 时 Xcode 崩溃
【发布时间】:2016-04-07 08:12:47
【问题描述】:

为了支持从 iOS 7 到 iOS 9 的 iOS,我同时安装了 Xcode 6 和 7。 然后我在 Xcode 7 上为 iPhone 创建了一个项目。 我在 Xcode 6 上打开它以在 iPhone Simulator 7 上进行测试。

但是当我点击 Storyboard 文件时 Xcode 6 崩溃了。

我该如何解决? 还是有其他方式支持 iOS 版本?


错误信息

处理:Xcode [9928] 路径:/Applications/Xcode 6.app/Contents/MacOS/Xcode 标识符:com.apple.dt.Xcode 版本:6.4 (7720) 构建信息:IDEFrameworks-7720000000000000~8 代码类型:X86-64(本机) 父进程:??? [1] 负责人:Xcode [9928] 用户编号:501 日期/时间:2016-01-04 01:15:21.068 +0900 操作系统版本:Mac OS X 10.10.5 (14F1509) 报告版本:11 匿名 UUID:F02C76F0-B69A-FE68-DD89-9946A7C82C03 睡眠/唤醒 UUID:2BF55735-0241-43B3-A731-49B6D645DC4F 自启动以来的唤醒时间:53000 秒 醒来后的时间:550 秒 崩溃的线程:0 调度队列:com.apple.main-thread 异常类型:EXC_CRASH (SIGABRT) 异常代码:0x0000000000000000, 0x0000000000000000 应用特定信息: 产品构建版本:6E35b /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-7703/InterfaceBuilder/Utilities/IBObjectMarshalling.m:45 中的断言失败 详细信息:无法启动 Interface Builder Cocoa Touch 工具:错误 Domain=com.apple.InterfaceBuilder Code=-1 “与 Interface Builder WatchKit Tool 通信时遇到错误。” UserInfo=0x7fb9b3128d40 {NSUnderlyingError=0x7fb9ac00c620 "无法与 Interface Builder 通信", NSLocalizedDescription=与 Interface Builder WatchKit Tool 通信时遇到错误。, NSLocalizedRecoverySuggestion=请检查 Console.app 以获取 "Interface Builder WatchKit Tool" 的崩溃报告以获取更多信息。 , NSLocalizedFailureReason=Interface Builder WatchKit Tool (10069) 未能启动并退出,状态为 (null),信号 5。 Dyld 错误信息: 未加载库:/System/Library/PrivateFrameworks/PepperUICore.framework/PepperUICore 引用自:/Applications/Xcode 6.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/Interface Builder WatchKit Tool 原因:找不到图片 应用特定信息: dyld:启动,加载依赖库 DYLD_FRAMEWORK_PATH=/Applications/Xcode 6.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays DYLD_LIBRARY_PATH= DYLD_FALLBACK_LIBRARY_PATH= DYLD_ROOT_PATH=/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.0.simruntime/Contents/Resources/RuntimeRoot }

【问题讨论】:

  • 我怀疑在 XC 7 中制作的项目是否可以在 XC 6 中运行
  • 您确实意识到您的应用可以在仅使用 Xcode 7 的同时支持 iOS 7 及更高版本,对吧?
  • @rmaddy 我知道。但在 Xcode 7 中,我无法在适用于 iOS 7 的 iPhone 模拟器上测试我的应用。如何在 Xcode 7 上测试适用于 iOS 7 的应用??
  • 使用运行 iOS 7 的真实设备。如果无法测试,请放弃对 iOS 7 的支持。
  • 顺便说一句 - 在 iOS 7 下使用 Xcode 6 测试您的应用程序不是有效的测试。您将要测试的应用与您提交到商店的应用不同。使用 Xcode 6 测试时,它可能在 iOS 7 上完美运行,但使用 Xcode 7 构建时会失败并崩溃。

标签: ios xcode uistoryboard


【解决方案1】:

原因是 Xcode 6 和 7 之间的冲突。 Apple 在 Xcode 7 的发行说明中披露了这一点。

我按照步骤操作,错误已解决。

“从 Xcode 的下载首选项安装 iOS 9.0 Simulator Runtime 会导致 Xcode 6 中的 Interface Builder 安装在同一台机器上停止运行。 避免安装 iOS 9.0 Simulator Runtime 或在切换到 Xcode 6 时将 /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 9.0.simruntime 移动到备份位置并将其移回 Xcode 7。(23230951)"

https://developer.apple.com/library/watchos/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html

【讨论】:

  • 是的。删除 iOS 9 模拟器为我解决了这个问题。一个有趣的观察。我的错误信息不同,XCode 6 正在寻找手表套件但找不到。
  • @SilentNot 我也收到了关于手表套件的错误消息。不过也解决了。也许 Xcode 试图在项目文件中加载框架列表,但列表取决于 xcode 版本。
【解决方案2】:

遇到同样的问题,经过一番调查,似乎在 Xcode 更新或 Mac OS 更新后,从系统库中删除了 2 个私有框架,PepperUICore.framework 和 SockPuppetGizmo.framework。但您仍然可以在您的 Xcode 6 模拟器 SDK 中找到它们。

确保在 /System/Library/PrivateFramework/ 中找不到这 2 个框架。然后使用以下命令行(将 Xcode 6 应用程序路径替换为您的)将私有框架从 Xcode 6 模拟器 SDK 复制到您的 /System/Library/PrivateFramework/

sudo cp -r /Applications/Xcode6.4.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PepperUICore.framework /System/Library/PrivateFrameworks/

sudo cp -r /Applications/Xcode6.4.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/SockPuppetGizmo.framework /System/Library/PrivateFrameworks/

现在用 Xcode 6 打开你的 .xib 或 .storyboard,应该没问题。

【讨论】:

【解决方案3】:

尝试更改情节提要检查器中的“打开方式”属性,使其与 Xcode 6 或 6.3 兼容。

特别是这个下拉/弹出菜单项:

但像 Kaizoku cmets 一样,如果有其他问题(例如,如果您的应用程序需要仅存在于 iOS 9 中的符号或功能),请不要感到惊讶。

set the minimum deployment version for your app(例如 iOS 7)和try it out in an iOS 7 or iOS 8 simulator which you can download with Xcode 7 可能更好。

【讨论】:

  • 如果界面生成器文档部分不显示如何更改?
猜你喜欢
  • 1970-01-01
  • 2022-11-28
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
相关资源
最近更新 更多