2014-10-09 25 views
7

Tôi đang sửa đổi ứng dụng phát hiện thiết bị qua Bluetooth BLE để vẽ các giá trị vào biểu đồ. Tất cả hoạt động tốt (nhờ sự giúp đỡ của một trong các bạn trong tuần qua). Ứng dụng ban đầu được viết bởi chồng tôi một thời gian trước và trong quá trình khám phá của thiết bị, ông đã sử dụng kiểm tra mã như:iOS UUID không dùng nữa lõibluetooth

NSLog(@" Failed to Connect to Peripheral : %@ with UUID: %@ ", peripheral, peripheral.UUID); 

hoặc

NSLog(@" Connected to Peripheral : %@ with UUID: %@ ", peripheral, peripheral.UUID); 

Phía trước của mỗi dòng (và một số thông tin khác) Tôi nhận được thông báo cảnh báo rằng UUID không được dùng nữa: lần đầu tiên không được dùng nữa trong ios 7.0 Từ lâu rồi, tôi cố gắng tìm hiểu những gì nó đã được thay thế, nhưng trên Google, nó không giống như những người khác có cùng một vấn đề và khi tôi truy cập Tài liệu Apple: here

không có đề cập đến việc nó không được chấp nhận.

Tôi không hiểu ...

Ai đó có thể vui lòng trợ giúp? Cảm ơn

EDIT: BỔ SUNG MỘT SỐ INFO

Đây là những gì tôi nhận được trên máy tính của tôi trên console

enter image description here

+0

Dường như bạn có kéo lên thuộc tính 'UUID' sai. Thuộc tính 'UUID' của' CBPeripheral' không được dùng nữa là 7.0. https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBPeripheral_Class/index.html#//apple_ref/occ/instp/CBPeripheral/UUID –

+0

Ian, HI. Ok, vậy tôi phải thay thế bằng cái gì?Tôi đã thêm một hình ảnh để hiển thị cho bạn những gì tôi nhận được trong bảng điều khiển – Clararhea

+0

Tôi xin lỗi; Tôi không thể giúp bạn nhiều hơn thế. (Đó là lý do tại sao tôi đăng một bình luận thay vì cung cấp một câu trả lời.) Các tương tác CoreBluetooth duy nhất mà tôi đã liên quan đến iBeacons, không phải là thiết bị Bluetooth chung. –

Trả lời

15

Cập nhật

Tôi đã hai lần kiểm tra và tài sản UUID trên CBPeer cũng không được chấp nhận.

Từ các tài liệu trong Xcode tôi thấy -

Tuyên Bố Deprecation
Sử dụng thuộc tính định danh thay thế.

Và nếu bạn sử dụng peripheral.identifier.UUIDString bạn sẽ không nhận được cảnh báo không dùng nữa.

+0

Tôi biết làm thế nào để đúc một vài điều, nhưng đó là một bí ẩn đối với tôi. Làm thế nào bạn sẽ làm điều đó, xin vui lòng? – Clararhea

+0

Tôi nhận ra câu trả lời ban đầu của tôi là không chính xác anyway một khi tôi thực sự có trước Xcode - Tôi đã cập nhật nó – Paulw11

+0

Tôi nghĩ rằng tôi đã thêm một bình luận đêm qua để cảm ơn bạn nhưng có vẻ như đã biến mất. – Clararhea

3

Vì vậy, chỉ trong trường hợp ai đó đọc nội dung này: Đây là cách tổng quát để tìm hiểu xem nên sử dụng những gì để sử dụng thay vì cuộc gọi API không được chấp nhận.
1) Đánh dấu cuộc gọi không được chấp nhận
2) Nhấp chuột phải "Chuyển đến định nghĩa"
3) Đọc nội dung ở đó.

Trong trường hợp của UUID được hỏi ở đây, câu trả lời sẽ là 2 dòng dưới đây:

@property (readonly, nonatomic) NSUUID *identifier NS_AVAILABLE(NA, 7_0); 
2

Bạn có thể truy cập dịch vụ UUID bởi CBAdvertisementDataServiceUUIDsKey trong advertisementData trong

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI 
Các vấn đề liên quan