2015-07-02 20 views
6

Xin chào, tôi đang viết Ứng dụng thể dục có ứng dụng Dữ liệu từ ứng dụng Sức khỏe của Apple.Bỏ qua các mục nhập thủ công từ ứng dụng Apple Health làm Nguồn dữ liệu

Cho đến nay rất tốt.

Sự cố: trong ứng dụng Health, bạn có thể thực hiện các mục nhập dữ liệu theo cách thủ công để có thể lừa đảo.

Câu hỏi: làm cách nào để loại trừ hoặc bỏ qua mục nhập dữ liệu cụ thể này.

Chỉ dữ liệu với "Nguồn: Health" nên tôi vẫn có thể đọc dữ liệu từ trình theo dõi Thể dục ngẫu nhiên.

+0

Về cơ bản, bạn có thể sử dụng HKQuery để giới hạn tìm kiếm đối với một ứng dụng nhất định, xem phương pháp này trên nguồn dữ liệu predicateForObjectsFromSource: (HKSource *) của HKQuery + (NSPredicate *); – Sandeep

Trả lời

11

mẫu trong HealthKit được tự nhập vào bởi người sử dụng sẽ phải có một giá trị YES cho phím HKMetadataKeyWasUserEntered siêu dữ liệu. Để tạo một vị phù hợp với chỉ mẫu mà là không do người dùng nhập vào, bạn có thể làm sử dụng như sau:

[NSPredicate predicateWithFormat:@"metadata.%K != YES", HKMetadataKeyWasUserEntered]; 

Lưu ý rằng điều này phải được xây dựng như value != YES vì giá trị cho khóa có thể là YES, NO hoặc nil và nil ngụ ý KHÔNG.

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