在 5.0 中打开后无法在 Xcode 4.6 中打开项目

Posted

技术标签:

【中文标题】在 5.0 中打开后无法在 Xcode 4.6 中打开项目【英文标题】:Can't Open Project in Xcode 4.6 After Opening in 5.0 【发布时间】:2013-06-24 17:07:33 【问题描述】:

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

编辑:

我制作了项目文件夹的副本,现在,即使所有文件都在旧项目文件夹中,当我打开项目时,它们都没有显示在 xcode 4.6 或 5 中。我的图像、类文件或任何东西都没有显示在 xcode 中,即使它们都仍在项目文件夹中。

【问题讨论】:

你有一些保存的快照吗,你可以尝试再次在 5.0 中打开并返回快照,看看是否会在 4.6 中打开,希望你能解决这个问题,这会让我发疯。跨度> 在这里查看我的答案:***.com/questions/17047409/… 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

更改Interface Builder Documents > 在 Xcode 4.6 中打开

【讨论】:

【参考方案3】:

我发现有一种方法可以在没有 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"  />
                    <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") 的标记版本。您可以手动从 3.0 更改为 2.0 或 1.0。保存文档,您将能够打开文件并在模拟器上运行它(我还没有在真实设备上检查它的性能)。

【讨论】:

【参考方案4】:

这可能是在 Xcode 5 中打开项目导致它自动将项目升级到新格式的情况(即使您只手动更改了一个或两个文件)。这种升级通常是不可逆的。您可能可以从备份或版本控制中恢复。

如果您没有备份或版本控制,您或许应该考虑在未来重要的生产项目中使用测试版/开发者预览版软件之前进行此类设置。

在这种情况下,您可能可以重新创建 Xcode 4 项目并重新添加所有文件,等等。

【讨论】:

【参考方案5】:

其实这有一个很简单的答案。

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

它现在应该可以工作了。

【讨论】:

【参考方案6】:

这就是为什么当您在 xcode 5 中打开项目时,所有库和 xib 控件都会根据 xcode 5 更改,因此 xcode 4.6 和 5 的预览会有所不同。

【讨论】:

【参考方案7】:

获取您当前的项目非常简单。在 Xcode 5 上打开项目文件。然后:

a).为每个 xib 打开文件检查器 b).在“Interface Builder Documents”部分将“打开方式”更改为 Xcode 4.6(如果是 5.0)。 c).调整任何其他明显不兼容的参数 按 cmd +S(保存项目),关闭项目并使用旧 Xcode 打开。

【讨论】:

以上是关于在 5.0 中打开后无法在 Xcode 4.6 中打开项目的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 4.6 不能正确识别 Xcode 5.0 创建的项目的链接框架

Xcode 更新到 4.6 后应用程序在设备上崩溃

CocoaLibSpotify 无法在 XCode 4.6 / iOS 6.1 中编译

将 XIB 从 Xcode 5 降级到 Xcode 4.6

XCode 4.6 继续下载 Doc Set

如何创建一个向后兼容iOS 5.0的新Xcode 5项目? - 错过故事板错误