2011-08-15 31 views
8

Tôi muốn xây dựng một ứng dụng OSX sẽ sử dụng một số tính năng mới của SDK 10.7 (cụ thể hơn là mua hàng trong ứng dụng). Tuy nhiên tôi không muốn ngăn chặn hoàn toàn 10.6 người dùng cài đặt ứng dụng.Cách gửi ứng dụng OSX 10.7 tương thích với 10.6?

Làm cách nào để có 10,7 người dùng có quyền truy cập vào các tính năng mới và 10.6 người dùng chỉ đơn giản là không có các tính năng mới nhưng vẫn có thể sử dụng các công cụ cơ bản?

Khi tôi biên dịch cho 10.6, nó không tải SDK có "InApp", như mong đợi. Và tôi cho rằng nếu tôi biên dịch cho 10,7 người dùng sẽ không thể cài đặt nó từ AppStore.

Trả lời

2

Bạn có thể sử dụng một trong these phương pháp để xác định phiên bản hệ điều hành của người dùng, sau đó nếu họ đang chạy Lion, chạy mã, nếu họ không không chạy nó (sử dụng một câu lệnh if)

Sửa : Bạn cũng sẽ phải liên kết yếu khuôn khổ storekit

0

Bạn có thể tạo một gói có thể tải và cung cấp 10.7 tính năng không? Ứng dụng thực của bạn có thể kiểm tra xem hệ điều hành nào đang chạy dưới và không tải gói 10.7. Tôi không biết nếu điều này sẽ làm việc vì nó sẽ không phải là không hợp lý cho một gói 10,7-SDK để từ chối tải trong một ứng dụng SDK 10.6.

Một khả năng khác có thể là có hai ứng dụng dưới mui xe và có một ứng dụng vỏ rất nhỏ (thậm chí có thể là tập lệnh) phát hiện hệ điều hành máy chủ và thực thi thực thi đúng hệ điều hành.

+0

Các phương pháp đó có tương thích với việc gửi AppStore không? –

+0

Xin lỗi ... Tôi không biết. Tôi không biết chi tiết về trình độ AppStore. Tôi chỉ đang cố nghĩ qua các vấn đề kỹ thuật chứ không phải là vấn đề kinh doanh/chính trị. –

1

Không chắc chắn nếu điều này giúp, nhưng đối với phiên bản mới hơn của API (ví dụ như đối với Lion chỉ) tôi chỉ sử dụng một IF tuyên bố với respondToSelector:

Đây là một trong theo cách mà Apple đề xuất và bạn không cần phải hiểu lầm về một hệ điều hành cụ thể trong thời gian chạy.

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