ibtool fails to compile storyboard in Xcode 7.1 Beta

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


$ 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>


I'm pretty new to iOS development, can anyone shed any light on what might be causing this?


Thanks.

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?

Looks like a bug in Xcode. Please file a bug and attach your project and we'll take a look, thanks!

I don't think you need this person's project; you'll see that xcodebuild is formatting the parameters to 'ibtool' incorrectly. It needs to pass '/Users/me/Developer/my-app/MyApp/Resources/Storyboards/' as the compilation directory, an then '/Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard' as the positional argument.


I am unable to work because of this bug (and unable to work because of a bug in 7.0 that is apparently fixed in 7.1...)

Thanks for taking a look kcathey.


Bug #22739503 filed, with project attached just in case.

Thanks! We'll take a look.

Hey did you find a work-around for now by any chance?

No sorry, no workaround - I've just reverted back to using 7.0 Beta 3 for now.

Accepted Answer

Does the storyboard happen to be in your compile sources phase of your project? If so, try moving it to the copy resources phase.

(Hey kcathey, sorry, didn't see your reply - the forums don't seem to default to having email notifcations turned on.)


That seemed to do the trick, thanks! I can now compile and run my app (it crashes on launch, but that's an unrelated third-party library issue by the look of it).


My (as yet default, unmodified*) LaunchScreen.xib is also in the Compile Sources build phase, should that be moved too?


* My app isn't finshed yet.

Same problem here. Going to copy fixed it.

I am unable to work because of this bug (and unable to work because of a bug in 7.0 that is apparently fixed in 7.1...)


I am in exactly the same position. I hope that this is going to be fixed ASAP.

@kcathey any info on this issue ?

ibtool fails to compile storyboard in Xcode 7.1 Beta
 
 
Q