Tài liệu Main.storyboard yêu cầu Xcode 8.0 trở lên


94

Tôi đã tải xuống Xcode beta và mở dự án hiện có của mình để xem nó hoạt động như thế nào với Xcode 8 beta (Tôi đã mở tệp Storyboard từ Xcode 8).

Bây giờ khi tôi mở dự án của mình từ Xcode 7.3, tôi không thể mở tệp bảng phân cảnh, nó cho tôi lỗi sau

Phiên bản này không hỗ trợ các tài liệu được lưu ở định dạng Xcode 8. Mở tài liệu này bằng Xcode 8.0 trở lên.

Xcode 7 lỗi Tôi nên làm gì để hoàn nguyên vì tôi muốn tiếp tục làm việc trên Xcode 7.

Trong Xcode 8, tôi được nhắc chọn thiết bị và tôi đã chọn iPhone 6S, tôi nghĩ rằng phần nào đó chịu trách nhiệm về việc tệp phân cảnh không mở trong Xcode 7


7
Hoàn nguyên các thay đổi trong kiểm soát phiên bản
Wain

1
@Wain Có đó là luôn luôn là một lựa chọn nhưng tôi đã có một số thay đổi uncommited và cũng muốn biết các giải pháp (Nếu tiêu thụ không thời gian)
Bhumit Mehta

Câu trả lời:


212

Tôi đã tìm ra nó:

Mở Bảng phân cảnh của bạn trong Xcode 8.

Nhấp vào Trình kiểm tra tệp.

Trong phần Tài liệu trình tạo giao diện , chọn Mở trong "Xcode 7.x" thay vì "Xcode mới nhất (8.0)", như trong ảnh chụp màn hình sau:

nhập mô tả hình ảnh ở đây

Khi thực hiện việc này, bạn sẽ nhận được cảnh báo cho biết "Lưu cho Xcode 7.x sẽ đóng tài liệu của bạn và dữ liệu cho các tính năng Xcode 8.0 sẽ bị xóa."

Nhấp vào Lưu và Đóng và bạn sẽ có thể mở bảng phân cảnh trong Xode 7.x.


Tôi đã gặp sự cố khi gắn thay đổi nhưng những gì tôi đã làm là thay đổi nó, sau đó lưu và đóng, tại thời điểm đó nó không thực sự lưu vì vẫn còn màu xám, sau đó tôi khá Xcode (bị treo) sau đó buộc thoát khỏi nó, và bây giờ bảng phân cảnh đang hoạt động trong Xcode 7 phew!
malhal

@Bhumit Mehta Nó không hoạt động khi tôi có 2 bảng phân cảnh khác nhau cho ipad và iphone. Các thay đổi chỉ được lưu cho một trong số chúng. Vui lòng cho tôi biết bất kỳ giải pháp nào.
mars

@mars: Bạn chỉ cần lặp lại các bước tương tự cho cả hai bảng phân cảnh, tôi đã thử nó trong một dự án thử nghiệm và nó đã hoạt động.
Bhumit Mehta

2
Tài liệu Trình tạo Giao diện ở đâu?
natecraft1

10
NHƯNG nếu bạn lại mở một dự án trong xCode 8 và vào một bảng phân cảnh - bạn sẽ có tệp bảng phân cảnh một lần nữa bị rối tung và Bạn sẽ phải quay lại phiên bản 7.x lần nữa - và "Save and Cose" một lần nữa
Massmaker

67

Tôi có cách này:

  1. Mở bảng phân cảnh dưới dạng "Mã nguồn" (nhấp chuột phải vào bảng phân cảnh -> mở dưới dạng -> mã nguồn).
  2. Xóa hàng này:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. Xóa mục này cho tất cả các bảng phân cảnh mà bạn đang sử dụng.
  2. Chạy ứng dụng.

13
Sau khi hoàn thành các bước trên, khi mở storyboard là giao diện Xcode đã bị crash !!!
Elangovan

3
Điều này có thể đã hoạt động trong XCode 8 Beta. Nhưng trong bản phát hành XCode 8, việc làm này sẽ làm hỏng XCode.
GeneCode

đây không phải là làm việc bây giờ, vẫn còn lỗi, và nó tự động thiết lập để 8,0 như kịch bản mở
Arfan Mirza

những âm thanh trả lời được chấp nhận xa an toàn hơn chỉ xóa một dòng
kiedysktos

Thay thế mã bằng các số liệu khác nhau không hiệu quả với tôi. Chỉ xóa dòng mã mới khắc phục được lỗi. Câu trả lời được chấp nhận dường như chỉ hoạt động khi bạn đã có Xcode8.
jinglei

27

Nó làm việc cho tôi

Nhấp chuột phải vào main.stoaryboard, mở dưới dạng -> mã nguồn và thay đổi các phần phụ thuộc

