Reputation: 155
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
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
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)"
Upvotes: 6
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:
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