使用ios 6.1 sdk归档ios 7应用程序时的故事板问题

时间:2013-10-13 22:39:02

标签: ios6 storyboard ios7

我使用xcode 5和ios 7从头开始重新创建了我的应用程序。我已将部署目标设置为ios 5.0。我可以使用xcode 5在所有ios 5.0+模拟器上成功运行应用程序。我可以将我的应用程序的ios 7.0版本存档到我的iphone中。

当我尝试使用xos 4.6.3使用ios 6.1 sdk构建应用程序时出现问题。我收到以下构建错误:

"The document Main.storyboard could not be opened. Could not read archive."

我在源代码视图中打开该文件,并在顶部看到:

<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4510" systemVersion="12E55" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="rS3-R9-Ivy">

我将版本更改为2.0,这是一些人给出的建议。执行此操作后,我清理并重建并收到以下错误:

"The document Main.storyboard could not be opened. Failed to unarchive element named 'tableViewCellContentView'."

我不知道此时该怎么做。如果有帮助,tableViewCellContent在故事板源中显示两次:

<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="jxu-2I-e7e" id="p3Z-Dy-Wwr">
                                            <rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <subviews>
                                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Share Location" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="QHi-wS-Lfa">
                                                    <rect key="frame" x="20" y="11" width="116" height="21"/>
                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                    <nil key="highlightedColor"/>
                                                </label>
                                                <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" id="jfR-fE-3PU">
                                                    <rect key="frame" x="251" y="6" width="51" height="31"/>
                                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                                    <inset key="insetFor6xAndEarlier" minX="20" minY="-2" maxX="-20" maxY="2"/>
                                                </switch>
                                            </subviews>
                                        </tableViewCellContentView>

<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ase-uh-S8O" id="Qfa-Dd-22s">
                                    <rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
                                    <autoresizingMask key="autoresizingMask"/>
                                    <subviews>
                                        <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="m8y-pR-Z3V">
                                            <rect key="frame" x="15" y="3" width="36" height="22"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
                                            <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                        <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Subtitle" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="4bW-Fg-tmx">
                                            <rect key="frame" x="15" y="25" width="43" height="15"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
                                            <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                    </subviews>
                                </tableViewCellContentView>

如果我从源代码中删除上面的这两个片段,我可以使用ios 6.1 sdk在xcode 4.6.3中成功打开故事板。但是,UI结果不正确。

任何想法都不能与ios 6.1 sdk向后兼容?

1 个答案:

答案 0 :(得分:0)

您可以通过设置如下选项,使用与Xcode 4.6兼容的Xcode 5创建/更新故事板文件。

enter image description here

但是,一旦这样做,您将无法进行iOS 7相关的UI更改。