为了支持从iOS 7到iOS 9的iOS,我安装了Xcode 6和7。 然后我在Xcode 7上为iPhone创建了一个项目。 我在Xcode 6上打开它以在iPhone模拟器7上进行测试。
但是当我点击Storyboard文件时,Xcode 6崩溃了。
我该如何解决? 或者还有另一种方式来支持iOS版本?
错误消息
Process: Xcode [9928] Path: /Applications/Xcode 6.app/Contents/MacOS/Xcode Identifier: com.apple.dt.Xcode Version: 6.4 (7720) Build Info: IDEFrameworks-7720000000000000~8 Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: Xcode [9928] User ID: 501 Date/Time: 2016-01-04 01:15:21.068 +0900 OS Version: Mac OS X 10.10.5 (14F1509) Report Version: 11 Anonymous UUID: F02C76F0-B69A-FE68-DD89-9946A7C82C03 Sleep/Wake UUID: 2BF55735-0241-43B3-A731-49B6D645DC4F Time Awake Since Boot: 53000 seconds Time Since Wake: 550 seconds Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Application Specific Information: ProductBuildVersion: 6E35b ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-7703/InterfaceBuilder/Utilities/IBObjectMarshalling.m:45 Details: Failed to launch Interface Builder Cocoa Touch Tool: Error Domain=com.apple.InterfaceBuilder Code=-1 "Encountered an error communicating with Interface Builder WatchKit Tool." UserInfo=0x7fb9b3128d40 {NSUnderlyingError=0x7fb9ac00c620 "Failed to communicate with Interface Builder", NSLocalizedDescription=Encountered an error communicating with Interface Builder WatchKit Tool., NSLocalizedRecoverySuggestion=Please check Console.app for crash reports for "Interface Builder WatchKit Tool" for further information., NSLocalizedFailureReason=Interface Builder WatchKit Tool (10069) failed to launch and exited with status (null), signal 5. Dyld Error Message: Library not loaded: /System/Library/PrivateFrameworks/PepperUICore.framework/PepperUICore Referenced from: /Applications/Xcode 6.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/Interface Builder WatchKit Tool Reason: image not found Application Specific Information: dyld: launch, loading dependent libraries 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 }
答案 0 :(得分:6)
原因是Xcode 6和7之间存在冲突。 Apple在Xcode 7的发行说明中公布了它。
我按照步骤操作,错误得到解决。
"从Xcode的下载首选项安装iOS 9.0 Simulator Runtime会导致Xcode 6中的Interface Builder安装在同一台机器上以停止运行。 当切换到Xcode 6并将其移回Xcode 7时,要么避免安装iOS 9.0 Simulator Runtime,要么将/ Library / Developer / CoreSimulator / Profiles / Runtimes / iOS \ 9.0.simruntime移动到备份位置。(23230951)"
答案 1 :(得分:1)
遇到同样的问题,经过一些调查后,似乎在Xcode更新或Mac OS更新后,系统库中删除了2个私有框架, PepperUICore.framework和SockPuppetGizmo.framework 。但您仍然可以在Xcode 6模拟器SDK中找到它们。
确保在/ System / Library / PrivateFramework /中找不到这两个框架。然后使用下面的命令行(将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,应该没问题。
答案 2 :(得分:0)
尝试更改"打开"故事板检查器中的属性使其与Xcode 6或6.3兼容。
特别是这个下拉/弹出菜单项:
但是像Kaizoku的评论一样,如果其他内容被破坏(例如,如果您的应用程序期望仅在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。