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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With