sách gpt4 ăn đã đi

Cách kết nối, điều khiển và truyền dữ liệu giữa iPhone và iWatch (Swift)

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này bàn về các phương thức kết nối, kiểm soát và truyền dữ liệu (Swift) giữa iPhone và iWatch được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm tới bài viết này thì nhớ like nhé.

Gần đây tôi đang thực hiện một dự án liên quan đến việc chuyển dữ liệu giữa thiết bị iPhone và đồng hồ và điều khiển các bước nhảy giao diện của nhau. Tôi đã tìm kiếm rất nhiều thông tin trên Internet và thấy rằng các trang web trong nước cũng không giới thiệu nhiều về khía cạnh này, còn các trang web nước ngoài thì không. chưa đầy đủ nên tôi viết bài này ở đây để các bạn tham khảo. Tôi hy vọng Chúa có thể cho tôi một số lời khuyên.

      Không cần phải nói nhiều về việc ghép nối iPhone và iWatch. Trên tìm kiếm của Baidu có rất nhiều câu trả lời.

      Có hai tình huống để mã để iPhone tương tác với iWatch, tùy thuộc vào hệ thống iWatch. Phương thức của iWatch OS1 khác với OS2 và 3. Trong hệ thống OS1, mã để iWatch gửi dữ liệu như sau.

?
1
2
3
hãy để userInfo:[String:String] = [ "chìa khóa" : "giá trị" ]
WKInterfaceController.openParentApplication(userInfo) { (replyInfo, error) -> Void trong
}

      Chức năng này dùng để gửi và nhận tin nhắn cùng lúc. Câu trả lời nhận được từ iPhone là replyInfo. Trong AppDelegate trên iPhone, mã nhận tin nhắn:

?
1
2
func application(application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) -> Void)!) {
}

      Tin nhắn nhận được là userInfo và dữ liệu được trả về iWatch là tin nhắn trả lời.

      Đoạn mã trên chỉ áp dụng cho watchOS1. Các hệ thống sau này sẽ không có API này. Đối với OS2 hoặc OS3, framework được sử dụng là WatchConnectivity. Ở đây, tôi sẽ trực tiếp cung cấp lớp tôi đã viết và đưa ra phần giới thiệu cũng như phương pháp sử dụng. mã và viết các chức năng của riêng bạn nơi tôi đã nhận xét.

Đây là mã dành cho iPhone:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
nhập khẩu UIKit
nhập khẩu XemKết nối
lớp học IwatchSessionUtil: NSObject, WCSessionDelegate {
   // đơn lẻ tĩnh
   tĩnh hãy để shareManager = IwatchSessionUtil()
   //khởi tạo
   riêng tư ghi đè init()
   {
     siêu .nhiệt()
   }
   // cơ chế kết nối
   riêng tư hãy để phiên: WCSession? = WCSession.isSupported() ? WCSession. mặc định () : không có
   //Kích hoạt đối tượng cơ chế
   hàm startSession(){
     phiên?.delegate = tự
     phiên?.kích hoạt()
   }
   // Phát hiện ứng dụng đồng hồ
   func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Lỗi?) {
     in( "Việc khớp AppleWatch đã hoàn tất" )
   }
   // Bắt đầu truyền dữ liệu tới Watch
   chức năng sessionDidBecomeInactive(_ session: WCSession) {
   }
   // Quá trình truyền dữ liệu hoàn tất
   hàm sessionDidDeactivate(_ session: WCSession) {
   }
   // Bên đồng hồ gửi dữ liệu, iPhone nhận dữ liệu và trả lời bằng dữ liệu.
   // tin nhắn: tin nhắn được gửi từ phía đồng hồ
   // replyHandler: iPhone trả lời tin nhắn trước đây
   func session(_ session: WCSession, didReceiveMessage message: [Chuỗi: Bất kỳ], replyHandler: @thoát khỏi ([Chuỗi: Bất kỳ]) -> Không) {
     // Tại đây, khi nhận được dữ liệu do đồng hồ gửi, chúng ta có thể sử dụng proxy, khối mã hoặc trung tâm thông báo để chuyển giá trị cho ViewController và thực hiện một loạt thao tác.
     // Ghi chú! ! : Bên đồng hồ gửi thông tin và iPhone trả lời trực tiếp replyHandler([String: Any]) (replyHandler(data)) trong chức năng này để phản hồi tương ứng với chức năng gửi dữ liệu bên đồng hồ có thể nhận dữ liệu Đừng làm theo chức năng sendMessage. Nếu bạn sử dụng sendMessage để trả lời thì thông tin nhận được ở phía đồng hồ là chức năng của didReceiveMessage.
   }
   // iPhone gửi dữ liệu tới watch
   // key: giá trị key của dữ liệu
   // giá trị: nội dung dữ liệu
   func sendMessageToWatch(key:String,value:Any) {
     phiên?.sendMessage([key : value], replyHandler: { (dict:Dictionary) trong
     // Dưới đây là các thao tác sau khi gửi dữ liệu, chẳng hạn như viết cảnh báo để cho biết việc gửi thành công.
   // replyHandler là nội dung mà hàm didReceiveMessage ở phía đồng hồ trả lời sau khi nhận được tin nhắn. Bạn có thể chỉnh sửa các chức năng mình cần tại đây.
     }, errorHandler: { (Lỗi) trong
       // Không gửi được, thường là do Bluetooth chưa được bật hoặc điện thoại đang ở chế độ trên máy bay
     })
   }
}

