10

从 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参数的值,因此故事板的路径被用作编译的目标文件而不是目标文件。

是否可以检查/修改此编译步骤,或者这可能是 Xcode 中的错误?

4

2 回答 2

23

因此,感谢 Apple 支持人员,解决方案是将Main.storyboard文件从 Compile Sources 构建阶段移动到 Copy Bundle Resources 阶段。

于 2015-09-23T10:47:53.250 回答
0

为“为模拟器图形质量覆盖创建通知处理程序时出错”添加另一个潜在答案。当我在 xcode 构建阶段添加运行脚本,然后将脚本拖到 sop 以使其运行预构建时,出现此错误。不知道为什么会这样,但是当我将运行脚本窗口拖回底部时,它修复了它。

于 2016-08-02T00:54:12.707 回答