Với iOS4 sắp ra mắt, tôi đã có kế hoạch đưa iAd vào bản cập nhật trong tương lai của ứng dụng của tôi. Tôi giả định rằng điều này sẽ làm cho ứng dụng của tôi không sử dụng được đối với bất kỳ ai trên một chương trình cơ sở thấp hơn 4.0. Có cách nào để thay đổi các biến đó và tệp .xib dựa trên chương trình cơ sở của người dùng không? Chúc mừng.Làm thế nào để Ứng dụng iPhone tương thích với nhiều phiên bản SDK (firmware)
Trả lời
Có, bạn có thể tạo bằng SDK mới nhất (ví dụ: 5.1) và vẫn chạy trên các thiết bị có phiên bản phần mềm cơ sở (SDK) trước đó.
- Đặt mục tiêu triển khai của bạn thành phiên bản sớm nhất bạn muốn có thể chạy, ví dụ: 3.0.
- Bạn đặt SDK cơ sở của mình thành phiên bản mới nhất mà bạn đang biên dịch, ví dụ: 5.0. Bằng cách này bạn có thể tham khảo các định nghĩa và ký hiệu mới hơn trong mã của bạn. Bài viết này "SDK and Deployment Targets" thảo luận chi tiết về Deployment vs Base SDK.
- Liên kết yếu đến các thư viện/khung với các biểu tượng chỉ khả dụng trong iOS mới hơn. Điều này là để ứng dụng của bạn chạy trên một thiết bị không có các biểu tượng mới hơn.
- Bạn phải check to see that a newer method is available trước khi gọi. Bạn phải đảm bảo không gọi phương thức là 5.0 hoặc 4.X chỉ khi ứng dụng của bạn sử dụng thiết bị < 4.0. Tất nhiên bạn phải xử lý một cách duyên dáng làm việc trên các phiên bản cũ hơn bằng cách sử dụng các phương thức cũ hơn hoặc không hỗ trợ các tính năng cụ thể cần hỗ trợ SDK mới hơn.
- MỚI w/XCode 4.2: Để hỗ trợ các thiết bị cũ hơn, bạn cần phải add armv6 để xây dựng kiến trúc vàremove armv7 từ plist của khả năng thiết bị cần thiết.
Xem các SO câu hỏi và câu trả lời để biết thêm chi tiết:
Vậy điều gì sẽ xảy ra với các phương pháp của đại biểu iAd ?? Họ sẽ báo lỗi? –
Có, họ sẽ báo lỗi. Bạn không thể hiển thị iAd trên bất kỳ thứ gì thấp hơn iOS 4. Bạn sẽ cần phải thực hiện một số loại kiểm tra ifdef có điều kiện để iAd không cố gắng hiển thị trên iOS 3.x – JonB
"Liên kết yếu đến các thư viện/khung công tác có biểu tượng chỉ khả dụng trong iOS mới hơn ". Câu lệnh của bạn dường như chỉ ra rằng một liên kết yếu nên liên kết với Foundation và UIKit, v.v. vì chúng cũng chứa một số biểu tượng chỉ khả dụng trên iOS – user102008
Đây là một câu hỏi tuyệt vời! Tuy nhiên, nếu tôi có khả năng, tôi sẽ chỉnh sửa tiêu đề, một số. Câu hỏi & trả lời là CHÍNH XÁC những gì tôi muốn, nhưng tôi đã đến đây bằng một liên kết từ một liên kết từ câu hỏi mà tôi nghĩ ban đầu có thể là một liên kết phù hợp (không phải.) Đề nghị: "Cách làm cho iPhone App tương thích với các SDK trước đó "hoặc tương tự. – Olie