Hiện tại, chúng tôi có ứng dụng iOS đang được bán và chúng tôi đang phát triển phiên bản iOS 7 trên XCode 5 DP bằng cách sử dụng cùng một cơ sở mã. Chúng tôi thực sự cần phải phát hành bản cập nhật ngay bây giờ cho khách hàng iOS 5/6 hiện tại nhưng, tất nhiên, khi chúng tôi tải lại dự án vào XCode 4, nó phàn nàn về các thuộc tính không tồn tại kể từ khi SDK cơ sở sau đó trở thành iOS6 chứ không phải 7:Viết mã iOS7 biên dịch dựa trên iOS 6 Base SDK
// Only run this bit on iOS 7
if ([self respondsToSelector:@selector(setFooForExtendedLayout:)])
{
self.fooForExtendedLayout = UIFooEdgeLeft | UIFooEdgeRight;
}
float bottomOffset = 0;
// Only run this bit on iOS 7, else leave bottomOffset as 0
if ([self.hostController respondsToSelector:@selector(bottomLayoutFoo)])
bottomOffset = self.hostController.bottomLayoutFoo.length;
(obfuscated để tránh phá vỡ NDA)
XCode lỗi:
tài sản 'fooForExtendedLayout' không tìm thấy trên đối tượng của loại 'UIViewController *'
Sử dụng định danh chưa được khai báo 'UIFooEdgeLeft'
Sử dụng định danh chưa được khai báo 'UIFooEdgeRight'
tài sản 'bottomLayoutFoo' không tìm thấy trên đối tượng của loại 'UIViewController *'
Sẽ là một nỗi đau khi nhận xét mã mới này. Cách chính xác để viết lại nó là tương thích với cả SDK cơ bản cũ và mới, và hiện nay gửi nó (thông qua XCode 4 và được xây dựng dựa trên iOS 6 SDK) có nguy cơ bị loại bỏ App Store không?
Đó là chính xác những gì tôi đang tìm kiếm, nhờ . Cảm ơn bạn đã trả lời phần khác của câu hỏi, tức là chia sẻ các đặt phòng của bạn về việc này. –
Bạn được chào đón ...:) – Macmade