10

Having updated from Xcode 7.0 Beta 3 to 7.1 Beta (all intermediate releases including the 7.0 GM had a crash-on-launch bug for my project, which has only been fixed in 7.1 Beta) I can't build my project due to the following error:

CompileStoryboard MyApp/Resources/Storyboards/Main.storyboard  
    cd /Users/me/Developer/my-app  
    export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"  
    export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode-beta.app/Contents/Developer/usr/bin/..  
    /Applications/Xcode-beta.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --module MyApp --output-partial-info-plist /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Main-SBPartialInfo.plist --auto-activate-custom-fonts --target-device iphone --minimum-deployment-target 8.0 --output-format human-readable-text --compilation-directory /Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard  


/ com.apple.ibtool.errors */  
: error: Not enough arguments provided; where is the input document to operate on?  

Xcode is configured to use the Xcode 7.1 (7B60) command line tools:

$ xcode-select -p  
/Applications/Xcode-beta.app/Contents/Developer  

And ibtool appears to be the correct version:

$ ibtool --version  
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE plist PUBLIC "-/  
<plist version="1.0">  
<dict>  
  <key>com.apple.ibtool.version</key>  
  <dict>  
  <key>bundle-version</key>  
  <string>9046</string>  
  <key>short-bundle-version</key>  
  <string>7.1</string>  
  </dict>  
</dict>  
</plist>  

EDIT: Comparing the output from a successful build in Xcode 7.0 Beta 3 (formatted for clarity):

CompileStoryboard MyApp/Resources/Storyboards/Main.storyboard
    cd /Users/me/Developer/my-app
    export PATH="/Applications/Xcode 7.0 Beta/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode 7.0 Beta/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    export XCODE_DEVELOPER_USR_PATH="/Applications/Xcode 7.0 Beta/Xcode-beta.app/Contents/Developer/usr/bin/.."
    /Applications/Xcode\ 7.0\ Beta/Xcode-beta.app/Contents/Developer/usr/bin/ibtool
    --errors
    --warnings
    --notices
    --module MyApp
    --output-partial-info-plist /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Main-SBPartialInfo.plist
    --auto-activate-custom-fonts
    --target-device iphone
    --minimum-deployment-target 8.0
    --output-format human-readable-text
    --compilation-directory /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Products/Debug-iphonesimulator/MyApp.app
    /Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard

2015-09-17 15:44:06.451 Interface Builder Cocoa Touch Tool[1216:88742] Error creating notification handler for simulator graphics quality override: 1000000

with the unsuccessful one from Xcode 7.1 Beta:

CompileStoryboard MyApp/Resources/Storyboards/Main.storyboard
    cd /Users/me/Developer/my-app
    export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode-beta.app/Contents/Developer/usr/bin/..
    /Applications/Xcode-beta.app/Contents/Developer/usr/bin/ibtool
    --errors
    --warnings
    --notices
    --module MyApp
    --output-partial-info-plist /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Main-SBPartialInfo.plist
    --auto-activate-custom-fonts
    --target-device iphone
    --minimum-deployment-target 8.0
    --output-format human-readable-text
    --compilation-directory
    /Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard

/* com.apple.ibtool.errors */
: error: Not enough arguments provided; where is the input document to operate on?

reveals that I seem to be missing a value for the --compilation-directory argument and so the path to the storyboard is being used instead of as the target file for compilation.

Is it possible to inspect/modify this compilation step or is this likely a bug in Xcode?

fractious
  • 1,642
  • 16
  • 30

2 Answers2

23

So thanks to an Apple support staff member, the solution is to move the Main.storyboard file from the Compile Sources build phase to the Copy Bundle Resources phase.

fractious
  • 1,642
  • 16
  • 30
0

Adding another potential answer for "Error creating notification handler for simulator graphics quality override". I got this error when I added a run script in xcode build phases, and then dragged the script to the sop to make it run pre-build. No idea why this happened, but when I dragged the run script window back down to the bottom it fixed it.

Nostradamus
  • 1,497
  • 3
  • 20
  • 34