在升级到Xcode 5.0后,无法在Xcode 4.6中打开项目

12

我在Xcode 5中打开了错误版本的项目,现在当我尝试在Xcode 4.6中打开该项目时,Xcode 4.6会崩溃。我只在Xcode 5中更改了一个xib文件,并且使用Xcode 5打开了IB中的xib文件,在“Interface Builder Document”下更改了“Opens in”从“Xcode 5.0”到“Xcode 4.6”。任何想法为什么在打开该项目时,Xcode 4.6会崩溃?

编辑:

我复制了项目文件夹,现在即使所有文件都在旧的项目文件夹中,但当我打开项目时,在Xcode 4.6或5中都没有显示出来。我的所有图像、类文件或任何内容都没有在Xcode中显示,尽管它们仍然都在项目文件夹中。


你有一些保存的快照吗?你可以尝试在5.0中打开并返回到一个快照,看看是否可以在4.6中打开。希望你能解决这个问题,否则会让我发疯。 - rezand
请查看我的答案:http://stackoverflow.com/questions/17047409/just-installed-xcode-5-and-have-missing-storyboards/17072652#17072652 - Idan
7个回答

22

恢复您现有项目比那更容易。 在Xcode 5上打开项目文件,然后:

  1. 逐个为每个xib打开文件检查器
  2. 在“Interface Builder文档”部分将“打开方式”更改为Xcode 4.6(如果是5.0)。 调整任何其他明显不兼容的参数
  3. 保存,关闭该项目并使用旧版Xcode打开。

7

Interface Builder Documents 的打开方式更改为 Xcode 4.6。

enter image description here


4
我发现有一种方法可以在不使用Xcode5的情况下进行更改。如果您像Sublime这样的文本编辑器中打开Main.storyboard,您会看到类似以下内容:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4451" systemVersion="13A461" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="vXZ-lx-hvc">
<dependencies>
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3676"/>
</dependencies>
<scenes>
    <!--class Prefix:identifier View Controller-->
    <scene sceneID="ufC-wZ-h7g">
        <objects>
            <viewController id="vXZ-lx-hvc" customClass="TEViewController" sceneMemberID="viewController">
                <view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
                    <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
                </view>
            </viewController>
            <placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
        </objects>
    </scene>
</scenes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
    <simulatedStatusBarMetrics key="statusBar"/>
    <simulatedOrientationMetrics key="orientation"/>
    <simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>

在文档行上,您将获得一个显示为3.0的标签版本(version="3.0")。您可以手动更改为2.0或1.0。保存文档后,您就能够在模拟器上打开文件并运行它(我尚未在真实设备上测试其性能)。

3
很可能在Xcode 5中打开项目会自动将项目升级到新的格式(即使您只手动更改了一两个文件)。该升级通常是不可逆转的。您可以从备份或版本控制中恢复。
如果没有备份或版本控制,您应该考虑在将来使用beta / developer preview软件处理重要生产项目之前设置此类事项。
在这种情况下,您可以重新创建Xcode 4项目并重新添加所有文件等。

1
这就是为什么当您在Xcode 5中打开项目时,所有库和XIB控件都会基于Xcode 5进行更改,因此Xcode 4.6和5的预览将不同的原因。

1

实际上这有一个非常简单的答案。

在Xcode 5中打开Storyboard文件,然后:1.打开文件检查器2.在"Interface Builder Documents"部分将"打开方式"更改为Xcode 4.6(如果它是5.x)。3.保存,关闭项目并使用旧版Xcode打开。

现在应该可以工作了。


1
非常简单获取您当前的项目。在Xcode 5上打开项目文件,然后:
a). 对于每个xib打开文件检查器 b). 在“Interface Builder Documents”部分将“打开方式”更改为Xcode 4.6(如果是5.0)。 c). 调整任何其他明显不兼容的参数 按下cmd + S(保存项目),关闭项目并使用旧版Xcode打开。

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