Daeyeon Joo
Daeyeon Joo

Reputation: 155

Xcode Crash on opening Storyboard

In order to support iOS in range from iOS 7 to iOS 9, I installed both of Xcode 6 and 7. Then I created a project for iPhone on Xcode 7. And I opened it on Xcode 6 to test on iPhone Simulator 7.

But Xcode 6 crashed when I clicked Storyboard file.

How can I resolve it? Or there is another way to support the iOS versions?


Error Message

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
}

Upvotes: 3

Views: 1579

Answers (3)

evanchin
evanchin

Reputation: 2048

Got the same issue, after some investigation, it seems after a Xcode update or Mac OS update, there are 2 private frameworks removed from system library, PepperUICore.framework and SockPuppetGizmo.framework. But you can still find them in your Xcode 6 simulator SDK.

Make sure these 2 frameworks are not found in /System/Library/PrivateFramework/. Then use below command lines (Replace the Xcode 6 app path with yours) to copy the private framework from Xcode 6 simulator SDK to your /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/

Now open your .xib or .storyboard with Xcode 6, it should be fine.

Upvotes: 1

Daeyeon Joo
Daeyeon Joo

Reputation: 155

The reason is a conflict between Xcode 6 and 7. Apple reveals it in a release note for Xcode 7.

I followed the steps and the error is resolved.

"Installing the iOS 9.0 Simulator Runtime from Xcode's Download Preferences can cause Interface Builder in Xcode 6 installs on the same machine to stop functioning. Either avoid installing the iOS 9.0 Simulator Runtime or move /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 9.0.simruntime to a backup location when switching to Xcode 6 and move it back for Xcode 7. (23230951)"

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

Upvotes: 6

Michael Dautermann
Michael Dautermann

Reputation: 89509

Try changing the "Opens In" attribute in the storyboard inspector to have it compatible with Xcode 6 or 6.3.

Specifically this dropdown / popup menu item:

enter image description here

But like Kaizoku comments, don't be surprised if something else is broken (e.g. if your app is expecting symbols or functionality that only exists in iOS 9).

What may be better is to set the minimum deployment version for your app (e.g. to iOS 7) and try it out in an iOS 7 or iOS 8 simulator which you can download with Xcode 7.

Upvotes: 0

Related Questions