Tôi không thể nhận xét cụ thể trên iPhone SDK 3.0 vì nó được đề cập trong NDA; có một diễn đàn cho các nhà phát triển được tiết lộ tại devforums.apple.com. Nhưng Roger Nolan là một nửa đúng và một nửa sai. Anh ấy có một nửa quyền khi SDK được cập nhật, các ví dụ và mẫu trong SDK đó được cập nhật để khai thác nó. Tức là, các mẫu có thể sử dụng cụ thể các API mới trong SDK đó và mã có thể đơn giản không hoạt động với các SDK trước đó.
Điều đó có nghĩa là bạn có thể lưu các mẫu dự án từ các SDK trước đó và cài đặt chúng trong thư mục cục bộ (như ~/Library/Application Support/Developer/Shared/Xcode/Project Templates) để sử dụng với các phiên bản sau của Xcode. Bản thân mẫu dự án đã không thay đổi; các mẫu phải tương thích về phía trước và phía sau, nhưng nội dung của các mẫu thường bị khóa với phiên bản SDK được gửi kèm theo và sau này.
Ông Nolan là một nửa sai về việc xây dựng dựa trên các phiên bản hệ điều hành cũ hơn với SDK sau này. Đó là lý do tại sao các gói SDK trước đó được cung cấp với các bản phân phối sau này (chúng không chỉ có để tải xuống lâu hơn). Bạn có thể triển khai các phiên bản hệ điều hành cũ hơn với một SDK mới hơn bằng cách thiết lập cài đặt xây dựng mục tiêu triển khai.
Có một số chi tiết nhỏ mà bạn có thể không nên triển khai các ứng dụng sản xuất được tạo ra bởi một chuỗi công cụ tiền sản xuất. Nhưng một khi phiên bản N được chính thức phát hành, bạn sẽ có thể sử dụng chuỗi công cụ của nó để xây dựng cho N-1, N-2, v.v.
Tôi đã kiểm tra diễn đàn, vì tôi là nhà phát triển iPhone chính thức (trả tiền) nhưng không phát hiện ra bất cứ điều gì liên quan. Tôi biết câu chuyện liên quan đến mẫu, nhưng đây là một hack: Tôi đã yêu cầu thay vì cho một giải pháp chính thức, không phải là một workaround. –
Vấn đề là bạn có thể * hỏi * các câu hỏi về các phiên bản NDA của SDK iPhone trong diễn đàn NDA và yêu cầu họ trả lời trực tiếp, thay vì nói chung. Các câu trả lời chung là 1) sử dụng các mẫu cũ hơn; 2) chỉnh sửa các mẫu mới hơn hoặc 3) thay đổi SDK cơ sở khi tạo dự án mới. – cdespinosa
3.0 sdk hiện đã hết. câu trả lời này đã lỗi thời. – Neo42