2015-04-19 15 views

Trả lời

6

Bạn không thể sử dụng:

use_frameworks!

với iOS7.

+1

Vì vậy, để làm cho nó rõ ràng, điều này có nghĩa rằng bạn không thể xây dựng một dự án hỗ trợ iOS 7+ trong Swift bằng cách sử dụng CocoaPods, phải không? –

14

Không, không. use_frameworks! bật hỗ trợ Swift bằng cách tạo mã của bạn trong dynamic frameworks mới. Khung động chỉ hỗ trợ iOS 8. Thật không may, vì bạn không thể sử dụng Swift trong các thư viện tĩnh (cách trước đây là CocoaPods kèm theo thư viện), đây là cách duy nhất để gộp các tệp Swift.

4

CẬP NHẬT: Hóa ra, bạn thực sự có thể triển khai khung động trên iOS 7. Không qua Cocoapod, có thể, mặc dù vậy. Hướng dẫn (cảm ơn, @ user102008!): Deploying a Containing App to Older Versions of iOS. Bản cập nhật này không thực sự trả lời câu hỏi gốc, nhưng nó đã được thêm vào để làm rõ câu trả lời cũ của tôi dựa trên một thông tin mới.


Lưu ý rằng, tôi tin rằng, đủ quan trọng để là câu trả lời. Khung động thực sự được hỗ trợ trên iOS 7 và bạn có thể chạy mã bằng cách sử dụng khung động trên thiết bị iOS 7. Tuy nhiên iOS 7 không hỗ trợ khung công tác bên thứ ba được mã hóa công bằng. Và vì lý do đó nếu bạn cố gắng gửi một ứng dụng cho iOS7 bằng cách sử dụng các khung động tới iTunesConnect, nó sẽ bị từ chối (one prooflink).

Tôi nghĩ rằng điều đó rất quan trọng, vì có vẻ như nó hoạt động, nhưng không. Và nếu bạn bỏ qua cảnh báo, bạn có thể gặp phải vấn đề quá muộn, khi một nửa dự án đã có trong Swift.

Chúng tôi đã gặp sự cố này khi chúng tôi bắt đầu phát triển nhóm riêng của mình. Dự án được biên soạn và chạy tốt trên iOS 7. Điều tốt là chúng tôi đã nghiên cứu thêm về vấn đề này.

+1

"nếu bạn cố gắng gửi ứng dụng cho iOS7 bằng cách sử dụng khung động tới iTunesConnect, nó sẽ bị từ chối" Không đúng là ứng dụng được gửi cho cửa hàng ứng dụng nhắm mục tiêu iOS 7 không thể có khung động. Có, nó sẽ bị từ chối nếu ứng dụng liên kết với khung động tại thời gian xây dựng. Nhưng [Apple cung cấp hướng dẫn] (https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW3) để biết cách không liên kết nó tại thời gian xây dựng nhưng tự động liên kết nó vào thời gian chạy bằng cách sử dụng 'dlopen' chỉ khi chạy trên iOS 8+. – user102008

+0

@ user102008 Cảm ơn! Tôi không biết điều đó. Tốt để biết. Tôi đã cập nhật câu trả lời để bao gồm thông tin này. – FreeNickname

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