thay đổi

 <capability name="documents saved in the Xcode 8 format"
     minToolsVersion="8.0"/>  to

   <capability name="documents saved in the Xcode 7 format"
     minToolsVersion="7.0"/>

Thực hiện theo bước tương tự trên Launcscreen.stoaryboard


2
Đây là giải pháp tốt nhất cho đến nay, trong trường hợp bạn không có Xcode 8.0
Kampai

2
Cảm ơn vì giải pháp. Vấn đề tương tự cũng xảy ra sau khi chuyển từ Xcode 9 sang Xcode 8. Tôi đã thay đổi "<Khả năng tên =" Hướng dẫn bố trí khu vực an toàn "minToolsVersion =" 9.0 "/>" thành <Khả năng tên = "Hướng dẫn bố trí khu vực an toàn" minToolsVersion = "8.0" / >. Sau thay đổi này khi bạn mở bảng phân cảnh trong Trình tạo giao diện, dòng này sẽ bị xóa.
Amit

10

Sự cố tương tự cũng xảy ra sau khi chuyển từ Xcode 9 sang Xcode 8. Tôi đã mở bảng phân cảnh bằng mã nguồn và thay đổi

"<capability name="Safe area layout guides" minToolsVersion="9.0"/>" 
to <capability name="Safe area layout guides" minToolsVersion="8.0"/>

Sau thay đổi này khi bạn mở bảng phân cảnh trong Trình tạo giao diện, dòng này sẽ bị xóa.


cảm ơn bạn đã tiết kiệm cho tôi một số giờ làm việc, xcode thông báo cho tôi rằng một số điều kỳ lạ đã được tìm thấy và sửa chữa để tệp của tôi sẽ ổn sau khi sửa đổi này?
brahimm

7

Tôi cũng đã gặp câu hỏi này. Tôi đã làm theo phương pháp này để thay đổi nó: vì tôi không thể nhấp vào menu để chọn 7.0 trở lên, tôi đã mở main.storyboardlaunchscreen.storyboardbằng mã nguồn, thay vì tôi đã thay đổi phiên bản của nó theo cách thủ công và điều này đã giải quyết được vấn đề.


5
Đây là dòng trước khi thay đổi: <Khả năng tên = "tài liệu được lưu ở định dạng Xcode 8" minToolsVersion = "8.0" /> Sau khi thay đổi: <Khả năng tên = "tài liệu được lưu ở định dạng Xcode 7" minToolsVersion = "7.0" />
Dani.Rangelov

Phiên bản phát hành XCode 8.0 (không phải beta) hiển thị minToolsVersion = "6.0"
GeneCode

4

Vì XCode 8 liên tục chuyển đổi các tệp phân cảnh sang định dạng XCode 8 mỗi khi tôi mở nó (đó là một dự án cũ và mọi thứ trở nên rối tung), tôi đã tải xuống XCode 7 và sử dụng nó chỉ để chỉnh sửa các tệp phân cảnh (và đóng nó trước khi tôi chuyển về XCode 8). Nếu tôi vô tình mở tệp bảng phân cảnh trong 8, tôi chỉ cần đặt lại tệp đó về lần cam kết cuối cùng, vì dự án đang ở trên GIT.

Ngu ngốc, tôi biết, nhưng nó hoạt động.


3
<dependencies>
    <deployment identifier="iOS"/>
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
    <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies>

Thay thế các phụ thuộc của bạn thành các phụ thuộc này


0

Mở bảng phân cảnh Source Codevà tìm kiếm minToolsVersionchìa khóa. Đặt giá trị đó là 7.0 và mở bảng phân cảnh đó trong Xcode 7.x


0

Như @Bhumit_Metha đã đưa ra giải pháp thẳng về phía trước. Rất tiếc, trong trường hợp của tôi, tôi không có MAC với phiên bản Xcode (8.0+) mới nhất, hãy thực hiện những thay đổi đó để hỗ trợ các tệp 'xib' mới trong xcode cũ (7.x) của tôi.

Vì vậy, tôi đã kết thúc với một giải pháp hoạt động với các bước đơn giản như sau:

[1] Tạo tệp xib trống trong xcode 7.x.

[2] Nhấp chuột phải vào xib trống để xem nguồn và sao chép tất cả.

[3] Bây giờ mở xib mới (một xib bị lỗi phiên bản) trong trình xem nguồn. Dán mã trước đó lên trên.

[4] Thay thế tất cả các dòng cũ bằng thẻ bên trong mới: <objects> ...... </objects>

Và đó là tất cả. Sẽ hoạt động tương thích với xcode 7.x!

Mẹo: Trong khi mở lần sau bằng xcode mới, hãy đảm bảo chọn chế độ tương thích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.