Phương thức gọi:

1. Trước tiên hãy thêm mã vào hàm didFinishLaunchingWithOptions của AppDelegate của iPhone.

IwatchSessionUtil.shareManager.startSession() đảm bảo rằng WCSession có thể khớp với Ứng dụng ở phía đồng hồ.

              2. Gửi tin nhắn: Chỉ cần gọi phương thức IwatchSessionUtil.shareManager.sendMessageToWatch(key:, value:). Sau khi gửi, thao tác sau khi nhận được phản hồi từ phía đồng hồ có thể được chỉnh sửa trực tiếp trong hàm lớp sendMessage.

              3. SendMessage ở phía đồng hồ gửi thông tin đến iPhone và didReceiveMessage ở phía iPhone nhận được thông tin. Một loạt thao tác đã được nhận xét ở trên.

Bây giờ phần giới thiệu về phía iPhone đã hoàn tất, chúng ta hãy viết code cho phía đồng hồ. Thực ra nó không khác gì phía iPhone chỉ là viết ra phần này cho đầy đủ thôi.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
nhập khẩu Bộ theo dõi
nhập khẩu XemKết nối
lớp học WatchSessionUtil: NSObject, WCSessionDelegate {
   // đơn lẻ tĩnh
   tĩnh hãy để sharedManager = WatchSessionUtil()
   // khởi tạo
   riêng tư ghi đè init()
   {
     siêu .nhiệt()
   }
   // cơ chế kết nối
   riêng tư hãy để phiên: WCSession? = WCSession.isSupported() ? WCSession. mặc định () : không có
   // Cơ chế kích hoạt
   hàm startSession(){
     phiên?.delegate=self
     phiên?.kích hoạt()
   }
   //Phát hiện ứng dụng gốc của iPhone
   func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Lỗi?) {
   }
   // Nhận thông tin gửi từ iPhone
   // tin nhắn: tin nhắn được gửi từ iPhone
   // replyHandler: nội dung của đồng hồ trả lời iPhone
   func session(_ session: WCSession, didReceiveMessage message: [Chuỗi: Bất kỳ], replyHandler: @thoát khỏi ([Chuỗi: Bất kỳ]) -> Không) {
     // Tại đây, bạn cũng có thể gửi thông báo đến InterfaceController thông qua trung tâm thông báo để thực hiện các thao tác trên trang. Bạn có thể tự do sử dụng bất kỳ phương thức nào. Lưu ý: Nó được đề cập trong mã iPhone. Nó có các thuộc tính tương tự và sẽ không được viết ở đây.
   }
   //Gửi thông tin tới iPhone
   func sendMessage(key:String, value:Any){
     phiên?.sendMessage([key : value], replyHandler: { (trả lời: [Chuỗi : Bất kỳ]) trong
       // Sau khi tin nhắn được gửi đi, thao tác nhận phản hồi từ iPhone
     }, errorHandler: { (Lỗi) trong
       // Gửi không thành công
     })
   }
}

Lớp đồng hồ được thêm vào thư mục Tiện ích mở rộng và phương thức được gọi:

1. Viết WatchSessionUtil.sharedManager.startSession() vào hàm applicationDidFinishLaunching của tệp ExtensionDelegate.

2. Gửi tin nhắn: Chỉ cần gọi phương thức IwatchSessionUtil.shareManager.sendMessageToWatch(key: , value: ). Sau khi gửi, thao tác sau khi nhận được phản hồi từ phía iPhone có thể được chỉnh sửa trực tiếp trong hàm lớp sendMessage.

3. SendMessage ở phía iPhone gửi thông tin đến đồng hồ và didReceiveMessage ở phía đồng hồ nhận thông tin. Một loạt thao tác đã được nhận xét ở trên.

Trên đây là phương pháp mà biên tập viên giới thiệu với các bạn về kết nối, điều khiển và truyền dữ liệu (Swift) giữa iPhone và iWatch. Hy vọng nó sẽ hữu ích với các bạn nếu có thắc mắc vui lòng để lại tin nhắn cho mình. biên tập viên sẽ trả lời bạn kịp thời. Tôi cũng xin cảm ơn mọi người đã ủng hộ trang web của tôi! .

Liên kết gốc: http://www.cnblogs.com/qian-gu-ling/p/6638982.html.

Cuối cùng, bài viết về phương thức kết nối, điều khiển và truyền dữ liệu (Swift) giữa iPhone và iWatch kết thúc tại đây. Nếu bạn muốn biết thêm về phương thức kết nối, điều khiển và truyền dữ liệu (Swift) giữa iPhone và iWatch, vui lòng Tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

30 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress