更新到Xcode 7.0.1后上传iOS应用程序时出现错误。

4
在 Xcode 7.0.1 中上传 iOS 应用时出现以下错误,但在使用 Xcode 7.0 时则没有这些错误:
ERROR ITMS-90030: "Nib file 'MainWindow~ipad.nib' was not found. Please ensure the specified file is included in the bundle with any required device modifiers appended to the filename." ERROR ITMS-90030: "Nib file 'MainWindow~iphone.nib' was not found. Please ensure the specified file is included in the bundle with any required device modifiers appended to the filename."
该应用包含两个 xib 文件,但没有任何 nib 文件: MainWindow.xib MainWindow~ipad.xib
在 Targets / General / Deployment Info 中: iPhone:Main Interface:MainWindow iPad:Main interface:MainWindow~ipad
在 plist 文件中: Main nib file base name:MainWindow Main nib file base name (iPad):MainWindow~ipad
有没有简便的方法将 xib 文件转换成 nib 文件? 有什么解决问题的方法吗?

1
你尝试过清理项目吗?快捷键是cmd+shift+K。 - Soberman
是的,我已经尝试过多次清理项目。错误每次都会出现。我还将Xcode更新到了7.1版本,但错误仍然存在。您有其他建议吗? - Bjorn
我解决了这个问题。Xib文件恰好位于子目录中。Xcode 7.0可以找到这些文件,但是7.0.1不行。感谢所有的帮助。 - Bjorn
2个回答

4

请检查项目的 Info.plist 文件并找到 NSMainNibFile~ipad 条目,然后删除该条目并尝试再次进行打包存档。这样应该就可以了 :)


我尝试了这个方法,它对我有效,但为什么会发生这种情况?如何使构建自动化正常运行而不需要手动操作呢? - user1261710
难道你不能将Xcode升级到9吗?有很多改进,而且使用最新版本的Xcode是一个好习惯。 - AndaluZ
嗨,我有XCode 9。 - user1261710
该提问者使用的是 Xcode 7.0.1。但如果现在它能工作,我更愿意集中精力处理其他事情。为什么它能工作是另一个需要在 SO 上询问的问题。 - AndaluZ

2

您可能需要删除两个条目:NSMainNibFileNSMainNibFile~ipad

如果您正在使用Cordova,则可以使用钩子和plist npm模块来完成此操作。

var xml = plist.parse(plistData.toString('utf8'));
delete xml['NSMainNibFile'];
delete xml['NSMainNibFile~ipad'];
return plist.build(xml);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接