2014-12-16 28 views
16

Tôi có một ứng dụng với mục tiêu iOS tối thiểu iOS7.iOS7 và Apple Watch

Tôi đang xem xét thêm một số tính năng bổ sung với đồng hồ quả táo. Có tùy chọn nào để duy trì iOS7 làm mục tiêu tối thiểu và vẫn thêm hỗ trợ cho đồng hồ Apple nếu ứng dụng đang chạy trên iOS 8 không? Một cái gì đó giống như các phần mở rộng/widget của iOS8.

Cảm ơn trước

Trả lời

12

Bạn có thể đặt mục tiêu triển khai của mình thành iOS7.x và đảm bảo bạn xây dựng dựa trên iOS8.2 SDK. Bạn sẽ cần phải đặt các khung làm optional (liên kết yếu) trong cài đặt bản dựng của bạn và thực hiện kiểm tra thời gian chạy để đảm bảo bạn không thử bất kỳ thứ gì với chúng trên thiết bị iOS7.x.

Các khung tùy chọn sẽ giải quyết dưới dạng nil trong ứng dụng mà khung không được liên kết.

+0

Transis để được trợ giúp. Chỉ cần một nghi ngờ, làm thế nào tôi có thể xác nhận nhập khẩu? – DaSilva

+0

Bạn có ý nghĩa gì khi xác thực việc nhập? Ví dụ: – Tim

+0

, tôi có một lớp chỉ tương thích với iOS8. Vì vậy, khi ứng dụng đang chạy tôi xác nhận nếu lớp tồn tại "if ([Example class])". Nhập khẩu nên được thêm vào (#import Example.h), nó sẽ không cho tôi một lỗi khi tôi đang chạy trong iOS7, vì lớp không có sẵn? – DaSilva

3

Vâng, có thể do liên kết yếu WatchKit và thực hiện kiểm tra thời gian chạy nếu các lớp bắt buộc có sẵn. Kiểm tra điều này trên Raywenderlich.

+0

@JAL Họ sẽ không ở trong khuôn khổ? –

+4

Không quan trọng nếu đó là WatchKit hoặc bất kỳ API mới nào khác. Weaklinking + kiểm tra thời gian chạy sẽ cho phép OP triển khai API WatchKit, trong khi vẫn giữ iOS7 làm phiên bản cơ sở. – Andrew

+0

@Andrew Tôi đã sửa chữa, bạn nói đúng. Tôi giả định 'respondsToSelector' sẽ thất bại. Cuộc gọi tốt. – JAL

0

Trong trường hợp của mình, điều duy nhất tôi phải làm là tạo tiện ích mở rộng với Objective-C (Swift không được phép trên một số phiên bản iOS) và hạ cấp phiên bản mục tiêu ứng dụng mở rộng xuống 8.2 thay vì 8.3.

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