2009-03-25 27 views
5

Với phiên bản Xcode và SDK 3.0 beta mới nhất khi bạn tạo một dự án iPhone mới, Xcode tạo một dự án SDK 3.0. Nếu tôi muốn hoàn nguyên về SDK 2.2.1 sau khi dự án đã được tạo, tôi cần thay đổi thứ gì đó trong các tệp mã nguồn được tạo vì một số API đã thay đổi. Có cách nào đơn giản để chỉ định thời gian tạo dự án SDK tôi muốn sử dụng một cách rõ ràng không?Làm cách nào để tạo trong Xcode một dự án iPhone chỉ định thời gian tạo dự án phiên bản SDK mà tôi muốn sử dụng?

Cảm ơn bạn trước

Trả lời

3

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.

+0

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. –

+0

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

+0

3.0 sdk hiện đã hết. câu trả lời này đã lỗi thời. – Neo42

2

Với điều kiện là bạn không sử dụng bất kỳ tính năng mới trong API 3.0, bạn sẽ có thể chọn SDK tích cực từ menu thả xuống ở góc trên bên trái của cửa sổ dự án Xcode của bạn . Chỉ cần chọn "Thiết bị - 2.2.1" hoặc "Trình mô phỏng - 2.2.1"

+0

Lưu ý rằng điều này không thay đổi cài đặt dự án, nhưng chỉ cấu hình hoạt động. Nó vẫn là một lựa chọn hợp lệ cho các cửa hàng một người đàn ông, mặc dù. –

+0

Vâng, tôi biết, nhưng điều này KHÔNG giải quyết được vấn đề: khi đã tạo, các tệp được tạo vẫn chứa API 3.0, phải được thay đổi theo cách thủ công để xây dựng cho 2.2.1 –

1

Xcode mặc định thành SDK mới nhất được cài đặt và tôi không biết bất kỳ phương pháp nào để thay đổi hành vi đó.

Tôi đã tạo thói quen đặt SDK cơ sở thành 2.0 trong thuộc tính dự án ngay sau khi tôi tạo dự án.

+0

Vì vậy, không có hy vọng: mỗi lần tôi tạo một dự án, tôi sẽ luôn luôn (thở dài) cần phải chỉnh sửa thủ công các tệp nguồn được tạo ra để loại bỏ các API chỉ 3.0 để xây dựng cho 2.2.1. Điều này là rất ngu ngốc, và tôi không hiểu tại sao Apple không cung cấp một tùy chọn như vậy. –

+0

Tệp được tạo nào có chứa API 3.0 mà bạn đang đề cập đến? – sigjuice

+0

@unforgiven: AFAIK, các tệp được tạo không chứa mã dành riêng cho phiên bản SDK. Bạn chỉ cần thay đổi thiết lập dự án. –

0

Không theo Apple. Nhận xét về bài đăng của tôi từ Can Berk Güder có thể nói khác đi. Tôi sẽ không đề nghị làm theo ví dụ của ông - đó là một cuộc xổ số hy vọng Apple không thể nhìn thấy những gì bạn đang làm hoặc rằng bạn không phạm lỗi của một lỗi 3.0.

Bạn có thể sử dụng Xcode để xây dựng cho các phiên bản trước của hệ điều hành nhưng nếu bạn cần xây dựng với nhiều SDK, bạn nên cài đặt chúng. Xcode hỗ trợ nhiều cài đặt trên một máy tính và hướng dẫn cài đặt tài liệu cách thực hiện.

Nếu bạn muốn sử dụng SDK 3.0 bạn không thể xây dựng cho OS 2.2.1 và gửi ứng dụng đó đến cửa hàng ứng dụng - theo hướng dẫn của Apple. Họ nói rằng bạn cũng phải cài đặt SDK 2.2.1 và xây dựng với điều đó. Bạn có thể xây dựng 2,2 ứng dụng tương thích nhưng bạn đang sử dụng các công cụ beta có thể giới thiệu lỗi.

Đó là một trong những điều mà bạn có thể làm như một ngoại lệ trí tuệ nhưng, nó không đáng để mạo hiểm cho một ứng dụng thực sự.

+0

Tôi không muốn sử dụng SDK 3.0 để xây dựng cho hệ điều hành 2.2.1: hoàn toàn ngược lại. Tôi muốn sử dụng sdk 3.0 để xây dựng cho OS 3.0 và SDK 2.2.1 để xây dựng cho OS 2.2.1. Và tôi muốn làm điều này bằng cách sử dụng cùng một cài đặt Xcode. Đó là những gì tôi có nghĩa là trong câu hỏi của tôi: vì vậy về cơ bản tôi cần phải cài đặt Xcode một lần nữa –

+0

Điều đó chỉ đơn giản là không đúng sự thật. Tôi đã cài đặt SDK 3.0 và tôi vừa tạo và gửi một Ứng dụng 2.0. –

+0

Xem bài viết blog của tôi về chủ đề này: http://cbg.me/2009/03/some-clarifications-regarding-the-iphone-30-os-sdk/ –

1

Khi sử dụng chuỗi công cụ Beta, bạn nên cài đặt nó cùng với chuỗi công cụ phát hành mới nhất, không thay thế cho nó. Tạo các dự án của bạn trong chuỗi công cụ sản xuất, sau đó mở chúng bằng chuỗi công cụ beta để thực hiện kiểm tra khả năng tương thích.

Bạn sẽ cần chuỗi công cụ phát hành để thực hiện các bản dựng phân phối. Bạn không nên xây dựng để phân phối với một chuỗi công cụ beta.

Các vấn đề liên quan