Xcode 文件";XXXX.xib“的;无法打开。无法读取存档文件

Xcode 文件";XXXX.xib“的;无法打开。无法读取存档文件,xcode,ios7,xcode5,Xcode,Ios7,Xcode5,在Xcode5开发者预览中打开我的项目后,当我试图在Xcode4.5中打开项目时,一些.xib文件出现了错误。错误文本为: The document "XXXX.xib" could not be opened. Could not read archive. Please use a newer version of Xcode. Consider changing the document's Development Target to preserve compatibility.

在Xcode5开发者预览中打开我的项目后,当我试图在Xcode4.5中打开项目时,一些.xib文件出现了错误。错误文本为:

 The document "XXXX.xib" could not be opened. Could not read archive.

 Please use a newer version of Xcode. Consider changing the document's Development Target to preserve compatibility.
该项目在Xcode5中的开发目标似乎是iOS 5.0

查看有错误的.xib文件的源代码,很明显,Xcode5中.xib文件的.xml结构已经发生了相当大的变化,需要重新格式化才能向后兼容

有没有办法为特定的.xib文件设置开发目标?有人知道如何解决这个错误吗


非常感谢。

很明显,您在新的xcode开发者预览版之前创建了您的项目。然后,您尝试使用新的DP和boom打开项目,它会自动更改您的XIB中的所有内容,以便能够在更高版本中呈现您的XIB。容易修复。使用xcode 4 ios 6打开同一个项目,然后右键单击未打开的xib的名称,选择源代码管理,然后从中选择放弃更改。这将使xib恢复到使用新xcode DP打开它之前的形状


如果您需要更多帮助,请告诉我,但这会解决您的问题。

一个更好、更简单的解决方案,即使您的项目不受源代码管理,也可以在此处找到(我的):


希望对您有所帮助。

首先,使用Xcode5打开项目。然后

  • 选择XXX.xib查找接口生成器文档
  • 在Xcode 4.6中打开(如果是5.0)
  • 关闭项目
  • 用4.6打开它

使用新的Xcode 5打开Xcode 4.6项目时,这是当前的问题。 要使用Xcode 4.6正确重用XIB,请执行以下操作:

1使用XCode 5打开您的项目

2选择要恢复的Xib

3在“文件检查器”部分的“接口生成器文档”中, 在文档版本控制的开发版本中选择Xcode 4.6

4建造并关闭

5使用XCode 4.6重新打开项目

可以对XIB中的元素宽度和大小进行一些回归,但已成功恢复

干杯

  • 首先,您必须使用较新版本的Xcode打开您的项目
  • 右键单击XXX.xib文件并选择“显示文件检查器”
  • 转到Interface Builder文档
  • 使用旧版本的Xcode更改开发选项
    只需在XCode 5中打开情节提要,进入右侧面板和“文件检查器”选项卡即可:

  • 编辑“Interface Builder文档”,如下所示:
  • 保存它并在以前的XCode中打开

  • 我曾经在XCode 4中使用XCode 5 XIB管理一个项目。我为每个XCode版本拆分了xib,并制作了这个构建脚本,将xib编译成nib,并将nib放在应用程序中

    #get SDK version
    SDK_VERSION=$(echo $SDKROOT | sed -e 's/.*iPhone\(OS\)*\(Simulator\)*\([0-9]*.[0-9]*\).sdk/\3/')
    
    if [ $SDK_VERSION == '7.0' ]; then
       echo 'Current SDK is 7.0'
    
       ibtool --compile ${TARGET_BUILD_DIR}/${TARGET_NAME}.app/output.nib ${PROJECT_DIR}/ProjectFolder/input.xib.xib 
    
       echo 'Copied nibs to' ${TARGET_BUILD_DIR}/${TARGET_NAME}.app
    else
       echo 'Current SDK is not 7.0 (SDK is' $SDK_VERSION')'
    fi
    

    这将是一个伟大的时间来建议,并尽量不要听起来自鸣得意时说。。。只需查看一下您的SCM日志,查看Xcode更改了什么,然后进行恢复。如何查看SCM日志?对不起,我不认为这是一个值得降低分数的问题。。。我是一个业余开发人员,希望能帮助解决这些问题,我相信很多人都有过类似的经历。请查看我对答案的评论。还有+1问一个好问题。:)关于iOS 7/Xcode 5等的任何其他问题。。。请访问苹果开发者论坛的测试版部分。这些beta在保密协议下。请核对我的答案。您不必使用源代码管理来解决它…不幸的是,我没有使用源代码管理,所以“放弃更改”将其恢复到大约1年前的版本!然而,我确实有一个2周前的快照,从那时起我应该能够重建更改。如何配置项目以获得更好的源代码控制?有没有办法将其设置为自动提交,以便您可以随时后退?还是必须手动完成?您可以创建本地git并将其设置为自动刷新。我使用的另一种方法是使用快照。您还可以通过xcode中的设置调整源代码管理。也许还有其他的方法,但这些是我知道的。祝你好运,如果我的答案对你有帮助,请检查它是否正确。谢谢你的建议,我一直在使用快照,但不是正确的源代码管理,但从现在起我会做更多。谢谢你的帮助,也谢谢你在一个完全正确的问题上回复了愚蠢的-1票。检查我的答案,你不必使用源代码管理来解决这个问题。尽管使用源代码管理始终是一种良好的做法,但使用源代码管理将确保项目的安全,并且是一个值得关注的问题。正如我在前面的评论中所说,还有其他方法,但我使用源代码管理,因为它为我提供了更多的安全性。正如你提到的,这是一个很好的练习。谢谢你,伙计。。。但是有没有办法一次性更改所有的.XIB,或者我必须为所有的XIB单独进行更改?我相信您需要对每个XIB文件进行更改。这是因为当您第一次将文件保存在XCode 5中时,文件被解析为其他格式。