2013-10-02 37 views
6

Tôi có một dự án yêu cầu SDK iOS 6.1 và tôi đã nâng cấp lên XCode5 và không thấy SDK iOS 6.1 trong Cài đặt Xây dựng -> SDK cơ sở. Tôi đã lưu SDK trước đó một cách riêng biệt và đã thử sao chép nó trong /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs Directory. Nhưng nó không hiển thị trong cài đặt Xây dựng -> Cơ sở SDKS. Làm thế nào tôi có thể sử dụng nhiều SDK trong Xcode 5?Xcode - Sử dụng nhiều SDK trên XCode 5

+0

Nó hiển thị cho tôi khi tôi làm điều đó. Tôi đoán bạn đã khởi động lại Xcode? –

+0

bản sao có thể có của [Có thể cài đặt iOS 6 SDK trên Xcode 5 không?] (Http://stackoverflow.com/questions/18423896/is-it-possible-to-install-ios-6-sdk-on-xcode -5) – Adam

+2

Đảm bảo bạn khởi động lại XCode và trong một số trường hợp, bạn cần phải đăng xuất/đăng nhập lại. – Adam

Trả lời

7

Thay vì trực tiếp sao chép-dán bạn nên sử dụng liên kết tượng trưng để tránh xóa SDK trước đây về mỗi lần cập nhật XCode ..

1.Open thiết bị đầu cuối và đi đến thư mục SDK sau như hình dưới đây

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 

2.Paste SDK 6.1 hoặc SDK bạn muốn trước đó trong tài liệu hoặc bất kỳ thư mục nào khác mà nó sẽ không bị xóa sau khi cập nhật XCode trong tương lai. khi bạn đặt SDK vào thư mục đó, hãy sử dụng lệnh sau để tạo liên kết tượng trưng. (để đơn giản tôi đã đặt SDK 6.1 vào thư mục Tài liệu)

sudo ln -s /Users/.../Documents/iPhoneOS6.1.sdk . 

LƯU Ý: đừng quên thêm dấu cách và dấu chấm sau lệnh.

1

Nếu bạn muốn sử dụng SDK trước đó với xCode 5, chỉ cần sao chép sdk trước đó vào nội dung-> developer-> patforms-> iPhoneOS.platform Sau đó khởi động lại xCode. đảm bảo bạn đang mở nội dung xCode5 và dán ở đó.

+1

Khởi động lại đã làm các trick. nhưng đánh dấu câu trả lời ở trên vì nó có giải pháp để nâng cấp trong tương lai. Cảm ơn. –

4

Trong một bình luận từ một câu trả lời đã bị xóa, bạn nói:

Sử dụng 7.0 SDK gây ra tất cả các loại sự cố hiển thị lẻ trong các ứng dụng của tôi trên iOS7 mà tôi không có thời gian để sửa chữa ngay lập tức

Tôi hiểu vấn đề ở đây, nhưng tôi cảm thấy bắt buộc phải nói rằng tôi đồng ý với trojanfoe, thực hành tốt nhất là bạn nên sử dụng SDK mới nhất, nhưng cũng có thể hỗ trợ bất kỳ phiên bản iOS nào trước mà yêu cầu kinh doanh của bạn ra lệnh. Vì vậy, tốt nhất, người ta nên:

  1. Đặt mục tiêu triển khai tối thiểu là ứng dụng được bất cứ điều gì phiên bản đầu tiên của iOS bạn cần hỗ trợ:

    project target

  2. Rõ ràng viết mã hỗ trợ phạm vi phiên bản iOS từ mọi thứ từ "mục tiêu triển khai tối thiểu" của ứng dụng đến phiên bản iOS mới nhất. Điều này sẽ liên quan đến việc phổ thông thường của các kỹ thuật được liệt kê trong Supporting Multiple Versions of iOS của Programming Guide iOS App, cụ thể là:

    • liên kết yếu kém của các khuôn khổ mà có thể không được hỗ trợ bởi mục tiêu triển khai sớm nhất;

    • kiểm tra thời gian chạy cho sự tồn tại của các lớp;

    • kiểm tra thời gian chạy cho respondsToSelector cho những phương pháp không có sẵn trong tất cả các phiên bản iOS mà bạn đang hỗ trợ;

    • v.v.

  3. Sau đó, nếu bạn muốn kiểm tra trên mô phỏng cho các phiên bản iOS trước đó, trong menu chương trình, chọn mục tiêu iOS phiên bản:

    scheme

    Rõ ràng, bạn sẽ muốn để thử nghiệm trên các thiết bị vật lý vẫn đang chạy các phiên bản iOS cũ (cũng như, rõ ràng là các phiên bản iOS mới nhất). Nhưng việc sử dụng trình mô phỏng là một cách nhanh chóng để chạy ứng dụng thông qua các bước của nó so với phiên bản iOS cũ hơn và đảm bảo rằng bạn duy trì tính tương thích ngược.

Tôi hiểu những lo ngại của bạn về cách tiếp cận này và tôi hiểu rằng điều này có thể không phù hợp với bạn, nhưng tôi cảm thấy bắt buộc phác thảo những gì tôi cho là "thực hành tốt nhất".