ibtool 无法在 Xcode 7.1 Beta 中编译故事板
ibtool fails to compile storyboard in Xcode 7.1 Beta
从 Xcode 7.0 Beta 3 更新到 7.1 Beta(所有中间版本,包括 7.0 GM,我的项目都有一个启动时崩溃的错误,仅在 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?
Xcode 配置为使用 Xcode 7.1 (7B60) 命令行工具:
$ xcode-select -p
/Applications/Xcode-beta.app/Contents/Developer
ibtool
似乎是正确的版本:
$ 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>
编辑: 比较 Xcode 7.0 Beta 3 中成功构建的输出(为清楚起见格式化):
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
来自 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?
显示我似乎缺少 --compilation-directory
参数的值,因此故事板的路径被用作编译的目标文件而不是目标文件。
是否可以 inspect/modify 这个编译步骤,或者这可能是 Xcode 中的错误?
感谢 Apple 支持人员,解决方案是将 Main.storyboard
文件从 Compile Sources 构建阶段移动到 Copy Bundle Resources 阶段。
为 "Error creating notification handler for simulator graphics quality override" 添加另一个可能的答案。当我在 xcode 构建阶段添加一个 运行 脚本,然后将脚本拖到 sop 以使其成为 运行 预构建时,我得到了这个错误。不知道为什么会这样,但是当我将 运行 脚本 window 拖回底部时它修复了它。
从 Xcode 7.0 Beta 3 更新到 7.1 Beta(所有中间版本,包括 7.0 GM,我的项目都有一个启动时崩溃的错误,仅在 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?
Xcode 配置为使用 Xcode 7.1 (7B60) 命令行工具:
$ xcode-select -p
/Applications/Xcode-beta.app/Contents/Developer
ibtool
似乎是正确的版本:
$ 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>
编辑: 比较 Xcode 7.0 Beta 3 中成功构建的输出(为清楚起见格式化):
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
来自 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?
显示我似乎缺少 --compilation-directory
参数的值,因此故事板的路径被用作编译的目标文件而不是目标文件。
是否可以 inspect/modify 这个编译步骤,或者这可能是 Xcode 中的错误?
感谢 Apple 支持人员,解决方案是将 Main.storyboard
文件从 Compile Sources 构建阶段移动到 Copy Bundle Resources 阶段。
为 "Error creating notification handler for simulator graphics quality override" 添加另一个可能的答案。当我在 xcode 构建阶段添加一个 运行 脚本,然后将脚本拖到 sop 以使其成为 运行 预构建时,我得到了这个错误。不知道为什么会这样,但是当我将 运行 脚本 window 拖回底部时它修复了它。