Tôi đã cập nhật ứng dụng của mình lên cú pháp 2.0 nhanh nhất. Khi làm như vậy, ứng dụng watchkit của tôi đã bị hỏng. Vấn đề là ứng dụng watchkit tham chiếu đến một lớp tham chiếu đến khuôn khổ AVFoundation. WatchOS2 rõ ràng bây giờ không còn hỗ trợ một số trong những khuôn khổ tiêu chuẩn:Cách tham chiếu khung không được hỗ trợ trong Hệ điều hành đồng hồ 2
Hỗ trợ cho các hoạt động dựa trên mạng bao gồm các công nghệ sau:
mở rộng WatchKit thể truy cập mạng trực tiếp thông qua một đối tượng NSURLSession. Tiện ích WatchKit có toàn quyền truy cập vào các khả năng của NSURLSession , bao gồm khả năng tải xuống tệp trong nền. Để biết thông tin về cách sử dụng lớp này, hãy xem URL Tải Hướng dẫn lập trình hệ thống. Khung kết nối Đồng hồ hỗ trợ liên lạc hai chiều giữa ứng dụng Đồng hồ của bạn và ứng dụng iOS . Sử dụng khung này để điều phối hoạt động giữa hai ứng dụng. Xem Giao tiếp với Ứng dụng iOS đi kèm của bạn.
Available System Technologies for WatchKit
Vì vậy, bây giờ tôi không thể biên dịch mã bộ đồng hồ là "không có mô-đun như tìm thấy" là một thông báo lỗi khi cố gắng sử dụng khuôn khổ AVFoundation. Làm thế nào tôi có thể nhận được xung quanh này và tiếp tục tham khảo lớp và khuôn khổ trong ứng dụng xem táo của tôi. Tôi có nên liên lạc dữ liệu giữa điện thoại và đồng hồ không? Có cách nào để liên kết khung công tác với tiện ích mở rộng không?
Những gì tôi đang cố gắng làm là những điều sau đây, trong InterfaceController tôi:
override func willActivate() {
super.willActivate()
let defaultsShared = NSUserDefaults(suiteName: "somesharedappgroup")
let defaults = NSUserDefaults.standardUserDefaults()
if let barcodeString = defaultsShared!.objectForKey("barcode") as? String {
if let barcodeContent = RSUnifiedCodeGenerator.shared.generateCode(barcodeString, machineReadableCodeObjectType: AVMetadataObjectTypeCode39Code) {
barcode.setImage(barcodeContent)
label.setText("ID: \(barcodeString)")
} else {
label.setText("Please setup extensions in the settings of SHPID.")
barcode.setImage(nil)
}
} else {
label.setText("Please setup extensions in the settings of SHPID.")
barcode.setImage(nil)
}
}
Các RSUnifiedCodeGenerator
là một lớp học mà sử dụng AVFoundation để tạo ra hình ảnh mã vạch từ chuỗi. Hơn nữa, loại máy phát điện đó là AVObject: AVMetadataObjectTypeCode39Code. Giải pháp này làm việc tốt trong WatchOS đầu tiên, nhưng bây giờ vẫn bị hỏng trong OS 2. Tôi thấy rằng WatchConnectivity có thể là một giải pháp, và có nó chỉ cần vượt qua tôi mã vạch từ điện thoại, nhưng điều đó sẽ yêu cầu tôi ngừng hỗ trợ iOS 8. Điều gì là giải pháp tốt nhất, nếu có, để sử dụng AVFoundation với WatchOS 2. Nếu tôi không thể làm điều đó, làm thế nào khác tôi nên đi về việc chuyển hình ảnh này đến đồng hồ từ điện thoại khi được gọi. Cảm ơn.